データの損失や破損を最小限に抑えるために、ext3ファイルシステムにどのマウントオプションが使用されますか?

データの損失や破損を最小限に抑えるために、ext3ファイルシステムにどのマウントオプションが使用されますか?

initramfsをルートファイルシステムとして使用し、コンパクトフラッシュIDEドライブにカスタムext3パーティションをマウントした組み込み設定があります。停電時にデータの整合性が設定全体の最も重要な要素であるため、次のオプションを使用してインストールしました(以下は/etc/fstab私のファイルの項目です)。

<file system> <mount pt> <type> <options>                         <dump><pass>
/dev/sda2     /data      ext3   auto,exec,relatime,sync,barrier=1 0     2

オンラインで読んでこれらのオプションを見つけました。私の興味は/proc/mounts次のようなものです。

/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0

あちこちで読んだ結果、data=journalデータ破損に対する最良の保護を提供するインストールオプションを使用したいと思います。ただし、特定のext3オプションのマニュアルページでは、書き込みmount保存オプションは次のように説明されています。

データの順序は維持されません。 - メタデータがログにコミットされた後、データがデフォルトのファイルシステムに書き込まれることがあります。
これはスループットが最も高いオプションであるという噂があります。内部ファイルシステムの整合性を保証します。ただし、競合やログの回復後にファイルに古いデータが表示されることがあります。

私はこれについて非常に混乱しています。マニュアルページは、ファイルシステムの整合性のためにdata=writebackオプションを指定したいと提案しているようですが、mount私が見つけた他のほとんどの参照(組み込みLinuxに公開されているいくつかの本を含む)は、What's theを使用する必要があることを示唆していますdata=journal。最良の方法は?書き込み速度はまったく問題になりません。データの整合性が問題です。

答え1

writeback単に事実に言及することによって誤解しないでくださいinternal filesystem integrity。または使用するかどうかに
関係なく、ファイルシステムメタデータは常にext3journalorderedwriteback日記これは内部ファイルシステムの整合性を意味します。

これデータスキーマ制御できる方法を提供ノーマルデータはファイルシステムに書き込まれます。モード
ではwritebackメタデータの変更は最初にログに書き込まれ、コミットブロックに書き込まれます。ログが更新された後でも、メタデータとデータの書き込みを続行できます。 data=writeback 重大なセキュリティリスクを引き起こす可能性があります。ファイルに追加中にシステムがクラッシュした場合、メタデータがコミットされた後(および追加のデータブロックが割り当てられている)データが書き込まれる前(新しいデータでデータブロックを上書き)、すべてのユーザーがログファイルを回復するに削除したファイルのデータで埋められたブロックを含めることができます。1

したがって、データの整合性が主な関心事であり、速度が重要でない場合、data=journalこれは正しい選択です。

答え2

すでにご存じのように、ポイントはさまざまな競合からファイルシステムを保護できないことです。

あなたは何ができますか?

  1. ソフトウェア側で利用可能データ書き込み重要な作業が終わるたびに(参照この投稿は2003年に作成されました。Theodore T'soはLinux FSカーネルの上級開発者です。これはまだ本当です。しかもこれ以前のバージョンのext4に隠されていたかなりのデータ損失について)
  2. コミット間隔を1秒に短くします(提出=1)(望むよりこの記事ext4に関する内容ですが、ext3に関する非常に有用な情報を含むLWNで。注: 必要ありません。同期
  3. SimがRHELドキュメントで指摘したように、* data_err = abort *を使用し、データ=ソート
  4. ノアテムファイルシステムで不要な作業を減らします。
  5. あなたが気づいたように、バリア=1データ損失を最小限に抑える良い方法です(参照:この投稿)
  6. そして同期もちろん、これは「私のデータを失いたくない」オプションの1つです。

最後に、編集可能なインストールオプションは次のとおりです。

auto,exec,relatime,sync,barrier=1,commit=1,data=ordered,data_err=abort,noatime,

起動するたびに自動fsckを使用してデータの整合性を確保することもできます。

答え3

強調するマニュアルページの部分を変更してみてください。

書き換え

データの順序を維持しない- メタデータがジャーナルにコミットされた後、データをデフォルトのファイルシステムに書き込むことができます。これはスループットが最も高いオプションであるという噂があります。内部ファイルシステムの整合性を確保し、ただし、競合とログの回復後、ファイルに古いデータが表示されることがあります。

don_crisstiが指摘したように、他のパターンには「but」はありません。

関連情報