在 Mac OSX 10.11 上從 Ubuntu 掛載 NFS4 導出
我正在嘗試將 NFS4 導出從 Ubuntu 伺服器安裝到連接到本地網路的 Mac 客戶端。Mac 客戶端可以使用 nfs3 掛載 nfs 導出,但是使用 nfs4 似乎無法這樣做。
伺服器(Ubuntu)
要共享的目錄已
fstab
綁定到/export/share
,該目錄通過 導出/etc/exports
。user@<server>:~$ tail -n 2 /etc/exports /export *(insecure,no_subtree_check,rw,sync,fsid=0) /export/share *(insecure,no_subtree_check,rw,nohide,sync)
客戶端 (Mac OS 10.11)
客戶端能夠看到來自伺服器的兩個導出
Macintosh:~ user$ showmount -e <server-ip> Exports list on <server-ip>: /export/share * /export *
客戶端能夠使用 nfs3 掛載驅動器(到本地掛載點
~/NFS/Server_Media/
)Macintosh:~ user$ sudo mount -t nfs <server-ip>:/export/share NFS/Server_Media/
或(都產生相同的結果)
Macintosh:~ user$ sudo mount -t nfs -o vers=3 <server-ip>:/export/share NFS/Server_Media/
nfs3 的證明(在 NFS 參數下:vers=3)
Macintosh:~ user$ nfsstat -m /Users/user/NFS/Server_Media from <server-ip>:/export/share -- Original mount options: General mount flags: 0x0 NFS parameters: File system locations: /export/share @ <server-ip> (<server-ip>) -- Current mount parameters: General mount flags: 0x4000000 multilabel NFS parameters: vers=3,tcp,port=2049,nomntudp,hard,nointr,noresvport,negnamecache,callumnt,locks,quota,rsize=32768,wsize=32768,readahead=16,dsize=4096,nordirplus,nodumbtimr,timeo=10,maxgroups=16,acregmin=5,acregmax=60,acdirmin=5,acdirmax=60,nomutejukebox,nonfc,sec=sys File system locations: /export/share @ <server-ip> (<server-ip>) Status flags: 0x0
解除安裝導出以測試 nfs4
Macintosh:~ user$ sudo umount NFS/Server_Media/
客戶端嘗試掛載 nfs4
Macintosh:~ user$ sudo mount -t nfs -o vers=4 <server-ip>:/export/share NFS/Server_Media/ mount_nfs: can't mount /export/share from <server-ip> onto /Users/user/NFS/Server_Media: No such file or directory
奇怪的是,Finder 的
Connect to Server...
操作 (Cmd
+k
) 可以通過輸入以下命令使用 nfs4 進行連接Server Address
:nfs://vers=4,<server-ip>:/export/share
但是,如果不知道終端命令,這將無法自動執行,並且它只會掛載到
/Volumes/share/
,而不是預期的客戶端掛載點。至少據我所知,關於 Mac 和 NFS4 的文獻出奇地少。對此的任何幫助將不勝感激!
經過一段時間的試驗和搜尋,我終於能夠解決它。
正如在這個執行緒中發現的(關於 Fedora,但與 Mac 足夠接近),似乎雖然
nfs3
允許sudo mount <...> <server-ip>:/export/share <...>
,但nfs4
似乎需要(安裝導出的“根”目錄,而不是導出目錄本身)。更正後,我的目錄安裝正常,儘管它似乎是連接目錄而不是目錄(添加了一個目錄級別)。沒什麼大不了的,但值得注意的是,如果碰巧有解決辦法。編輯:我錯了,原來你可以通過 using 專門導出目錄,基本上只是跳過導出目錄的根目錄。sudo mount <...>
<server-ip>:/
<...>``/export``/export/share``/share``sudo mount <...>
<server-ip>:/share
<...>
作為一個有趣的旁注,如果我
/etc/export
將伺服器上的行從更改/export/share *(insecure,no_subtree_check,rw,nohide,sync)
為,客戶端上的目標目錄一旦掛載似乎變得無限自嵌套,出於某種原因。只是想我會包括那個觀察結果,以防未來有人對他們的飛行汽車有同樣的問題。/export/share *(insecure,
fsid=0
,no_subtree_check,rw,nohide,sync)``NFS/Share_Media