如何将服务设置为在systemd启动autofs之后启动


9

我必须在具有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挂载所有磁盘之前启动,因此无法启动许可证服务器。

Answers:


9

您应该添加以下内容

[Unit]
RequiresMountsFor=<path required>

这将确保在启动服务之前可以访问该路径,并且如果尚未安装(除非指定了noauto),还将安装它。请检查您的联机帮助页(man systemd.unit),因为我的系统正处于严重边缘,因此系统中是否支持该选项。


1
抱歉,necro,但是如果这是NFS挂载并且nfs尚未启动怎么办?编辑:回答我自己的问题,只是检查了联机帮助页RequiresMountsFor,因此只要在/ etc / fstab中对它们进行了很好的定义,而没有使用'noauto',它似乎也可以与nfs一起使用
-Normadize
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.