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

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

💡 変更を日誌に書いてから実行する、転んでも記憶を失わないファイルシステム
📌 このページのポイント
ジャーナリングFSの書き込み手順 ① 書き込み アプリが 変更を要求 ② ジャーナル 変更内容を 先にログ記録 ③ 本体反映 ディスクの 実データ更新 ④ ジャーナル クリア 完了ログ削除 ⚡ クラッシュ後の回復 ②〜③の途中でクラッシュ → ジャーナルに記録が残っている 再起動時にジャーナル確認 → ロールバックして整合性回復 fsckによる全体スキャン不要 → 秒単位で回復
ジャーナリングFSの書き込み手順とクラッシュ回復の流れ
ひよこ ひよこ

パソコンが急に落ちてもファイルが壊れないことがあるよね?あれって何かのおかげなの?

ペンギン先生 ペンギン先生

まさにジャーナリングファイルシステムのおかげだよ。ファイルを書き換えるとき、まず『これからこういう変更をする』という記録(ジャーナル)を別の場所に書いてから、実際の書き換えをするんだ。

ひよこ ひよこ

それで何がうれしいの?

ペンギン先生 ペンギン先生

書き換えの途中でクラッシュしても、再起動時にジャーナルを見れば『どこまで書いたか』がわかるんだよ。完了していない変更はロールバックして、ファイルシステムを整合した状態に戻せるんだ。

ひよこ ひよこ

昔はそんな仕組みがなかったの?

ペンギン先生 ペンギン先生

昔のfsckというツールはディスク全体をスキャンして整合性を直してたから、大容量ディスクだと何十分もかかることがあったんだよ。ジャーナリングだとジャーナルを確認するだけだから、秒単位で完了するんだ。

ひよこ ひよこ

ジャーナルってどんなデータが入ってるの?

ペンギン先生 ペンギン先生

メタデータ(ファイル名・サイズ・タイムスタンプなど)だけを記録するモードと、実際のデータブロックまで記録するモードがあるよ。データまで記録するほど安全だけど、書き込みが遅くなるトレードオフがあるんだ。

ひよこ ひよこ

ext4もジャーナリングファイルシステムなんだよね!

ペンギン先生 ペンギン先生

そうだよ。ext4デフォルトメタデータのみジャーナリングするorderedモードを使っていて、安全性とパフォーマンスのバランスをとっているんだ。

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