문제: 서버를 부팅하는 데 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 설치가 제대로 작동한다고 생각합니다.
이것이 좋은 솔루션입니까(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에 보내는 것입니다.
참고: 이는 fstab을 사용하지 않고 위에서 설명한 방법을 사용하는 OPENelec RPi 설치입니다.
답변1
추가해 보세요배경nfs 마운트 옵션(있는 경우)사람 5 NFS:
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)의 마운트 옵션도 참조하세요.