Como definir um serviço para iniciar após o autofs ter iniciado com systemd

9

Eu tenho que configurar um servidor de licença em uma máquina RHEL7 com systemd. O servidor de licenças deve iniciar na inicialização e carregar um arquivo de licença de um disco compartilhado na rede. Portanto, preciso aguardar o início da rede e os autofs concluírem a montagem dos discos NFS. Eu tenho este arquivo de serviço:

[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

O serviço inicia após o autofs ser iniciado, mas antes que o autofs tenha montado todos os discos para que o servidor de licenças não possa ser iniciado.

RegedUser00x
fonte

Respostas:

9

Você deve adicionar o seguinte

[Unit]
RequiresMountsFor=<path required>

Isso garantirá que o caminho esteja acessível antes de iniciar o serviço e também o montará se ainda não estiver (a menos que não tenha um especificado automaticamente). Verifique com suas páginas de manual (man systemd.unit) se a opção é suportada em seu sistema, pois a minha é uma vantagem bastante interessante.

miguelbernadi
fonte
1
desculpe pelo necro, mas e se for uma montagem NFS e o nfs ainda não foi iniciado? Edit: respondendo a minha própria pergunta, verifiquei apenas o manpage RequiresMountsFor , por isso parece para trabalhar com montagens NFS também, enquanto eles estão bem definidos em / etc / fstab sem 'noauto'
Normadize