
Ubuntu サーバーからローカル ネットワークに接続された Mac クライアントに NFS4 エクスポートをマウントしようとしています。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
(ディレクトリ レベルが 1 つ追加されます)。大した問題ではありませんが、修正方法がある場合は注目に値します。編集: 間違っていました。/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
マウントされると、無限に自己ネストされるようです。将来誰かが空飛ぶ車で同じ問題に遭遇した場合に備えて、この観察結果を記載しておこうと思いました。