espera eficiente até que o NAS seja inicializado para montá-lo

espera eficiente até que o NAS seja inicializado para montá-lo

Problema: o servidor inicializa 3 minutos, o Raspberry Pi inicializa 30 segundos. Após uma queda de energia, o RPi inicializa mais rapidamente e não monta o disco NAS.

Este RPi específico precisa de disco para poder gravar nele. Portanto, sem o disco (externo) montado, o RPi é inútil. Eu estava usando RPi autostart.sh para:

mount -t nfs 192.168.1.5:/Public/Video/TV /storage/nas -o nolock;

quando percebi esse problema. Então, criei um loop no autostart.sh do RPi onde monto o NAS. Durante a operação normal (uma vez alcançada a montagem), esse problema não pode mais ocorrer: se apenas um deles for reinicializado, a montagem RPi funcionará bem (eu acho).

Esta seria uma boa solução (executada apenas na inicialização do RPi) e poderia ser feita melhor ou com mais elegância?

until mountpoint -q /storage/nas || mount -t nfs 192.168.1.5:/Public/Video/TV /storage/nas -o nolock; do sleep 30; done

Isso não deve tentar montar se já estiver montado, e caso contrário - montar. Além disso, aguarde uma nova tentativa até ser montado. Parece funcionar conforme o esperado, exceto que o RPi será inicializado (não ESPERE pela montagem), mas este RPi (na verdade, Kodi) será congelado até que o NAS seja montado.

A única coisa que posso ver adicionada aqui é: enviar WOL para NAS antes de dormir.

Esclarecimento: Esta é a instalação do OPENelec RPi e não é usado o fstab, mas o método descrito acima.

Responder1

Você pode tentar adicionar oobrigadoopção de montagem para nfs, se você tiver.homem 5 nfs:

Se a opção bg for especificada, um tempo limite ou falha faz com que o comando mount(8) bifurque um filho que continua tentando montar a exportação. O pai retorna imediatamente com um código de saída zero. Isso é conhecido como montagem em "segundo plano".

Responder2

Você está realmente usando um script de shell e não o fstab para montar suas unidades na inicialização?

Leia em /etc/fstab (execute o comandohomem fstab) e, em particular, observe a opção _netdev, para obter algo como.

10.10.10.10:/srv/share /mnt/mymnt   nfs4    defaults,noexec,nosuid,_netdev,auto     0       0

Isenção de responsabilidade: não copie e cole o texto acima sem primeiro ler no fstab!

PS Dependendo do seu sistema operacional, nobootwait também pode valer a pena explorar como uma opção.

PSPS Veja também opções de montagem no nfs(5)

informação relacionada