web-dev-qa-db-ja.com

1つのクライアントで同じNFS共有の複数のマウント?

ウェブスペースのコンテンツをNFSv3共有に移動しています。 suexecの制限のため、クライアント上のコンテンツの異なるサブセットへの異なるパスがあります。エクスポートされた1つのnfs共有の1つのパスにすべてのコンテンツを含めることができるかどうか疑問に思います。

例:

私は欲しい

/home/content/foo

そして

/var/www/content/bar

エクスポートされた共有「/ export」は

/export/foo
/export/bar

AFAICSには3つのオプションがあります。

  • nFSクライアントの異なるパスに/ exportを2回マウントする
  • 一度マウント/エクスポートし、バインドマウントを実行します
  • fooとbarを別のディレクトリに置き、それらを別々にエクスポート/マウントします

これらのオプションのどれをお勧めしますか?

4
matthias

個人的には、2つの異なる場所に2回NFSマウントするだけです。 NFSエクスポートのサブディレクトリを直接マウントできるため、個別にエクスポート/マウントする必要はありません。

4
Sobrique

おそらく、コンテンツを/ exports(たとえば/ exports/web)の下のツリーに配置し、そのツリーをクライアントの両方の場所にマウントします。これにより、状況が整然と保たれ、再編成せずに新しいプロジェクトを後から追加できます。

0
user9517

バインドマウントをお勧めする理由は2つあります。

  • 何百人ものユーザーのホームディレクトリをマウントするときにスケーリングの問題に遭遇した人を知っています。これは、バインドマウントでは発生しませんでした。これは、NFSレイヤーではまだ単一のマウントであるためです。
  • NFSには、ファイルが複数のマウントを介して同時にアクセスされる場合、セマンティクスが少し問題になるケースがあります。

ただし、マウントが2つだけで、複数のマウントを介してアクセスできるディレクトリがない場合は、最も使いやすいオプションを選択します。

0
kasperd