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)
クライアントはサーバーの 2 つのエクスポートを表示できます。
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
奇妙なことに、FinderConnect 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
無限に自己ネストされているように見えます。将来、誰かが飛行車について同じ質問をする場合に備えてこの観察内容を含めると考えました。