Espere eficientemente hasta que el NAS arranque para montarlo.

Espere eficientemente hasta que el NAS arranque para montarlo.

Problema: el servidor arranca en 3 minutos, Raspberry Pi arranca en 30 segundos. Después de un corte de energía, RPi arranca más rápido y no monta el disco NAS.

Este RPi en particular necesita un disco para poder grabar en él. Por lo tanto, sin el disco (externo) montado, RPi es inútil. Estaba usando RPi autostart.sh para:

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

cuando me di cuenta de este problema. Entonces, creé un bucle en autostart.sh de RPi donde monto el NAS. Durante el funcionamiento normal (una vez que se logra el montaje), este problema ya no puede ocurrir: si solo uno de ellos se reinicia, el montaje RPi funcionará bien (creo).

¿Sería esta una buena solución (ejecutada solo al iniciar RPi) y podría hacerse mejor o de manera más elegante?

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

Esto no debería intentar montarse si ya está montado, y en caso contrario, montarlo. Además, espere un nuevo intento hasta que se monte. Parece funcionar según lo previsto, excepto que RPi arrancará (no ESPERARÁ para montarlo), pero este RPi (en realidad Kodi) se congelará hasta que se monte el NAS.

Lo único que veo que se puede agregar aquí es: enviar WOL al NAS antes de dormir.

Aclaración: Esta es la instalación de OPENelec RPi y no se utiliza fstab, pero sí el método descrito anteriormente.

Respuesta1

Puedes intentar agregar elbgopción de montaje para nfs, si la tiene.hombre 5 nfs:

Si se especifica la opción bg, un tiempo de espera o una falla hacen que el comando mount(8) bifurque un elemento secundario que continúa intentando montar la exportación. El padre regresa inmediatamente con un código de salida cero. Esto se conoce como montaje "en segundo plano".

Respuesta2

¿Realmente estás usando un script de shell y no fstab para montar tus unidades en el arranque?

Lea en /etc/fstab (ejecute el comandohombre fstab) y en particular, mira la opción _netdev, para terminar con algo como.

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

Descargo de responsabilidad: ¡No copie y pegue lo anterior sin leer primero en fstab!

PD: Dependiendo de su sistema operativo, también puede valer la pena explorar nobootwait como opción.

PSPS Ver también opciones de montaje en nfs(5)

información relacionada