Ext4のデフォルトログモードはドキュメントによるdata=ordered
と
「メタデータがジャーナルにコミットされる前に、すべてのデータがデフォルトのファイルシステムに直接強制されます。」
ただし、オプションがありますdata=journal
。
「すべてのデータは、基本ファイルシステムに書き込まれる前にジャーナルにコミットされます。このモードを有効にすると、遅延割り当てとO_DIRECTサポートは無効になります。」
私が理解しているのは、このdata=journal
モードがメタデータだけでなくすべてのデータを記録することです。表面的には、これがパフォーマンスの面でそれほど安全ではないとしても、データの整合性と信頼性の面で最も安全なオプションであることを意味するようです。
信頼性が最も重要でパフォーマンスが重要ではない場合は、このオプションを選択する必要がありますか?このオプションを使用するときに注意することはありますか?
背景として、問題のシステムはUPSにあり、ドライブからの書き込みキャッシュは無効になっています。
ベストアンサー1
はい、data=journal
これがディスクにデータを書き込む最も安全な方法です。すべてのデータとメタデータはディスクに書き込まれる前にログに書き込まれるため、競合が発生した場合はいつでも中断されたI / O操作を再生できます。また無効になります。遅延割り当てそのうちの特徴はデータ損失が発生する可能性がある。
この3つのモードは安全な順序で配置されています。手動:
- データ=ジャーナル
- データ=ソート
- データ = 書き込み保存
興味のある別のオプションがあります。
commit=nrsec (*) Ext4 can be told to sync all its data and metadata
every 'nrsec' seconds. The default value is 5 seconds.
唯一知られている注意事項は、速度が非常に遅くなる可能性があることです。このオプションを使用してアクセス時間の更新を無効にすると、パフォーマンスへの影響を減らすことができますnoatime
。