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.

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.