
私に代わってこのような質問をします。この質問をした他のユーザーUbuntuチャットルームで。
停電時にジャーナルファイルシステムが破損しないことを保証できますか?
この回答がファイルシステムによって異なる場合は、損傷を防ぐシステムとそうでないシステムを表示してください。
答え1
保証はありません。ジャーナル処理されたファイルシステムは、優れた回復力を持ち、損傷に対して脆弱ではありませんが、免疫はありません。
すべてのログは、ファイルシステムで実行された最近のタスクのリストです。主な部分は仕訳帳の作成です。今後ジョブが発生します。ほとんどのタスクにはいくつかのステップがあります。たとえば、ファイルを削除するには、ファイルシステムディレクトリからファイルエントリを削除し、ドライブのセクタを利用可能なセクタとしてマークする必要があります。これら2つのステップの間に問題が発生した場合、ジャーナリングファイルシステムはすぐにそれを通知し、必要なクリーンアップを実行してすべてを一貫して維持できます。これは、エラーを検出するためにボリュームの内容全体を調査する必要がある非ジャーナリングファイルシステムの場合には該当しません。
このタイプのロギングは、ロギングしないよりも破損する可能性が低くなりますが、まだ破損する可能性があります。たとえば、ハードドライブに機械的なエラーが発生した場合、またはログ書き込み自体が失敗したり中断されたりした場合です。
ジャーナリングの基本的な前提は、ジャーナル項目を作成することが、それが説明する実際の取引よりもはるかに速いことが多いことです。したがって、OSコマンド(ログ)書き込みとハードドライブ書き込み完了の間の時間間隔は、通常の書き込みよりはるかに短いです。つまり、問題が発生する可能性があるウィンドウは狭いですが、まだウィンドウがあります。
アーカイブされたIBMページに関する追加情報:
答え2
いいえ。
最も一般的な種類のログはメタデータログと呼ばれ、データではなくファイルシステムの整合性のみを保護します。これには、xfs
およびext3
/がデフォルトモードで含まれます。ext4
data=ordered
ジャーナリング以外のファイルシステムがクラッシュした場合は、fsck
次回の起動時に確認されます。 fsck
それぞれスキャンインデックスノードファイルシステムで使用されているがアクセスできないとマークされた(つまりファイル名がない)ブロックを見つけ、これらのブロックを未使用としてマークします。これを行うには時間がかかります。
メタデータジャーナリングファイルシステムを使用すると、操作を実行する必要はありませんが、代わりにどのブロックがfsck
変更されているかを知っているため、パーティション全体を検索せずにそのブロックを使用可能としてマークできます。
データログという一般的な種類のログが少なく、ext3
このオプションを使用してインストールすると発生しますdata=journal
。
論理演算のリストだけでなく、各書き込みの内容全体をログに記録して、すべてのデータを保護しようとします。しかし、データを2回書き込むため、速度がはるかに遅くなる可能性があります。
他の人が指摘したように、ハードドライブが実際にハードドライブのキャッシュに残っていても、データを保存したことをオペレーティングシステムに通知した可能性があるため、これは保証されません。
詳細については、以下を確認してください。ジャーナリングファイルシステムに関するウィキペディア記事およびデータモデル部分ext4 ドキュメント。
答え3
ファイルシステムはハードウェアが何をするのかわからないため、停電が発生した場合にファイルシステムの一貫性を保証することはできません。
ハードドライブがデータの書き込みをバッファリングしますが、オペレーティングシステムにデータを書き込んで適切な書き込みバリアをサポートしていないことを知らせると、誤った書き込みが発生する可能性があります。つまり、前の書き込みはプラッタを見逃しますが、後で書き込みはプラッタにぶつかります。 。バラよりこのサーバーに誤った回答があります詳細については。
さらに、磁気HDDのヘッド位置は電磁石によって制御される。書き込み中に電源が切れると、ヘッドの移動中に一部のデータが記録され続け、ファイルシステムが書き込む意図がなかったブロックのデータが破損する可能性があります。
答え4
ほとんどの場合、答えは「いいえ」です。
- すでにミケルつまり、ほとんどのログファイルシステムはファイルメタデータ(ファイル名、サイズ、権限、その他の情報)のみを保護できますが、ファイルデータ(ファイルの内容)は保護できません。これは、ファイルデータを保護するとファイルシステムが非常に遅くなるため(事実上役に立たなくなるため)発生します。
- ログもハードディスクに保存されている特別なファイルであるため、停電時に破損する可能性があります。したがって、ログが破損した場合、ファイルシステムは電源が切れている間に発生した不完全なトランザクションを完了できません。