Como posso ter um serviço de inicialização aguarde até que a unidade remota fique disponível?

1

Eu tenho um serviço de inicialização que usa dados montados em um compartilhamento nfs. Se eu inicializar as duas máquinas ao mesmo tempo, o compartilhamento nfs não estará disponível no momento em que o serviço for iniciado e ficará desordenado. Eu gostaria de apenas pausar o script de inicialização no init.d para esperar até que o compartilhamento esteja disponível. Alguém já fez isso?

    
por CptanPanic 01.02.2015 / 16:16

2 respostas

1

Ok, então primeiro você precisa desativar o script da inicialização

 sudo update-rc.d foobar remove

e, em seguida, adicione-o novamente como

 sudo update-rc.d foobar defaults 99

Substitua foobar pelo seu script atual.

Definir o script como padrão 99 fará dele a última coisa que ele faz, de modo que deve dar o tempo necessário para o compartilhamento se tornar disponível.

    
por geoffmcc 01.02.2015 / 16:45
1

Eu sei que isso é um pouco antigo, mas desde que eu encontrei enquanto procurava, talvez alguém o fizesse.

Se você está procurando uma solução para o systemd, então aqui está o que eu fiz para que o dovecot esperasse que um nfs montado / home fosse montado antes de iniciar.

systemctl edite dovecot.service

[Unit]
RequiresMountsFor=/home

Salve isso e na próxima vez que você reiniciar, tudo bem.

Você pode fazer isso para qualquer combinação de serviço / ponto de montagem.

    
por Jason 15.02.2017 / 06:37