web-dev-qa-db-ja.com

マルチホームコンピューターを介したNFS共有は可能ですか?

別のネットワークのコンピューターBにマウントする必要があるコンピューターAにnfsエクスポートがあります。 AとBの間の接続を提供できるマルチホームコンピューターCがあります。すべてのコンピューターはRedhatベースです。マウントと再エクスポートを試みましたが、成功しませんでした。 exportfsがnfsにマウントされたファイルシステムの共有を拒否すると想定しています。しかし、あきらめる前に、私は尋ねると思いました。

たぶんもっと良い解決策がありますか? nfs/nfslockリクエストをCからAに転送しますか?

4
Pavel

いいえ、NFSマウントを再共有することはできません。

抜粋: Re:他のLinuxサーバーで実行されているNFSサーバーを介して1つのNFS共有を再度エクスポートできますか

簡単な答え:それは不可能です。

少なくとも9年間、Linuxカーネルには、NFSエクスポートされたディレクトリがNFSサービスを提供するホスト上に「物理的に」存在することを保証するコードが含まれています。 「物理的に」存在するcanは、ディスクがiSCSI、ファイバーチャネル、またはその他のネットワークレイヤーを介して存在することを意味しますが、これはブロックレベルであり、ファイルシステムレベル。カーネルは、NFSマウントされたディレクトリのエクスポートを拒否します。

約14年前、ユーザースペースのNFSサーバーの実装でこれが可能でしたが、私は2、3日間の奇妙な1回限りの状況(完全に非本番)でのみ使用しました。

NFSマウントされたディレクトリを再エクスポートすることが適切である多くのユースケースを想像することができますが(私は想像力があります)、それを機能させるのは簡単ではありません。具体的には、最近のカーネルでは、FuseファイルシステムがNFSエクスポートされる可能性があるため( http://lwn.net/Articles/281793/ )、Fuseレイヤーを間に配置できる可能性があります。 NFSマウントされたディレクトリとエクスポート。あなたが成功した場合、私はそれについて聞いてみたいです。

3
slm

NFSマウントを再共有することはできませんが、そうする理由はほとんどありません。 Cを使用して、AとBの間でリクエストを転送できます。

直接転送の場合は、TCPポート111(ポートマップ)と、NFSで使用されるすべてのUDPおよびTCPポート(nfsd自体、mountdおよびlockd)。これは扱いにくい場合があります。

Cを使用してVPNを設定 AとBの間で使用する方がおそらく簡単です。このようにして、AとBの間のルートを確立し、ネットワークルーティングとは完全に別個にアプリケーションレベルの問題を解決できます。問題。