Windowsには標準でバックアップ・ユーティリティが付属している。これには複数の「バックアップの種類」が用意されており、使い分けることで大量のデータを効率よくバックアップできる。その中でも分かりにくい「差分」バックアップと「増分」バックアップの違いについて解説する。
対象OS:Windows 2000 / Windows XP
不意のディスク・クラッシュに泣かないためには、重要なデータの定期的なバックアップが欠かせない。幸いWindows 2000/Windows XP/Windows Server 2003には、標準でバックアップ・ユーティリティ(ntbackup.exe)が付属している(Windows NT 4.0にもバックアップ・ユーティリティは付属しているが、スケジュール機能が用意されていない、ファイルへバックアップできないなど、いくらか制限があった)。これを使えば、ローカル・ディスクのファイルはもちろん、ネットワーク上の共有ディレクトリのファイルを、テープ・ストレージやリムーバブル・ストレージ(MOやZipなど)、あるいはほかのコンピュータの共有フォルダにバックアップすることができる。
なお、Windows XP Home Editionでは、バックアップ・ツールはデフォルトではインストールされない。ツールはインストールCDの\VALUEADDフォルダに収録されているので、使用するにはインストールCDからマニュアルでインストールしなければならない。 詳細はTIPS「Windows XP Home Editionでバックアップ・ツールを使う」を参照されたい。
もともとこのツールは、バックアップ・ユーティリティ開発のメジャー・ベンダの1つであるVeritas Softwareが開発したものだ。Veritasが販売する有償の製品版では、クライアント・コンピュータ内にあるファイルの集中的なバックアップ機能など、大規模なネットワーク環境を前提とした集中管理機能、Exchange Serverデータの高速バックアップ、より使いやすいユーザー・インターフェイスなどが提供される。
現在、大容量リムーバブル・ストレージといえば、CD-R/RWドライブが主流であるが、これらのドライブへの書き込みでは、別途ライティング・ソフトウェアが必要なため、バックアップ・ユーティリティから直接書き込むことはできない。Windows XPには標準でCD-R/RWライティング機能が搭載されているが、バックアップ・ユーティリティから直接書き込めない点はWindows 2000と変わらない(ただし、バックアップしたデータを1アクションでCD-R/RWに書き込む方法がある。詳細はTIPS「バックアップ・ファイルをワン・アクションでCD-R/RWに書き込む」を参照)。
このバックアップ・ユーティリティを利用して、重要なデータを定期的にバックアップすればよいのだが、それで終わる簡単な話ではない。ディスク容量の増加に伴って、バックアップしなければならないデータ・サイズもうなぎ上りに大きくなっており、工夫しないと効率的なバックアップ処理が行えないからだ。
単純には、重要なファイルが含まれるフォルダを指定して、それ以下に含まれるすべてのファイルを毎回バックアップすればよい。しかしこれが巨大なサイズだと、バックアップ完了までに膨大な時間がかかるし、バックアップ先に大量の空きスペースが必要になる。さらに毎回データを上書きできるならよいが、何世代かにわたって世代管理を行いたいとなれば、何倍もの空きスペースが必要になってしまう。
こうした問題に対処するために、バックアップ・ユーティリティでは、「バックアップの種類」と呼ばれるいくつかのバックアップ方法を提供している。これを使い分けることで、バックアップ作業に必要な時間と空きディスク容量、リストア作業にかかる手間のバランスをとることができる。
バックアップ・ユーティリティで「バックアップの種類」を変更するには、[バックアップの開始]ボタンをクリックすると表示される以下の[バックアップ ジョブ情報]で[詳細設定]ボタンをクリックする。
ここでバックアップの種類を選択すれば、以後のバックアップ処理は指定の方法で実行される。
Windowsシステムが提供するファイル・システムでは、それぞれアーカイブ・ビット(archive bit)と呼ばれる属性が用意されている。これは、最後にバックアップを行ってから、変更されたファイル(つまり、まだバックアップされていないファイル)を追跡できるようにするために用意されたものだ。
アプリケーションからファイルを更新すると、OSによって、そのファイルのアーカイブ・ビットが自動的に有効化(セット)される。そしてそのファイルをバックアップすると、アーカイブ・ビットが無効化(クリア)される。つまりアーカイブ・ビットが有効になっているファイルは、最後のバックアップ以後に変更されたファイルということになる。
バックアップ・ユーティリティが提供する「バックアップの種類」の違いは、具体的にはこのアーカイブ・ビットの取り扱いの違いである。これらをまとめると次のようになる。
バックアップの種類 | 処理の内容 |
---|---|
通常 | アーカイブ・ビットの状態によらず、すべてのファイルをバックアップし、同時に各ファイルのアーカイブ・ビットを無効化する。つまりファイルはバックアップ済みで、更新されるまで(アーカイブ・ビットが再び有効化されるまで)バックアップが不要であることがマークされる |
コピー | アーカイブ・ビットの状態によらず、バックアップ先にファイルをコピーする。またコピー時もアーカイブ・ビットは操作しない。つまりアーカイブ・ビットの状態によらず(すでに実施しているバックアップの種類によらず)、同じファイルを何度でもコピーできる。また「コピー」を実行してもアーカイブ・ビットは操作されないので、以下の「増分」バックアップや「差分」バックアップには影響を及ぼさない |
増分 | 直前の「通常」または「増分」バックアップから、変更されたファイルだけをバックアップする(アーカイブ・ビットが有効化されているファイルだけをバックアップする)。バックアップしたファイルのアーカイブ・ビットは無効化する。まずは「通常」バックアップですべてのファイルをバックアップしておき、以後はこの「増分」バックアップを実行することで、変更されたファイルだけをコンパクトにバックアップできる |
差分 | 前回の「通常」または「増分」バックアップ以後に変更されたファイルだけをバックアップする(「増分」と同じく、アーカイブ・ビットが有効化されているファイルだけをバックアップする)。「増分」バックアップとは異なり、「差分」バックアップではバックアップしたファイルのアーカイブ・ビットは操作せず、そのままにしておく。つまり「差分」バックアップを繰り返すと、前回の「通常」または「増分」バックアップ以後に変更されたすべてのファイルが毎回バックアップされる |
毎日 | バックアップが実行された日に変更されたファイルのみをバックアップする(アーカイブ・ビットではなく、更新日時に基づいてバックアップする) |
これらのうち、「増分」バックアップと「差分」バックアップの違いは分かりにくい。そこで違いを図示してみた。図の左側はバックアップ元のファイル、右側はバックアップされるファイルで、各行はバックアップ・セッション(1回のバックアップ処理)を表している。また図中の丸数字は、数字の順にファイルが追加されたものとする。
このように「通常」バックアップでは、毎回、すべてのファイルがバックアップされる。従ってデータをリストアするときには、最後にとったバックアップ・ファイルから1回の作業でリストアできる。しかし、毎回すべてのファイルをバックアップするので時間がかかるし、履歴も残すとなると、バックアップに必要な空き容量も大きくなるという欠点がある。
これに対し「増分」バックアップでは、バックアップを実行するたびに、直前で実行した「通常」または「増分」バックアップ以後に変更されたファイルだけがバックアップされる(アーカイブ・ビットが有効化されているファイルだけがバックアップされる)。バックアップしたファイルのアーカイブ・ビットは無効化されるので、変更されないかぎり次回の「増分」バックアップではバックアップされない。
「増分」バックアップでは、変更されたファイルだけを効率よくバックアップできる。結果的に過去の変更履歴も着々と残すことになる。ただし、最新の状態にリストアするには、「通常」バックアップしたファイルをリストアした後、「増分」バックアップしたファイルを古い順にリストアしていかなければならない。また冗長性はまったくないので、いずれのバックアップ・ファイルが失われても、完全な最新状態へは復帰できない。
一方の「差分」バックアップでは、以前に実行された「通常」または「増分」バックアップ以後に変更されたすべてのファイルがバックアップされる(アーカイブ・ビットが有効化されているファイルだけがバックアップされる)。バックアップを実行しても、ファイルのアーカイブ・ビットは変更しないので、「通常」バックアップ以降に変更されたすべてのファイルが毎回バックアップされる。「増分」バックアップに比べるとバックアップ時間や空き容量の効率は悪い。しかしリストア時には、「通常」バックアップしたデータと、最新の「差分」バックアップ・データの2回のリストア作業で最新の状態を復元できる。
また「通常」バックアップ以後に変更されたファイルは冗長にバックアップされており、たとえ途中の「差分」バックアップ・ファイルが失われても、最後の「差分」バックアップさえあれば完全な最新状態に復帰できる。
どの「バックアップの種類」を使うかは、バックアップ対象のファイル・サイズや重要度によって変わるだろう。
クライアントPCのちょっとしたデータをバックアップするというなら、毎回「通常」バックアップを指定して、すべてのファイルをバックアップするのが簡単だ。
しかしファイル・サーバのバックアップなど、大量のデータをこの方法でバックアップするのは困難かもしれない。その場合には、定期的に「通常」バックアップを行い、後は「差分」バックアップを実行するという方法がよいだろう。「増分」バックアップは時間とディスク領域の両面で効率的だが、リストア作業が面倒である。
例えば、毎週決まった曜日に「通常」バックアップを実施し、残りの曜日は「差分」バックアップを実施するというのが一般的だろう。ネットワークに複数のサーバがあり、それらをすべてネットワーク経由でバックアップするというなら、「通常」バックアップの曜日をサーバごとにずらせば、バックアップ時にかかるネットワークの負荷を軽減できる。
■更新履歴
【2005/12/15】Windows XP Home Editionでバックアップ・ツールを使うための情報を追加しました。
【2003/06/14】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.