データをコピー(移動)している最中に誤ってケーブルを抜いてしまったり、停電になってしまった経験はありませんか?
WindowsやMac等のOSがハードディスク上のデータを扱う際にはファイル管理システムというものを利用します。
Windows XPやWindows Vista等では通常NTFSというシステムを利用します。MacではZFS等です。
これらのファイルシステムには突然のアクシデントに対応する仕組みが備わっています。(有効にするかは任意)
通常ファイル管理システムは実データを管理するために実データのほかにメタデータ(ファイルの管理情報を記載したもの)も持っています。もし他のハードディスクにデータをコピーすると仮定するとまず実データをコピーしてから、メタデータをコピーします。ところがメタデータをコピーしきらないうちに停電等などのアクシデントが発生すると、ハードディスク内で実際にデータがある場所と、そのデータへのアクセスパスとの間で不整合が生じることがあります。そうするとコピー先のデータへアクセスする手段を失うことになってしまいます。
このような事態が発生した場合、対応策の一つとしてチェックディスクやスキャンディスクを使用してひとつひとつデータを突き合わせて問題点を修復する方法があります。しかしこの方法では時間がかかること、不整合なデータが見つかると勝手に上書きされて消される可能性があることなどから問題もあります。
そのような不整合を防ぐための別の新たな仕組みが”ジャーナリングファイルシステム”です。簡単にいうとメタデータを先に書き込み、次いで書き込み要求に応じて実データを書き込みます。書き込みのつどメタデータは更新されていきます。メタデータはジャーナルファイルに安全に書き込まれて保存されていて、万が一のときには必要なメタデータを活用してデータの不整合が生じる前の段階まで戻すことが可能です。
いわば書き込みデータの目録を世代管理していることになり、障害時のデータ復旧においてスキャンディスクやチェックディスクを行うよりも時間短縮にもつながります。
このような仕組みは古くからデータベースで活用されてきたしくみですが、現在ではクライアントOSでもその仕組みを活用できるようになっているわけです。
アプリケーションのバグで正常に終了処理ができずにデータ障害が発生するような論理障害や、ハードディスク故障以外の要因によるシステム障害等では”ジャーナリングファイルシステム”によってデータ復旧できる可能性があります。
しかし、ハードディスクそのものの障害による物理障害にはやはり対処できないことが多いです。
結論として困ったときのジャーナリングファイルシステムではありますが、それでもバックアップは物理障害に対処する唯一の手段です。バックアップはぜひしっかりと取りましょう。