高效等待 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;

當我意識到這個問題的時候。因此,我在 RPi 的 autostart.sh 中創建了一個循環,用於掛載 NAS。在正常操作期間(一旦安裝完成)此問題不會再發生:只要其中一個重新啟動,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

您可以嘗試新增背景nfs 的掛載選項(如果有的話)。人 5 NFS:

如果指定了 bg 選項,逾時或失敗會導致 mount(8) 指令分叉繼續嘗試掛載匯出的子指令。父進程立即返回並返回零退出代碼。這稱為“背景”安裝。

答案2

您真的使用 shell 腳本而不是 fstab 在啟動時安裝磁碟機嗎?

閱讀 /etc/fstab(執行指令手動fstab),特別是查看 _netdev 選項,這樣你最終會得到類似的結果。

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

免責聲明:在未閱讀 fstab 之前,請勿複製貼上以上內容!

PS 根據您的作業系統,nobootwait 也可能值得探索作為選項。

PSPS 另請參閱 nfs(5) 中的掛載選項

相關內容