ただの技術メモ

個人備忘録

ジャーナリングファイルシステムについて

ジャーナリングシステムについて

ファイルへの書き込み中に遮断が発生しても、不整合が起きにくくするジャーナリングという仕組みがある。

これを利用したファイルシステムのことをジャーナリングファイルシステムという。 Linuxで使われているEXT4などはジャーナリングシステムの1つで、他にも多々ある。

ジャーナリングとは

ジャーナリングとは、実際のデータブロック(ファイル内のデータを保存する領域)に対して操作を行う前にジャーナルと呼ばれるログに変更内容を定期的に書き出しておくこと。 記録が完了してからジャーナル(ログ)を再生していくことで実際のデータを更新する。その後ジャーナルログを破棄してデータの一貫性を保つ。

これにより、データの整合性を保つことができる。 ExcelやWordを異常終了したときに復元できる機能のようなイメージ。

障害発生時の流れ

  • ジャーナルの記録が終了する前に異常終了した場合は、ジャーナル自体が不完全なので実データには変更が加えられず一貫性が保たれる。

  • ジャーナルを再生して実データに変更を加えている間に異常終了した場合、再起動時には未完了のジャーナルログの再生を再開するか、記録済みのジャーナルの操作を元に戻す操作を行うことによって一貫性が保たれる。