web-dev-qa-db-ja.com

ファイル破損の問題AIXjFS2

たくさんのファイル操作をしているアプリケーションがあります。たくさんのファイルの読み取りと書き込み操作(たくさんの小さなファイル)を実行しています。一部のファイルがランダムに混同されていることがわかりました。 file1の出力はfile2に送られます。検証したコードからの同時実行の問題はありません。他のすべてのプラットフォームでの動作には、AIXが必要です。

Solarisではこの問題に直面しましたが、directioを有効にすると、この問題は解決されます。

AIXでは、dioを有効にしようとしましたが、それでもこの問題は解決しません。

  1. OS:AIX 6.1.6.3
  2. アーキテクチャー:Power 6;
  3. SMTがオンの8コア
  4. ストレージ:SAN
  5. ファイルシステム:JFS2

ありがとうNikeshPL

1
Nikesh PL

まあ、それはすべてのプラットフォームで動作しているわけではありません。直接I/Oを有効にするまで、Solarisでは機能しません。直接I/Oは同期書き込みを強制し、先読みを無効にするため、I/Oのタイミングを変更し、根本原因を隠している可能性があります。

アプリのデバッグを試すことができますが、これは困難で時間がかかる場合があります。または、バンドエイドを叩いて AIXで直接I/Oを有効にする もできます。

1
Paweł Brodacki