NAS가 부팅되어 마운트될 때까지 기다리는 것이 효율적입니다.

NAS가 부팅되어 마운트될 때까지 기다리는 것이 효율적입니다.

문제: 서버는 3분 동안 부팅되고 Raspberry Pi는 30초 동안 부팅됩니다. 정전 후 RPi는 더 빠르게 부팅되고 NAS 디스크를 마운트하지 않습니다.

이 특정 RPi에 기록하려면 디스크가 필요합니다. 따라서 (외부) 디스크가 마운트되지 않으면 RPi는 쓸모가 없습니다. 나는 RPi autostart.sh를 사용하여 다음을 수행했습니다.

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

이 문제를 깨달았을 때. 그래서 NAS를 마운트하는 RPi의 autostart.sh에 루프를 만들었습니다. 정상적인 작동 중에는(마운트가 완료되면) 이 문제가 더 이상 발생할 수 없습니다. 둘 중 하나만 재부팅하면 RPi 마운트가 제대로 작동할 것입니다(제 생각에는).

이것이 좋은 솔루션일까요(RPi 시작 시에만 실행됨). 더 훌륭하고 우아하게 수행할 수 있을까요?

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

이미 마운트되어 있으면 마운트를 시도해서는 안 되며, 그렇지 않으면 마운트를 시도하면 안 됩니다. 또한 마운트될 때까지 재시도를 기다립니다. RPi가 부팅되지만(마운트를 위해 대기하지 않음) 이 RPi(실제로 Kodi)는 NAS가 마운트될 때까지 고정된다는 점을 제외하면 의도한 대로 작동하는 것 같습니다.

여기에 추가할 수 있는 유일한 것은 잠자기 전에 WOL을 NAS로 보내는 것입니다.

설명: 이것은 OPENelec RPi 설치이며 fstab은 사용되지 않지만 위에서 설명한 방법이 있습니다.

답변1

다음을 추가해 볼 수 있습니다.bgnfs에 대한 마운트 옵션(있는 경우)남자 5nfs:

bg 옵션이 지정된 경우 시간 초과 또는 실패로 인해 mount(8) 명령이 내보내기 마운트를 계속 시도하는 하위 항목을 포크하게 됩니다. 부모는 즉시 0 종료 코드로 반환됩니다. 이를 "백그라운드" 마운트라고 합니다.

답변2

부팅 시 드라이브를 마운트하기 위해 실제로 fstab이 아닌 쉘 스크립트를 사용하고 있습니까?

/etc/fstab에서 읽으십시오(명령을 실행하십시오)남자 fstab) 특히 _netdev 옵션을 보면 다음과 같은 결과가 나옵니다.

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

면책조항: fstab을 먼저 읽지 않고 위의 내용을 복사하여 붙여넣지 마십시오!

PS OS에 따라 nobootwait를 옵션으로 살펴볼 수도 있습니다.

PSPS nfs(5)의 마운트 옵션도 참조하세요.

관련 정보