web-dev-qa-db-ja.com

NFSマウントポイントの基礎となるファイルシステムにあるファイルにアクセスする

おそらくこれは奇妙な要求ですが、以下に詳述されている質問の反対です。

NFSコンテンツをアンマウントせずに、基になるNFSマウントのコンテンツを表示することは可能ですか?

複数のリモートサイトのLinuxサーバーが中央サーバー(すべてCentOS 5.x)からNFS共有をマウントするように設定しています。考えてみましょう:/opt/softwareまたは類似したもの。

問題がなければ、クライアントシステムはメインサーバーからNFSエクスポートをマウントし、問題なく実行されます。共有内に含まれるデータは頻繁には変更されません(おそらく毎週)。

メインのNFSサーバーへの接続が失われている状況(NFSサーバーの停止、ファイバーカットなど)が心配です。共有データは頻繁に変更されないため、これらのシステムがNFSマウントを失った場合にスタンドアロンで実行できるようにしたいと考えています。

マウントがなくなるとしましょう。同じ場所にあるNFSマウントの下の/opt/softwareにあるローカルファイルを使用します。さらに、これらのファイルを毎日同期します。

マウントされたボリュームへの変更は、どのクライアントサイトからでも可能である必要があるため、NFSマウントは読み取り/書き込みです。

これは可能ですか?基になるディレクトリ内のファイルにどのようにアクセス(または上書き)しますか?タイムアウトの問題が発生する可能性はありますか?これに役立つマウントオプション/ヒントはありますか?

8
ewwhite

これは、mount --bindオプションを使用することで可能です。

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
   mount --bind olddir newdir
After this call the same contents is accessible in two places.

mount --bind /opt/software /foo

次に、NFSマウントを/opt/softwareに適用し、/fooで基礎となるファイルを表示する機能を保持します。

8
ewwhite
mount -o bind / /mnt

/ mnt/opt/softwareを見ると、/ opt/softwareのマウントの下にあるファイル(ある場合)が見つかります。

16
Seth Robertson

ファイルは比較的静的なので、必要になる可能性があるのはrsyncです。複数のリモートクライアントにファイルを変更する機能がない場合。データが基本的に読み取り専用である場合は、各マシンで、cronのようなジョブを介して1日に数回rsyncを実行しないでください。繰り返しますが、私は要点を見逃しているかもしれませんが、NFS上のデータが基本的に読み取り専用のようなものであれば、これでうまくいくかもしれません。

3
slashdot