コンピュータAにnfsエクスポートがあり、それを別のネットワーク上のコンピュータBにマウントする必要があります。 AとBの間の接続を提供するマルチホームコンピュータCがあります。すべてのコンピュータはRedhatベースです。インストールして再エクスポートしようとしましたが、成功しませんでした。私はimportfsがnfsマウントファイルシステムの共有を拒否すると仮定します。しかし、あきらめる前に尋ねなければならないと思いました。
たぶんより良い解決策がありますか? CからAにnfs / nfslockリクエストを渡すことはできますか?
答え1
いいえ、NFSマウントを再共有することはできません。
抜粋:回答:他のLinuxサーバーで実行されているNFSサーバーを介してNFS共有を再エクスポートできますか?
短い答え:不可能です。
少なくとも9年間、Linuxカーネルには、NFSにエクスポートされたディレクトリがNFSサービスをホストしているホストに「物理的に」存在することを確認するコードが含まれていました。 「物理的に」存在するできるつまり、ディスクは、iSCSI、ファイバーチャネル、または他の複数のネットワーク層を介して存在しますが、ファイルシステムレベルではなくブロックレベルにあります。カーネルは NFS マウントディレクトリのエクスポートを拒否します。
約14年前、ユーザースペースNFSサーバーの実装ではこれを許可しましたが、奇妙なワンタイム状況(確かに非プロダクション)で数日間しか使用されませんでした。
NFSマウントディレクトリを再エクスポートすることが適切である可能性がある多くのユースケースを想像できますが(私は想像力が豊富です)、それを操作するのは簡単ではありません。特に最近のカーネルでは、ヒューズファイルシステムをNFSにエクスポートできます(http://lwn.net/Articles/281793/)、NFSマウントディレクトリとエクスポートの間にヒューズを入れることができます。成功したら、そのニュースを聞きたいです。
答え2
NFSマウントを再共有することはできませんが、そうする理由はありません。 C を使用して、A と B の間で要求を転送できます。
nfsd
直接転送の場合は、TCPポート111(ポートマッピング)とNFSで使用されるすべてのUDPおよびTCPポート(selfmountd
および)を転送する必要がありますlockd
。これは不便かもしれません。
Cを使用する方が簡単かもしれません。VPN設定このようにして、AとBの間にパスを設定することができ、アプリケーション層の問題とネットワークルーティングの問題を完全に別々に解決できます。