バックアップ方式の違いと適用の考察
0.改定履歴
- 1999.03.03 初版
- 1999.12.26 考察の追加
1.はじめに
このドキュメントは,バックアップソフトで出てくる用語で,間違いやすい・難しい用語になる“インクリメンタルバックアップ”と“ディファレンシャルバックアップ”について説明する. また,バックアップ方法の適用に関する考察もしめす.
2.インクリメンタルバックアップ
インクリメンタルバックアップでは,次のような動作になる.
- 1回目 フルバックアップ
- 2回目 1回目のインクリメンタル
- フルバックアップ以降に変更されたファイルをバックアップ.
- 3回目 2回目のインクリメンタル
- 前回のインクリメンタル以降に変更されたファイルをバックアップ
つまり,図にすると,次のようになる.
|
この図では,日曜日にフルバックアップが行なわれている. 月曜日にFile 1が変更されており,ここでインクリメンタルを行なうとFile1がバックアップされる. 次に,火曜日にFile 2が変更されている. ここでインクリメンタルを行なうと,File 2のみがバックアップされる. これだけだと判らないので,次の章のディファレンシャルバックアップと見比べればよいと思う. |
3.ディファレンシャルバックアップ(差分バックアップ)
ディファレンシャルバックアップでは,次のような動作になる.
- 1回目 フルバックアップ
- 2回目 1回目のディファレンシャル
- フルバックアップ以降に変更されたファイルをバックアップ.
- 3回目 2回目のディファレンシャル
- フルバックアップ以降に変更されたファイルをバックアップ.
|
この図では,日曜日にフルバックアップが行なわれている. 月曜日にFile 1が変更されており,ここでディファレンシャルを行なうとFile1がバックアップされる. ここまではインクリメンタルと同じ. 次に,火曜日にFile 2が変更されている. ここでディファレンシャルを行なうと,File1とFile 2がバックアップされる. つまり,ディファレンシャルの場合はフルバックアップ以降のバックアップ対象ファイルが累積して行く. |
4.差分バックアップの仕組み
ここでの“差分”とは,前回のバックアップ以降に変更されたファイルを示す.
バックアップソフトは,どうやって対象を抽出しているのか.
4.1.アーカイブフラグの検出
MS-DOS,Windowsのファイルシステムには,いくつかの属性を現すフラグが用意されている.
その中に,アーカイブフラグ(アーカイブビット)という属性がある.
アーカイブビットは,次のような仕組みとなっている.
- ファイルが保存される.
- 保存された日付がファイルシステムに書き込まれる.
- そのファイルに対するアーカイブフラグがオンになる.
つまり,ファイルが保存される時に,アーカイブフラグは常にオンになる. これはファイルシステム側の機能として提供される.
また,バックアップソフトは,次のような作業を行う.
- テープ等のバックアップメディアに,ファイルをバックアップする.
- バックアップが完了したら,アーカイブフラグをオフにする.
これはバックアップソフトが持っている機能である.
よって,この2つの機能を相互に利用することで,次回の差分バックアップの対象ファイルを抽出することができる.
これを,インクリメンタルとディファレンシャルでどのような動きをするか説明する.
- インクリメンタル
- フルバックアップ時にアーカイブフラグが全てオフにセットされる.
- インクリメンタルバックアップ時に,アーカイブフラグがオンとなっているファイルをバックアップする.
- アーカイブフラグをオフにする.
- 以降は,それを繰り返す.
- ディファレンシャル
- フルバックアップ時にアーカイブフラグが全てオフにセットされる.
- ディファレンシャルバックアップ時に,アーカイブフラグがオンとなっているファイルをバックアップする.
- アーカイブフラグをオフにしない.
- 以降は,それを繰り返す.
4.2.データベースを用いた検出
高機能なバックアップソフトでは,変更ファイルの抽出にデータベースを用いている.
データーベース化することで,対象ファイル抽出時のパフォーマンスや,管理の正確さなどを実現している.
4.3.両用を推奨
大半のバックアップ専用ソフトでは,データベースを利用した方法を採用しているが,同時にアーカイブフラグのクリアもサポートしているものもある.(ARCserve)
アーカイブフラグは,その仕組みさえ知っていればユーザ側でもバックアップされたかどうかがエクスプローラやファイルマネージャで視覚的に理解できるので,バックアップしたファイルのフラグはクリアするように設定しておくとよい.
5.バックアップ方法によるメリット・デメリットでの考察
これまでに説明したバックアップの方法を踏まえて,メリット・デメリットを列挙する.
- フルバックアップ
- メリット
- フルリストア時の作業手順が簡単.
- バックアップスケジュールの定義(バックアップ保証や実際のスケジューリング)が簡単
- デメリット
- データ量に比例し,バックアップ時間が増大する.
- データ量が増えると,世代管理ができなくなる.
- メリット
- インクリメンタル
- メリット
- 対象ファイルが少ないので,バックアップ時間がもっとも短い.
- よって,テープおよびヘッドの寿命を延命できる.
- デメリット
- リストア時に手間がかかる.
- リストア対象のファイルがいつ更新されたか検索する必要がある.
- メリット
- ディファレンシャル
- メリット
- フルリストア時,フルバックアップ+最後のディファレンシャルバックアップをリストアするだけ出よいので簡単.
- デメリット
- インクリメンタルよりは,対象ファイルが多い.
- メリット
テープメディア,装置の寿命や,バックアップよよび復旧時間などを踏まえると,“ディファレンシャル”がもっとも効果的だと思われる.
6.リストア時のシミュレーションでの考察
次のようにバックアップをスケジュールしておいたとする.
サンプル
- 月曜日にフルバックアップ
- 火曜日〜金曜日に変更分(インクリメンタル or ディファレンシャル)バックアップ
この状態で,次のようなシチュエーションとする.
- 土曜日にハードディスクが故障した.
- データが破損して全て復旧する事になった
この場合,バックアップ方式によって次のような作業の違いが出る.
- インクリメンタル
- 月曜日のフルバックアップをリストアする.
- 火曜日のインクリメンタルバックアップをリストアする.
- 水曜日のインクリメンタルバックアップをリストアする.
- 木曜日のインクリメンタルバックアップをリストアする.
- 金曜日のインクリメンタルバックアップをリストアする.
- ディファレンシャル
- 月曜日のフルバックアップをリストアする.
- 金曜日のディファレンシャルバックアップをリストアする.
さらに,
- 水曜日のテープメディアが壊れていた
というありがちなシチュエーションを付加した場合,次のような結果になる.
- インクリメンタルでは,水曜日分の変更が失われる.
- ディファレンシャルでは,全リストアが可能
データ保証率の高い,また運用作業の軽減を考慮すると,ディファレンシャルバックアップが有益である.