web-dev-qa-db-ja.com

Linux読み取りディスクキャッシュとNFS

NFSを介したファイルへのアクセスに対する読み取りディスクキャッシュの影響に興味があります。 NFSにファイルがあるとしましょう。 Linuxホスト「A」からアクセスします(「catmyfile」を実行します)。十分な数がある場合RAMファイルはディスクキャッシュに保存されます。次に、ホスト「B」からそのファイルを変更します。ホスト「A」のOSは、その部分を無効にする必要があることをどのように認識しますか。キャッシュの?NFSからのコールバックがありますか?またはディスクキャッシュがすぐに期限切れになりますか?

4
Janek

Linux NFS FAQ の回答A8に説明があります。

要約:サーバーをポーリングして変更を要求するのはクライアントの責任です(ファイル属性をチェックして、クライアントが最後にチェックしてから変更されているかどうかを確認します)。クライアントは従来、これを定期的に実行しますが、ファイルを開くときはいつでも実行します。また、クローズ時に書き込みをフラッシュバックします。これは、1つのクライアントが書き込みのためにファイルを開いたままにしている間、他のクライアントがファイルを開かないことを確認する限り、期待する結果が得られることを意味します。

この動作は通常、マウントオプションを使用して構成できます。たとえば、パフォーマンスを犠牲にしてキャッシュの一貫性を強化したい場合などです。たとえば、Linuxクライアントの「mannfs」を参照してください。

7
user229985