データ復旧比較.jp > データ復旧用語集 > ジャーナリングファイルシステム

◆ジャーナリングファイルシステム|詳細|データ復旧をサポートする会社を徹底検証!

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

ジャーナリングファイルシステム(Journaling file system)とは、書き換え処理要求(トランザクション)単位で内包するファイル構成情報を含むメタデータを管理および保持できる機能を持ったファイルシステムのこと。ジャーナルファイルシステムともいう。

目次

概要

重要なデータを扱うシステムにおいて、細分化されたファイルや大規模なファイルなどの更新を行う際、ファイルシステムのメタデータ書き換え処理において比較的長い時間が必要となり、その書き換え中に電源断や処理中断が発生した場合、ファイル構成情報に矛盾が発生し、最悪データへのアクセスが不可能となってしまう。 このような状況を避けるため、UNIXでいうinode情報やWindowsのSuperBlock、FNODEといったファイルシステム上のメタデータを書き換え処理(トランザクション)単位で管理・保持する事ができる機能を持ったファイルシステムのことである。

既存ファイルシステムの問題点

一般にディスク上のファイルシステムに書き込まれるデータには、データ自体を現す実データ部分とその実データのディスク上の位置、ファイル名/更新日時、アクセス権限などの管理情報を現すメタデータ部分の2種類に分類される。

実際にハードディスクにデータを書き込む際のファイルシステムの動きを追ってみる。 ファイルシステムがデータを記録する場合、まず実データの書き込みを行い、その上でその実データを管理するメタデータを書き出さなくてはならない。

このメタデータの記録に時間が掛かる場合、つまり非常に小さいファイル群の記録(管理データが増える)やその逆の非常に大きなファイル(実データがどこにあるかの管理データが増える)を記録するような場合において、メタデータの書き込みを行っている最中に何らかの原因(例えば電源切断)により書き込み処理が中断したとする。 その場合、メタデータとして記録した情報に不整合が発生し、実データの配置や管理情報矛盾などが起こり、実データへのアクセス手段を失ってしまう事になる。

初期の回避策

この問題を回避する方法として、システムが再起動した際にハードディスク全体をスキャンするプログラムを実行して、矛盾を修正する方法が用意された。

このチェックプログラムと各オペレーティングシステムは以下の様。

  • UNIX系: fsck
  • Windows: chkdsk, scandisk
  • Mac OS: Disk First Aid

これらのプログラムは起動時に自動的にチェックするような対応が取られている。

しかし、これらのツールを使用して、起動時にチェックする方法には以下のような問題点が残される。

  • 実データとメタ情報の突合せ確認を行うため、全ディスクの情報を検証するための処理とディスク全体の再スキャンに非常に時間がかかる。
  • スキャンプログラムによるチェック時に想定以外の問題を検出した場合、不整合なデータを削除するため、実データ自体が失われてしまう可能性が残る。

この問題を解決するため、ジャーナリングファイルシステムが導入された。

根本的な解決策(ジャーナリングファイルシステムの導入)

初期の回避策で回避できない問題点に対し、それぞれの実データ書き込みよりもメタデータの書き込みを先行的に行い、書き込み要求に従ってそのメタデータを「ジャーナル」と呼ばれる領域に逐次記録し、更新する事で対処するジャーナリングファイルシステムが考案され、実装された。

メタデータを先行的に書き込み、実データ書き込み要求に従ってその変更点を反映し、複数回分のメタデータをジャーナルに保持・管理する事で、ファイル更新中の書き込み中断に対処する事ができる。

この方法を取る事により、メタデータと実データ間の矛盾が発生しても、矛盾が発生する前のメタデータに強制的に戻す事により、実データを含むファイル自体の消失を避ける事ができる。この方法は、ハードディスク全体を詳細にスキャンするより遥かに処理時間を短くする事が可能である。

一般にジャーナルによって保護されるのはメタデータまでで、ファイルの中身までは保護されない。つまり、ジャーナリングファイルシステムを導入することで、システムクラッシュにともなうファイルシステムの破壊という事態は避けられるものの、保存したはずの内容が保存されていなかったという事態が起こる可能性は十分に考えられる。

ただし、Linuxのext3やネットワーク・アプライアンスのWAFL等、いくつかのジャーナリングファイルシステムでは実データの保護も行っている。

経緯

元々、汎用機において重要な業務データを扱う際のファイルのメタデータ保持方法から考案されたものであり、汎用機のファイル管理ツールの設計思想をPCで取り入れるべく考慮された。 そのため、オープン系での最初のジャーナリングファイルシステムは、汎用機及び高可用トレラントコンピュータ向けのOSを作っていたIBMのJFS(AIX V3.1向け1990年)及び、Tolerant Software(VERITAS)のVxFS(UNIX System V向け1989年)である。

JFS
当初はOS/2に開発が進み、実際のリリースは、1990年にIBMの商用UNIXであるAIXのV3.1に行われた。
VxFS
また、ほぼ同時期に、UNIXの汎用機置き換え需要に合わせ、1987年にTolerant Software(VERITAS社の前身)がAT&T UNIX System Laboratoriesの協力を得て、自社のハイアベイラビリティ・オペレーティングシステムからUNIX System V向けに価値あるコードを抽出し、トランザクションベースのボリュームマネージャと共にUNIX向けジャーナリングファイルシステムを業界で初めて開発した。その後、商用パッケージとして1989年にVxFSとして提供された。

その後、UNIXライクなOSの発展に伴い、多くのジャーナリングファイルシステムが考案され、実装されている。

ジャーナリングファイルシステム製品

以下、VxFSのみ有償であり、それ以外は無償または標準搭載である。

商用UNIX

  • AIX: JFS、VxFS
  • HP-UX: VxFS
  • Solaris: UFS logging、ZFS(Solaris10から使用可能)、VxFS
  • IRIX: XFS

Linux

  • ext3、ext4
  • JFS
  • ReiserFS
  • XFS
  • VxFS
  • ZFS
  • NTFS

FreeBSD

  • GEOM gjournal
  • ZFS

NetBSD

  • WAPBL

Windows

  • NTFS

Mac

  • HFS+ - ジャーナリングはMac OS X 10.2.2から加わった

その他のOSでのジャーナリングファイルシステム

  • BeOS: BFS
  • NetWare5: NSS
  • Spiralog
  • WAFL - ネットワーク・アプライアンス社統合ストレージ管理マイクロカーネルONTAPに実装

最終更新 2012年2月17日 (金) 19:41 (日時は個人設定で未設定ならばUTC)。
【ジャーナリングファイルシステム】変更履歴

ジャーナリングファイルシステム|詳細:データ復旧の用語集をご覧の皆様へ

パソコンやデジカメなどのデータが消えた!パソコンが急に起動しなくなった!など、急なトラブルであなたの大切なデータが消えてしまったことはございませんか?そんな突然のトラブルからデータ復旧してくれるのが、データ復旧サービスです。データ復旧比較.jpの用語集ではデータ復旧に関する様々なキーワード「例:ジャーナリングファイルシステム」が検索できます。

ご利用上の注意

  • 本用語集に掲載される用語は、百科事典「ウィキペディア日本語版」からプログラムにより自動的に抽出・表示されるため、一部ふさわしくない用語が表示される場合があります。
  • 当社は、本用語集を通じて提供される情報に関する、有用性、適合性、完全性、正確性、安全性、合法性、最新性等について、いかなる責任も負わないものとします。
  • 当社は、お客様が本用語集をご利用されることによって発生した直接・間接の損害に対して、いかなる責任も負わないものとします。