CentOS 7/systemdについて


インストール諸設定データーベースWeb(apache)Mailetc
前書き
インストール
SSH(設定変更)
firewalld設定(ファイヤーウォール)
SELinux設定
起動レベル設定
NTP(時刻同期)
パッケージアップデート
リソース割り当て変更
logwatch設定
systemdについて
syslog(journal)について
追加パッケージインストール
MariaDB 5.5
(MySQL代替DB)
MySQL 5.7
Redis
mongoDB
apache 2.4
-httpd.conf
-Virtual Host
-mod_spdy
-mod_fcgid
Postfix 2.10
dovecot 2.2
VirtualBox
samba
Munin
ClamAV
rsyncによるバックアップ
Git
svn
memcached
Fluentd(td-agent)
DNSSSLPHPWeb(nginx)FTP
bind(内向け用)
Unbound
NSD
秘密鍵・証明書作成PHP 5.4
 -php-apc
 -ffmpeg
 -memcached
PHP 5.6
 -php-apcu
 -memcached
PHP 7.0
 -php-apcu
 -memcached
PHP 7.1
 -php-apcu
 -memcached
nginx
-インストール(rpm)
-インストール(ソース)
-Webサーバー設定
-リバースプロキシサーバー設定
-ラウンドロビン設定
vsftpd 3.0.2

準備中

前書き

今まではシェルスクリプトで各種サービスの起動が管理(SysVinit)されていました。
(従来の chkconfig コマンド、 /etc/init.d/ に相当する内容)
CentOS 7 より systemd によって管理されるようになりました。
ここでは主要な処理について抜粋して記載します。
もっと詳しく知りたい方は 参考 に記載しましたサイトを参照して下さい。


Unit について

systemd を扱うにあたって Unit を知ることから始める必要があります。
拡張子によって種別が分けられます。

拡張子名称内容
deviceデバイスディスクデバイス
mountマウントポイントマウントするファイルシステム
serviceサービスサービスの起動
swapスワップスワップ領域
targetターゲット複数Unitをグループ化

定義ファイルは /usr/lib/systemd/system で管理されます。
個別に追加、修正されるものは /etc/systemd/system に配置されます。
よって優先順位は /etc/systemd/system > /usr/lib/systemd/system となります。

注意
/usr/lib/systemd/system 下にある unit ファイルは編集しないようにします。
修正が必要な場合は /etc/systemd/system にコピーしそのファイルを修正するようにします。


target について

systemd では従来のランレベルという指定がありません。
その代わりに前述した表に記載されている target が用いられます。
この target の指定を使って、どの起動時に使用するか設定するようになっています。

target名内容ランレベルでの指定番号
(以前までの指定方法)
poweroff.targetシステム停止0
rescue.targetシングルユーザモード1
multi-user.targetマルチユーザモード(CUI)3
graphical.targetマルチユーザ(GUI)5
reboot.target再起動6
emergency.target緊急シェル-

この target 指定は各 Unit ファイル内に [Install] セクションとして存在しています。
指定方法は

WantedBy=(target名)

で記述します。

target の変更(従来のランレベル変更処理)

稼働している target を変更する場合は下記のコマンドで行えます。

# systemctl isolate (target名) (unit名)


unit の変更反映

unit を追加・修正した場合、再読み込みをさせて反映させる必要があります。
このコマンドを実行しなければ systemd に反映されません。

# systemctl daemon-reload


コマンド

Unit に対してオペレーションを行う際は systemctl コマンドを使用します。

書式

systemctl [OPTIONS...] COMMAND [NAME...]
Unit コマンド内容
startUnit の開始
stopUnit の停止
reload指定した Unit の設定ファイル再読み込み
reload に対応している場合のみ
restart起動中の 指定した Unit の再起動
指定した Unit が停止中の場合は起動を行う
try-restart起動中の指定した Unit の再起動
指定した Unit が停止中の場合は起動しない
reload-or-restart指定した Unit が reload 対応している場合 reload する。
reload に対応していない場合 restart のみ
指定した Unit が停止中の場合は起動を行う
reload-or-try-restartreload-or-restart と同様だが、停止中の場合は起動を行わない
kill指定した Unit へシグナルを送信
デフォルトでは SIGTERM
--signal=[シグナル名] を指定することでシグナル変更が可能


Unit の一覧

# systemctl list-unit-files

サービス起動

# systemctl start (サービス名).service

サービス停止

# systemctl stop (サービス名).service

サービス状態確認

# systemctl status (サービス名).service

自動起動の設定

# systemctl enable (サービス名).service

自動起動解除の設定

# systemctl disable (サービス名).service

systemdのリロード

# systemctl daemon-reload

サーバーのシャットダウン(従来通り shutdown コマンドは利用可能)

# systemctl poweroff

サーバーの再起動

# systemctl reboot

その他のシステムコマンド

  • default
  • rescue
  • emergency
  • halt
  • poweroff
  • reboot
  • kexec
  • exit
  • suspend
  • hibernate
  • hybrid-sleep
  • switch-root ROOT [INIT]


参考



Last-modified: 2015-04-23 (木) 18:05:00 (1250d)