systemdを使用してautofsを起動した後にサービスを開始するように設定する方法

systemdを使用してautofsを起動した後にサービスを開始するように設定する方法

systemdを使用してRHEL7システムにライセンスサーバーを設定する必要があります。ライセンスサーバーは起動時に起動し、ネットワーク上の共有ディスクからライセンスファイルをロードする必要があります。したがって、ネットワークが機能し、autofsがNFSディスクのマウントを完了するのを待つ必要があります。次のサービスファイルがあります。

[Unit]
Description=Flexnet license server
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=forking
User=licenseuser
Group=devusers
ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

autofs の起動後、autofs がすべてのディスクをマウントする前にサービスが開始されるため、ライセンスサーバーを起動できません。

ベストアンサー1

以下を追加する必要があります。

[Unit]
RequiresMountsFor=<path required>

これにより、サービスを開始する前にそのパスにアクセスできることを確認し、そのパスがまだそのパスにない場合はインストールされます(noautoが指定されていない場合)。お使いのシステムがこのオプションをサポートしているかどうか、manページ(man systemd.unit)を確認してください。私のシステムはかなり最先端だからです。

おすすめ記事