iSCSIブロックデバイスにはクライアント読み取りキャッシュがありますか?それでは、これを無効にする方法は?

iSCSIブロックデバイスにはクライアント読み取りキャッシュがありますか?それでは、これを無効にする方法は?

テストext4ファイルシステムイメージを持つリモートブロックデバイスがあります。 iSCSIイニシエータに関してこのデバイスを検出したとします/dev/sdb。はいいいえこのファイルシステムはマウントされていますが、TheSleuthKit(TSK)フォレンジックツールを使用してflsデータの内容を読み込みます。

2回目の実行では、実行時間が実際に速くなったことを確認しました。ページキャッシングについて理解しており、これをバイパスするにはDirect-IOを使用する必要があります。しかし、iSCSIではそうではないと確信しています。

デバイスが別のノードによって変更された場合、クライアントはこのエントリをキャッシュしていることを確認できません。だからそれは単に不一致の問題を意味します。私が読んだ内容が常に「ソース」に到達するようにするにはどうすればよいですか?定期的に読み取りキャッシュを更新するように設定できるパラメータはありますか? (echo 3> / proc ...はオプションではありません)。

ベストアンサー1

はい、以前に読み込んだブロックをキャッシュするブロックデバイス読み取りバッファキャッシュ(bcache)があります。

そうすればいいえこの動作が必要な場合は、O_DIRECTフラグを使用してブロックデバイスを開くことができます。

おすすめ記事