Как настроить запуск службы после запуска autofs с помощью systemd

9

Я должен настроить сервер лицензий на машине RHEL7 с systemd. Сервер лицензий должен запускаться при загрузке и загружать файл лицензии с общего диска в сети. Поэтому мне нужно подождать, пока сеть запустится и автофокус завершит монтирование дисков 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 смонтирует все диски, поэтому сервер лицензий не может быть запущен.

RegedUser00x
источник

Ответы:

9

Вы должны добавить в следующем

[Unit]
RequiresMountsFor=<path required>

Это обеспечит доступ к пути перед запуском службы, а также смонтирует его, если его еще нет (если не указано noauto). Посоветуйтесь со своими man-страницами (man systemd.unit), поддерживается ли эта опция в вашей системе, так как у меня довольно острый край.

miguelbernadi
источник
1
извините за некро, но что если это монтирование NFS и nfs еще не запущен? Edit: отвечая на мой собственный вопрос, только что проверил страницу руководства RequiresMountsFor , так что , как представляется , работа с Nfs монтирует тоже до тех пор , как они хорошо определены в / и т.д. / Fstab без «NOAUTO»
Normadize