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


8

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

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

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

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

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

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

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

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

回答:


16
mount -o bind / /mnt

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


しかし、それはすべてのルートファイルシステムを/ mntの下にマウントします。うーん...
ewwhite

1
そう?それはどのような害を及ぼしますか?必要なファイルを同期させるだけです。/ privateが700ルートである/ private / rootに置くこともできます。そうすれば、他の誰もそれらのファイルにアクセスできなくなります。まったく同じ権限を持っているので、それらがファイルにアクセスしても害はありません。それは基本的にあなたの質問に対する正確な答えのようです。ここで、NFSサーバーが停止したときに回復する方法が問題である場合、それは完全に異なり、おそらく強制アンマウントを伴います。これは無効になり、プロセスの半分が壊れて、とにかく再起動を強制します。
セスロバートソン

これは近かったのですが、bindパラメータを使用してアクセスする必要のあるディレクトリをファイルシステムの別の場所にマウントすることにしました。
ewwhite 2011年

実際、これは特定のケースで非常に役立ちます。私がずっと前にこのオプションについて知っていたらよかったのですが。私は再びこの状況に遭遇しました。基本的に、ルートファイルシステムに関連付けられている/ usrディレクトリがあり、それを独自のファイルシステムに移動して、ルートのスペースを回復したいと考えていました。では、usrを作成してそこにデータを移行し、再起動して新しいusrをマウントしたら、古い/ usrデータを簡単に削除するにはどうすればよいでしょうか。1つの方法は、シングルユーザーモードを使用して、そこでファイルを使用しないことです。別の方法は、このバインドトリックを使用して、代替パスからデータディレクトリを削除することです。
deltaray、2015

8

これは、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


3

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


Rsyncは従来から理にかなっていますが、特定のサイトでファイルが変更される可能性があります。読み取り専用でマウントする場合は、rsyncの方が適しています。双方向の同期ソリューションについて知らない限り...
ewwhite

rsyncでできることの1つは、各マシン上のファイルのタイムスタンプをチェックするcronジョブをセットアップすることです。おそらく5分ごとに実行します。更新が検出されたらすぐにファイルをnfsにプッシュし、同時に、他のすべてのマシンが一定の周期でチェックするトリガーファイルを作成します。彼らはこのトリガーを見るとすぐに、rsyncを実行してNFSからほとんどの更新されたファイルを取得します。
スラッシュドット、

これを解決するためのアプローチとして、Unisonを試すことができます。
ewwhite 2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.