第38章 systemd ネットワークターゲットおよびサービス
NetworkManager は、システムの起動時にネットワークを設定します。ただし、root ディレクトリーが iSCSI デバイスに保存されている場合など、リモートルート (/) で起動すると、RHEL が起動する前に、ネットワーク設定が初期 RAM ディスク (initrd
) に適用されます。たとえば、rd.neednet=1
を使用してカーネルコマンドラインでネットワーク設定を指定すると、リモートファイルシステムのマウントに設定を指定すると、ネットワーク設定が initrd
に適用されます。
RHEL は、ネットワーク設定を適用する間に、network
および network-online
ターゲットと NetworkManager-wait-online
サービスを使用します。また、これらのサービスを動的にリロードできない場合には、ネットワークが完全に利用可能になった後に systemd
サービスを起動するように設定できます。
38.1. systemd ターゲット network と network-online の違い
Systemd は、ターゲットユニット network
および network-online
を維持します。NetworkManager-wait-online.service
などの特殊ユニットは、WantedBy=network-online.target
パラメーターおよび Before=network-online.target
パラメーターを持ちます。有効にすると、このようなユニットは network-online.target
で開始し、一部の形式のネットワーク接続が確立されるまでターゲットに到達させるよう遅延します。ネットワークが接続されるまで、network-online
ターゲットが遅延します。
network-online
ターゲットはサービスを開始します。これにより、実行の遅延が大幅に増加します。Systemd は、このターゲットユニットの Wants
パラメーターおよび After
パラメーターの依存関係を、$network
ファシリティーを参照する Linux Standard Base (LSB) ヘッダーを持つすべての System V(SysV) init
スクリプトサービスユニットに自動的に追加します。LSB ヘッダーは、init
スクリプトのメタデータです。これを使用して依存関係を指定できます。これは systemd
ターゲットに似ています。
network
ターゲットは、起動プロセスの実行を大幅に遅らせません。network
ターゲットに到達すると、ネットワークの設定を行うサービスが開始していることになります。ただし、ネットワークデバイスが設定されているわけではありません。このターゲットは、システムのシャットダウン時に重要です。たとえば、起動中に network
ターゲットの後に順序付けされたサービスがあると、この依存関係はシャットダウン中に元に戻されます。サービスが停止するまで、ネットワークは切断されません。リモートネットワークファイルシステムのすべてのマウントユニットは、network-online
ターゲットユニットを自動的に起動し、その後に自身を置きます。
network-online
ターゲットユニットは、システムの起動時にのみ役に立ちます。システムの起動が完了すると、このターゲットがネットワークのオンライン状態を追跡しなくなります。したがって、network-online
を使用してネットワーク接続を監視することはできません。このターゲットは、1 回限りのシステム起動の概念を提供します。