
我正在嘗試將 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 的文獻出乎意料地貧乏,至少據我所知是這樣。任何對此的幫助將不勝感激!
答案1
經過一段時間的嘗試和搜索,我終於能夠解決這個問題。
正如發現的這個線程(關於Fedora,但與Mac足夠接近),似乎,雖然nfs3
將允許sudo mount <...> <server-ip>:/export/share <...>
,但nfs4
似乎需要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
似乎就會變得無限自我嵌套。只是想我會包括這一觀察,以防未來的人對他們的飛行汽車有同樣的問題。