Mac OSX 10.11 上の Ubuntu から NFS4 エクスポートをマウントする

Mac OSX 10.11 上の Ubuntu から NFS4 エクスポートをマウントする

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マウントされると、無限に自己ネストされるようです。将来誰かが空飛ぶ車で同じ問題に遭遇した場合に備えて、この観察結果を記載しておこうと思いました。

関連情報