systemd 似乎忽略了 Ubuntu 16.04 中 NFS 的 _netdev 選項

systemd 似乎忽略了 Ubuntu 16.04 中 NFS 的 _netdev 選項

我在以下位置安裝了 NFS /etc/fstab

192.168.1.6:/var/share /media/share nfs hard,intr,retrans=10,timeo=10000000,_netdev 0 0

重新啟動時我的系統掛起;事實證明,這是由 證明的坐騎systemd-analyze blame

狀態:

● media-share.mount - /media/share
   Loaded: loaded (/etc/fstab; bad; vendor preset: enabled)
   Active: failed (Result: timeout) since Tue 2016-04-26 21:13:43 EDT; 6min ago
    Where: /media/share
     What: 192.168.1.6:/var/share
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 1071 ExecMount=/bin/mount 192.168.1.6:/var/share /media/share -t nfs -o hard,intr,retrans=10,timeo=10000000,_netdev (code=kille

Apr 26 21:12:12 j-Lemur systemd[1]: Mounting /media/share...
Apr 26 21:13:42 j-Lemur systemd[1]: media-share.mount: Mounting timed out. Stopping.
Apr 26 21:13:42 j-Lemur systemd[1]: Mounted /media/share.
Apr 26 21:13:43 j-Lemur systemd[1]: media-share.mount: Unit entered failed state.

這似乎是個錯誤?

登入並運行後systemctl restart media-share.mount已修復(因為現在網路可用)。

答案1

我有同樣的問題。

Ubuntu 社群幫助 Wiki 上有一些訊息這裡顯示這是 Ubuntu 16 的故意行為:

在 NFSv3(類型 nfs)下,_netdev 選項將告訴系統等待掛載,直到網路可用。對於 nfs4 類型,此選項將被忽略,但可以在稍後的腳本中與 mount -O _netdev 一起使用。目前,Ubuntu Server 不附帶在網路啟動後自動掛載 /etc/fstab 中的 nfs4 條目所需的腳本。

我的解決方案是在“_netdev”之前加上“vers=3”,強制連線使用 NFS v3。顯然,如果您依賴 NFS v4,這可能對您的情況沒有幫助。

其他選項可能包括自動檔案系統或 shell 腳本。

相關內容