Windowsのシャドウコピーでファイルを自動バックアップする(サーバー編)Tech TIPS

Windows Server 2003の共有フォルダのシャドウ・コピー機能を利用すると、削除されたファイルを復活させたり、過去のバージョンを取り出したりできる。定期的にファイル・システムのスナップショットを作成することにより、その時点の状態を再現することができる。1ドライブ当たり、最大64個のスナップショットを保存することができる。スナップショットはディスクの空き領域に保存されるため、この機能を有効にしても、システムにはほとんど影響を与えない。

» 2005年04月23日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows Server 2003



解説

●「共有フォルダのシャドウ・コピー」とは

 Windows Server 2003の新機能の1つに、「ボリューム・シャドウ・コピー・サービス(VSS)」がある。VSSの基本的な機能は、ボリューム上のファイルを使用中であるかどうかに関わらず、その「スナップショット(現在の状態)」を作成して、それをバックアップしたり、コピーしたりできるようにする機能である。VSSの詳細については関連記事「可用性を向上させるVSS」を参照していただきたい。

 このVSSの機能を利用して、「削除してしまったファイルや、上書きしてしまったファイルの復活」を行うのが「共有フォルダのシャドウ・コピー」機能である。ファイル・システムに加えられた追加や削除、変更などの履歴を定期的に記録しておくことにより、過去の任意の時点でのファイル・システムの状態を復元させ、削除されたファイルや上書きする前のファイルの内容などを復活させることができる。

 削除してしまったファイルの復活作業は、従来ならば管理者に依頼してバックアップ・テープから読み出すなど、時間も手間もかかっていた。だがこの機能を利用することにより、管理者の手を煩わせることなく、ユーザー自身で素早く復旧作業を行うことができる(クライアント側での具体的な操作方法については別TIPSの「シャドウ・コピーで過去のバージョンのファイルを取り出す(クライアント編)」、「シャドウ・コピーで削除したファイルを復活させる(クライアント編)」参照)。

 ファイル・システムの現在の状態を保存することを「スナップショットを取る」といい、記録された状態のことを「シャドウ・コピー・セット」という。デフォルトでは、1日に2回(朝7時と昼12時)スナップショットが取られ、ドライブごとに最大64個までのシャドウ・コピー・セットが保存できる。シャドウ・コピー・セットはディスク上の空き領域部分に保存されるし、スナップショットを取るための時間も(たいていの場合は)ほんの数秒から数十秒程度しかかからない。そのため、この機能を有効にしてもシステムにはほとんど影響はないだろう。Windows Server 2003をファイル・サーバーとして使っているなら、この機能を使わない理由はほとんどない、といえるくらい便利な機能である。とはいうものの、これを使えばテープ・バックアップが不要になるというものではない。あくまでも過去のバージョンのファイルを簡単に復元できるようにする機能であり、例えばディスクが壊れてしまうとファイルをアクセスできなくなるのは、従来と同様である。

 またごみ箱やNetWare OSのサルベージ(削除したファイルの復旧)機能などと違って、いま削除したファイルをすぐに復活させることはできない。スナップショットを取った時点でのファイルの状態のみが保存されているので、例えば1日に3回以上ファイルを変更している場合には、元のすべてのバージョンを復旧させることはできない。このような場合は、スケジュールを変更して、もっと頻繁にコピー・セットを作成させるなどの設定が必要である。

 共有ファイルのシャドウ・コピー機能を利用するかどうかは、ドライブ(ディスク・ボリューム)ごとに設定する。例えばシステム・ドライブ(C:など)では利用しないが、アプリケーション・データ領域や、ユーザーのファイル格納領域については有効にしておく、といった具合に設定できる。Windows XPのシステム復元機能と違って、この機能によって復元できるのはファイルやフォルダ単位にとどまる。レジストリを含めたシステムの構成情報を復元するものではない。とはいえシステム・ドライブの内容(システムDLLやログ・ファイルなど)をユーザーやシステム管理者が1つずつ復元する必要性はほとんどないはずだ。

 共有ファイルのシャドウ・コピー機能を利用するには、まずサーバー側で設定を行っておく必要がある。本TIPSではこのサーバー側の設定方法について解説する。クライアント側での具体的な操作方法については別TIPSの「シャドウ・コピーで過去のバージョンのファイルを取り出す(クライアント編)」、「シャドウ・コピーで削除したファイルを復活させる(クライアント編)」を参照していただきたい。

操作方法

●シャドウ・コピー管理ツールの起動

 共有フォルダのシャドウ・コピーを設定するには、次のように、サーバー側で「シャドウ コピー」プロパティ・ダイアログを表示させる(以下の操作には管理者権限が必要)。このダイアログを表示させる方法は2通りある。1つは、エクスプローラで各ローカル・ドライブ(C:とかD:)名を右クリックし、ポップアップ・メニューから[プロパティ]−[シャドウ コピー]を選択する方法である。もう1つは、コンピュータの管理ツール([管理ツール]−[コンピュータの管理]を実行するか、デスクトップ上の[マイ コンピュータ]を右クリックして、ポップアップ・メニューから[管理]を選択する)を起動し、[システム ツール]−[共有フォルダ]を右クリックして、ポップアップ・メニューから[すべてのタスク]−[シャドウ コピーの構成]を選択する。

シャドウ・コピーの構成ツール シャドウ・コピーの構成ツール
これは[コンピュータの管理]ツールで、[共有フォルダ]−[すべてのタスク]−[シャドウ コピーの構成]で表示されるツール。各ドライブのプロパティ・メニューでも表示させることができる。VSS機能はデフォルトではオフになっており、必要に応じて、ドライブごとにオンにする。
  (1)ローカルのドライブ(ボリューム)の一覧。
  (2)選択したドライブに対してVSSとスケジュール機能を有効にするには、これをクリックする。
  (3)これをクリックすると、すでに割り当てられているシャドウ・コピー・セットがすべて削除され、スケジュール設定も無効にある。
  (4)シャドウ・コピー・セットを保存する先やスケジュールの設定を行う。
  (5)スケジュールとは関係なく、すぐにシャドウ・コピー・セットを作成するにはこれをクリックする。

 共有フォルダのシャドウ・コピーは、ドライブごとに設定する必要がある。デフォルトではすべてのドライブで無効になっているので、有効にしたいドライブを選択して、[有効]ボタンをクリックする。するとシャドウ・コピー機能を有効にするかどうかを問い合わせるダイアログ・ボックスが表示されるので、[はい]を選択すればよい。これにより、そのドライブの最初のシャドウ・コピー・セットが作成され、さらに定期的なシャドウ・コピーの作成スケジュールも有効になる。なお、この機能を利用できるのはNTFSボリュームのみで、FATボリューム上では利用できない。

●手動によるシャドウ・コピー・セットの作成/削除

 定期的な作成ではなく、単にいますぐにシャドウ・コピー・セットを(手動で)作成させたければ、ダイアログの下側にある[今すぐ作成]をクリックすればよい。手動もしくは自動スケジュールによって作成されたシャドウ・コピー・セットの一覧は、ダイアログの下側に時間順に表示される。

シャドウ・コピー・セットの管理 シャドウ・コピー・セットの管理
作成されたシャドウ・コピー・セットの削除や復元(過去の特定時点の状態へ戻すこと)などができる。
  (1)どれか1つを選択すると、そのドライブに対するシャドウ・コピー・セットの状態がダイアログの下側に表示される。
  (2)スケジュール機能が有効な場合、次回のスナップショットが取られる時刻。
  (3)シャドウ・コピー・セットで使用しているディスク・サイズ。
  (4)[無効]にすると、すべてのセットが削除され、スケジュールが無効になる。
  (5)保存先やスケジュールの設定。
  (6)保存されているセットの一覧。上側の方が新しいセット。最大で64セットまで保持できる。特定のセットを選択して削除したり、復元したりできる。
  (7)新しいスナップショットを作成する。
  (8)選択したセット(複数選択可)を削除することができる。ただし一番古いもの(一番下側のもの)から順に削除しないと、実際にはディスク領域は解放されない。
  (9)左側の一覧から1つ選んでこれをクリックすると、ファイル・システムの状態がこの時点の状態にまで復元する。この例では、(6)の時点の状態にまで戻り、さらに(6)とその上側にあるシャドウ・コピー・セットはすべて削除される。

 不要なシャドウ・コピー・セットは、手動で削除することができる。ディスク領域が圧迫されている場合は、古いものを削除して、空き領域を広げるとよいだろう。ただし詳細は省略するが、その原理上、一番古いシャドウ・コピー・セット以外を消去しても空き領域は増えない。一番古いセット(およびそれに続くセット群)を削除した場合にのみ、そこで使用されていた領域が解放される(最大セット数64を超えると、一番古いセットから順番に自動的に削除される)。

●指定した時点の状態への復帰

 上記のダイアログにおいて、特定のセットを1つ選択して[元に戻す]を実行すると、その時点でのファイル・システムの状態にまで戻すことができる。例えば1週間前のシャドウ・コピー・セットを1つ選択して[元に戻す]を実行すると、1週間前のファイル・システムの状態に戻すことができる。この場合、1週間前から今日までの間に追加されたファイルや、そのほかの変更の記録はすべて破棄されるし、その期間のシャドウ・コピー・セットも削除されるので、十分注意して実行する必要がある(1週間よりも前のシャドウ・コピー・セットは残っているので、さらに古い時点にまでさかのぼって復元することは可能)。なお、この復元機能はシステム・ドライブ(OSがインストールされているドライブ)に対しては実行することはできない(OSそのものに不整合が生じ可能性があるため、禁止されている)。またこの復帰操作は、内部的には、コピー・セットを最新のものから逆順に1つずつ適用させて元へ戻しているので、その適用には少し時間がかかる。

●シャドウ・コピー・セット保存用領域のサイズ設定

 シャドウ・コピー・セットはデフォルトでは同一ドライブ上に記録され、その最大サイズはドライブ・サイズの1割までとなっている(最小使用サイズは300Mbytes)。シャドウ・コピー・セットはディスクの空き領域に保存されるため(実際には各ドライブの「\System Volume Information」フォルダ中に記録される)、空き領域が少ないと十分な数のセットを記録することができなくなる。制限を超えると、古いセットから順に自動的に削除されるようになっているので、ディスクに余裕のある場合は、特に最大サイズを指定せず、制限なしにしておくとよいだろう。最大サイズを変更するには、シャドウ・コピーの設定ダイアログでドライブを選択し、[設定]ボタンをクリックする。

シャドウ・コピー・セット保存用領域のサイズ設定 シャドウ・コピー・セット保存用領域のサイズ設定
この画面では、シャドウ・コピー・セットを保存する場所や最大サイズを指定する。
  (1)シャドウ・コピー・セットの作成対象となるドライブ。
  (2)シャドウ・コピー・セットの実際のデータを保存するドライブ。デフォルトでは同じドライブ上に配置されるが、(1)と別のドライブ上に配置することにより、パフォーマンスの低下を防ぐことができる。ただしすでにシャドウ・コピー・セットが1つ以上保存されていると、配置先ドライブを変更することはできない。既存のセットをすべて削除するか、[有効]ボタンを押す前に、この設定を行うこと。
  (3)現在のシャドウ・コピー・セットのサイズなどを確認する。
  (4)[制限なし]を選択すると、空き領域をすべてシャドウ・コピー・セットの保存用として使用する。
  (5)デフォルトでは、ドライブ・サイズの1割までしか使用しない。これを超えると、古いセットから順に削除する。
  (6)シャドウ・コピー・セットを作成するスケジュールの設定/確認。

 このダイアログで[制限なし]を選択すると、空き領域のある限り新しいコピー・セットが記録される。ただし保存できるコピー・セットの最大数は64セットまでに制限されているし、ファイル全体ではなく、変更のあったブロックのデータしか記録されないので、一般的には、空き領域がすべて使用されることはないだろう。例えば100Mbytesのファイルであっても、1Mbytesしか上書きしていなければ、コピー・セットにはその1Mbytes(の部分のオリジナル・データ)しか保存されない。

●シャドウ・コピーを異なるドライブ上へ配置する

 シャドウ・コピー・セットは、デフォルトでは同じドライブ上の空き領域に記録されることになっているが、これを変更して、別のドライブ上に保存させることもできる。こうすると、ディスク・アクセスが分散するのでシステムのパフォーマンスを向上させることができるほか、(コピー・セットを保存する必要がないので)ボリューム・サイズいっぱいまで使用できるし、より大きなコピー・セット・サイズまで利用できる。

 シャドウ・コピー・セットを別ドライブへ割り当てるには、上の設定画面において[次のボリューム上に配置]のドロップ・ダウン・リストで保存先のドライブ(NTFSドライブのみ使用可能)を選択すればよい。ただし、すでに1つ以上のシャドウ・コピー・セットが保存されている場合は保存先ドライブを変更することはできない。保存先を別のドライブに変更したければ、(1)[有効]ボタンをクリックする前に保存先ドライブの設定を変更しておくか、(2)すでに作成されているシャドウ・コピー・セットを手動ですべて削除してから変更する、のいずれかの操作を行う必要がある。

 実際に、その保存先ドライブ上にどれだけシャドウ・コピー・セットが記録されているかを調べるには、[詳細]というボタンをクリックすると表示される。

保存先ドライブの確認 保存先ドライブの確認
シャドウ・コピー・セットの保存先と、使用中のサイズなどを確認することができる。
  (1)シャドウ・コピー・セットの配置先(保存先)のドライブ名。この例では、E:ドライブとX:ドライブのシャドウ・コピー・セットを、このX:ドライブに保存している。
  (2)シャドウ・コピー・セットの対象となるドライブ。
  (3)シャドウ・コピー・セットで使用しているサイズ。最低でも300Mbytes使用する。
  (4)保存可能な最大サイズ。空きディスク領域がこれより少ないと、実際に使用するサイズはもっと少なくなる。
  (5)ディスクの空きサイズ。
  (6)ディスク全体のサイズ。

●シャドウ・コピーのスケジュールの設定

 共有フォルダのシャドウ・コピーを有効にした場合、デフォルトでは平日の朝7時と昼12時に新しいシャドウ・コピー・セットが作成される(1週間に10セット)。1つのドライブごとに作成/保持可能なシャドウ・コピー・セットの最大数は64セットまでなので、この設定ならば、最大で約6.5週間(1.5カ月)前までさかのぼってファイルを復元することができる。先のシャドウ・コピー・セットの管理の画面で[スケジュール]ボタンをクリックすると、次のようなダイアログが表示される。

スケジュールの確認 スケジュールの確認
シャドウ・コピー・セットを作成するスケジュール。デフォルトでは平日の午前7時と昼12時になっている。これは実際にはWindows OSのタスク・スケジューラを起動しているので、[コントロール パネル]−[タスク]でも変更可能である。
  (1)タスクの実行時間のリスト。
  (2)新しく追加するにはこれをクリックする。
  (3)実行開始時間。
  (4)実行する曜日の指定。デフォルトでは平日のみ実行される。

 デフォルトでは平日の朝7時と昼12時になっているが、これは、午前中の作業の結果を昼12時に保存し、さらに午後の作業の結果を翌朝7時に保存する、という設定である。もう少し短い時間間隔で保存するようにしてもよいが、その分保存期間(復元可能期間)が短くなるので、注意深く決める必要がある。この保存期間よりも古いファイルはバックアップ・テープなどから復旧させる必要があるが、その手間なども考えてスケジュールを決めていただきたい。

●コマンド・ラインでの制御

 共有フォルダのシャドウ・コピー機能をコマンド・ラインから制御するには、vssadmin.exeコマンドを利用する。

C:\>vssadmin /?
vssadmin 1.1 - ボリューム シャドウ コピー サービス管理コマンドライン ツール
(C) Copyright 2001 Microsoft Corp.

---- サポートされるコマンド ----

Add ShadowStorage     - 新しいボリューム シャドウ コピーの記憶域の関連付けを追加します。
Create Shadow         - 新しいボリューム シャドウ コピーを作成します。
Delete Shadows        - ボリューム シャドウ コピーを削除します。
(以下省略)



 詳細は「ヘルプとサポート センター」などを参照していただきたいが、例えば「vssadmin.exe Create Shadow /For=C:」などとすると、新しいシャドウ・コピー・セットを作成することができる(タスク・スケジューラには、このようなコマンドが登録され、毎日実行されている)。なおWindows Server 2003 SP1では、シャドウ・コピー・セットの復元を行う「vssadmin Revert Shadow」コマンドが追加されている。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。