Linux-admin-resource-mgmt-with-systemctl

提供:Dev Guides
移動先:案内検索

Linux Admin-systemctlを使用したリソース管理

*_systemctl_* はsystemdを制御するために使用されるユーティリティです。 systemctlは、CentOS管理者にsystemdで多数の操作を実行する機能を提供します。
  • システム化されたユニットを構成する
  • systemd untisのステータスを取得します
  • サービスの開始と停止
  • ランタイムなどのsystemdサービスを有効/無効にします。

_systemctl_のコマンド構文は非常に基本的ですが、スイッチとオプションが絡む可能性があります。 CentOS Linuxの管理に必要な_systemctl_の最も重要な機能を紹介します。

Basic systemctl syntax:
systemctl [OPTIONS] COMMAND [NAME]

以下は、_systemctl_で使用される一般的なコマンドです-

  • 開始
  • stop
  • 再起動
  • リロードする
  • 状態
  • アクティブです
  • リスト単位
  • 有効にする
  • 無効にする
  • cat
  • show

systemctlで_start stop reload restart enable disable_について既に説明しました。 それでは、残りの一般的に使用されるコマンドを見ていきましょう。

状態

その最も単純な形式では、statusコマンドを使用して、全体としてシステムの状態を確認することができます-

[root@localhost rdc]# systemctl status
 ● localhost.localdomain
  State: running
  Jobs: 0 queued
  Failed: 0 units
  Since: Thu 2017-01-19 19:14:37 EST; 4h 5min ago
CGroup:/
       ├─1/usr/lib/systemd/systemd --switched-root --system --deserialize 21
       ├─user.slice
       │ └─user-1002.slice
       │   └─session-1.scope
       │     ├─2869 gdm-session-worker [pam/gdm-password]
       │     ├─2881/usr/bin/gnome-keyring-daemon --daemonize --login
       │     ├─2888 gnome-session --session gnome-classic
       │     ├─2895 dbus-launch --sh-syntax --exit-with-session

上記の出力は要約されています。 実際には、_systemctl status_は約100行のツリー化されたプロセスステータスを出力します。

ファイアウォールサービスのステータスを確認したいとしましょう-

[root@localhost rdc]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2017-01-19 19:14:55 EST; 4h 12min ago
 Docs: man:firewalld(1)
Main PID: 825 (firewalld)
CGroup:/system.slice/firewalld.service
       └─825/usr/bin/python -Es/usr/sbin/firewalld --nofork --nopid

ご覧のとおり、ファイアウォールサービスは現在アクティブであり、4時間以上使用されています。

リスト単位

list-unitsコマンドを使用すると、特定のタイプのすべてのユニットをリストできます。 _systemd_によって管理されているソケットを確認しましょう-

[root@localhost]# systemctl list-units --type=socket
UNIT                         LOAD     ACTIVE     SUB     DESCRIPTION
avahi-daemon.socket          loaded   active  running    Avahi mDNS/DNS-SD Stack Activation Socket
cups.socket                  loaded   active  running    CUPS Printing Service Sockets
dbus.socket                  loaded   active  running    D-Bus System Message Bus Socket
dm-event.socket              loaded   active  listening  Device-mapper event daemon FIFOs
iscsid.socket                loaded   active  listening  Open-iSCSI iscsid Socket
iscsiuio.socket              loaded   active  listening  Open-iSCSI iscsiuio Socket
lvm2-lvmetad.socket          loaded   active  running    LVM2 metadata daemon socket
lvm2-lvmpolld.socket         loaded   active  listening  LVM2 poll daemon socket
rpcbind.socket               loaded   active  listening  RPCbind Server Activation Socket
systemd-initctl.socket       loaded   active  listening /dev/initctl Compatibility Named Pipe
systemd-journald.socket      loaded   active  running    Journal Socket
systemd-shutdownd.socket     loaded   active  listening  Delayed Shutdown Socket
systemd-udevd-control.socket loaded   active  running    udev Control Socket
systemd-udevd-kernel.socket  loaded   active  running    udev Kernel Socket
virtlockd.socket             loaded   active  listening  Virtual machine lock manager socket
virtlogd.socket              loaded   active  listening  Virtual machine log manager socket

それでは、現在実行中のサービスを確認しましょう-

[root@localhost rdc]# systemctl list-units --type=service
UNIT                      LOAD     ACTIVE     SUB     DESCRIPTION
abrt-ccpp.service         loaded   active   exited    Install ABRT coredump hook
abrt-oops.service         loaded   active   running   ABRT kernel log watcher
abrt-xorg.service         loaded   active   running   ABRT Xorg log watcher
abrtd.service             loaded   active   running   ABRT Automated Bug Reporting Tool
accounts-daemon.service   loaded   active   running   Accounts Service
alsa-state.service        loaded   active   running   Manage Sound Card State (restore and store)
atd.service               loaded   active   running   Job spooling tools
auditd.service            loaded   active   running   Security Auditing Service

アクティブです

_is-active_コマンドは、ユニットのステータス情報を返すように設計されたsystemctlコマンドの例です。

[root@localhost rdc]# systemctl is-active ksm.service
active

cat

_cat_は、めったに使用されないコマンドの1つです。 シェルでcatを使用してユニットファイルへのパスを入力する代わりに、_systemctl cat_を使用します。

[root@localhost]# systemctl cat firewalld
#/usr/lib/systemd/system/firewalld.service
[Unit]
Description=firewalld - dynamic firewall daemon
Before=network.target
Before=libvirtd.service
Before = NetworkManager.service
After=dbus.service
After=polkit.service
Conflicts=iptables.service ip6tables.service ebtables.service ipset.service
Documentation=man:firewalld(1)

[Service]
EnvironmentFile = -/etc/sysconfig/firewalld
ExecStart =/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS
ExecReload =/bin/kill -HUP $MAINPID
# supress to log debug and error output also to/var/log/messages
StandardOutput = null
StandardError = null

Type = dbus
BusName = org.fedoraproject.FirewallD1

[Install]
WantedBy = basic.target
Alias = dbus-org.fedoraproject.FirewallD1.service

[root@localhost]#

_systemd_と_systemctl_の両方をさらに詳しく調べたので、それらを使用して_cgroups_または_control groups_のリソースを管理しましょう。