【じゃーなりんぐふぁいるしすてむ】

ジャーナリングファイルシステム とは?

最終更新:
💡 変更の記録で、障害後の整合性を回復

変更の記録であるジャーナルを使って、障害後にファイルシステムの整合性を回復しやすくする仕組み。記録対象や回復方法は実装によります。未保存の内容や、全てのファイルの無傷を保証する機能ではありません。

📌 このページのポイント
ext4のジャーナル:記録を回復に使う1 記録変更を残す2 コミット記録の完了3 反映最終位置へクラッシュ後:有効な記録を選ぶコミット済み有効なら再適用未コミット等再適用から除外既定のordered:メタデータを記録対応する内容を先に本来の場所へ書くバックアップ・アプリの保存や同期も必要
ext4のジャーナル対象の変更の流れと、回復時の扱いです。ファイル内容も記録するかは方式によります。記録だけで全内容の保全や回復時間を保証するものではありません。
ひよこ ひよこ
急に電源が落ちてもファイルは安全?
ペンギン先生 ペンギン先生
ジャーナルは、途中で止まった変更からファイルシステムの構造を回復する助けになる。でも、保存していない文章や書き込み中の内容まで必ず守るわけではないよ。
ひよこ ひよこ
ジャーナルには何を残す?
ペンギン先生 ペンギン先生
ファイルの管理情報であるメタデータなど、回復に使う変更を記録する。ファイルの中身も記録するかは方式によるので、全ての書き込みが必ず二重に保存されるとは限らないんだ。
ひよこ ひよこ
クラッシュ後は全部元に戻す?
ペンギン先生 ペンギン先生
ext4では有効なコミット済みトランザクションを再適用する。コミット記録がないものやチェックサムが合わないものは、再適用の対象から外す。単純に全部ロールバックする説明とは違うんだ。
ひよこ ひよこ
ext4のorderedモードは?
ペンギン先生 ペンギン先生
既定のdata=orderedはメタデータをジャーナルへ記録し、対応するデータを先に本来の場所へ書く順序も制御する。data=journalは中身も記録する。どちらもアプリの保存やバックアップが不要になるわけではないよ。
ひよこ ひよこ
回復はいつも数秒で終わる?
ペンギン先生 ペンギン先生
記録を利用して全体検査の負担を減らせるけど、状況や規模、壊れ方による。装置の故障や深刻な破損までログだけで直せるとは限らない。回復時間を一律には決められないんだ。
もっと詳しく知りたい人へ

書き込みが成功と返れば、電源断後にも必ず残る?

アプリやOS、装置の書き込みキャッシュ、同期処理などによります。ジャーナルの存在だけで永続化の保証を判断せず、アプリが必要な保存・同期を行っているかと、ストレージの仕様を確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ジャーナリングファイルシステム」って出てきたら「変更ログで障害後の整合性回復を助ける仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Journaling File System」 = ジャーナリングファイルシステム
💬 Journalはもともと日誌・日記という意味で、データの変更を日誌(ジャーナル)に書き留めてからディスクに反映する仕組みから来ているんだよ

参考資料

← 用語集にもどる