Windows の管理

Windows Server 2008 における Active Directory のバックアップと復元

Gil Kirkpatrick

 

概要:

  • NTBACKUP と Windows Server バックアップの比較
  • バックアップに関するツールとオプション
  • 回復に関するツールとオプション
  • 適切な Active Directory バックアップ戦略を立てるためのポイント

Active Directory ドメイン サービス (ADDS) が Windows インフラストラクチャのミッション クリティカルなコンポーネントであることは、皆さんご存知だと思います。Active Directory が停止すると、ネットワークは基本的に使い物にならなくなります。したがって、Active Directory のバックアップおよび回復計画を立てることは、

セキュリティとビジネスの継続性を確保し、法令遵守を徹底するうえで非常に重要です。

Windows Server® 2008 では、Active Directory® のさまざまな新機能が追加されていますが、バックアップおよび回復計画に大きく影響するのはそのうちの 2 つで、新しい Windows Server バックアップ ユーティリティと、Active Directory のボリューム シャドウ コピー サービス スナップショットを作成および操作できる機能です。この記事では、これらの機能強化がもたらす変更点と、これらを利用して Active Directory のバックアップに関連する作業を合理化する方法について説明します。

NTBACKUP と Windows Server バックアップの比較

グループ ポリシー設定

Windows Server バックアップでは、サーバーでのバックアップ動作をある程度まで制御できるグループ ポリシー設定がいくつか提供されます。これらのバックアップ ポリシーを使用すると、アクセス権が与えられていないデータにアクセスするために実行される、不正なバックアップに関連するリスクの一部を緩和できます。これらのポリシー設定は、次のとおりです。
Allow Only System Backup (システムのバックアップのみを許可する) この設定を有効にすると、Windows Server バックアップで、重要なシステム ボリュームのバックアップのみが許可されます。ボリューム バックアップは実行できません。
Disallow Locally Attached Storage as Backup Target (ローカルに接続された記憶域へのバックアップを許可しない) この設定を有効にすると、ローカルに接続されたドライブへのバックアップを実行できなくなります。つまり、ネットワーク共有へのバックアップのみが許可されます。
Disallow Network as Backup Target (ネットワークへのバックアップを許可しない) この設定を有効にすると、ネットワーク共有へのバックアップを実行できなくなります。
Disallow Optical Media as Backup Target (光学メディアへのバックアップを許可しない) この設定を有効にすると、Windows Server バックアップで、光学デバイス (書き込み可能な DVD ドライブなど) へのバックアップを実行できなくなります。
Disallow Run-Once Backups (1 回実行バックアップを許可しない) この設定を有効にすると、Windows Server バックアップで、スケジュールされていない 1 回限りのバックアップを実行できなくなります。Windows Server バックアップ MMC スナップインからスケジュールしたバックアップのみが許可されます。

Windows NT® 3.5 から皆さんに愛用され続けてきた NTBACKUP は提供されなくなりました。これに代わる機能が Windows Server バックアップです。この新しいツールは、単に NTBACKUP に変更が加えられただけではなく、システムのバックアップ方法を考え直さなければならなくなるような、まったく新しいテクノロジです。

Windows® Server バックアップは、Windows Server 2008 に付属している唯一のバックアップ ソリューションですが、単にその機能を NTBACKUP から置き換えただけのソリューションではありません。Windows Server バックアップと NTBACKUP の最大の違いは、Windows Server バックアップがディスクからディスクへのバックアップ ソリューションであることです。Windows Server バックアップでは、テープへのバックアップはサポートされていません。バックアップ イメージは、直接接続されたディスク ボリュームやネットワーク共有だけでなく、外付け USB ハード ドライブやマルチボリュームでの書き込みが可能な DVD にも作成できますが、テープには作成できません。ただし、Windows Server 2008 サーバーにテープ ドライブを接続し、Windows Server バックアップによって生成されたバックアップ イメージをコピーすることは可能です。この場合は、サードパーティ製のソフトウェアを使用する必要があります。

NTBACKUP はファイル ベースのバックアップおよび復元ツールですが、Windows Server バックアップはボリュームおよびブロック ベースのツールです。Windows Server バックアップでは、バックアップ ソースがボリュームのセットとして扱われ、各ボリュームはディスク ブロックの集合として扱われます。これにより、ファイル システムを介してファイルをバックアップするよりも、はるかに効率が向上します。ブロック ベースでバックアップが行われるので、ボリューム シャドウ コピー サービスのスナップショットを活用したブロック レベルの増分バックアップが可能になります。また、ターゲット ボリュームにスナップショットが作成されるので、複数のバックアップが扱いやすくなります (さらに、これらのバックアップによって使用される領域が減少します)。

Windows Server バックアップでは、完全バックアップを実行する場合でも、ターゲット ディスク上の領域が非常に効率よく使用されます。たとえば、同じボリュームの完全バックアップを複数回実行するとします。Windows Server バックアップでは、ターゲット ディスクに格納されているボリューム シャドウ コピー サービスのスナップショットにバックアップ イメージが保存されるので、変更されたブロックのみがこれらのスナップショットに保存されます。このため、複数の完全バックアップによって使用される領域が大幅に減少します。また、増分バックアップを回復する際に、複数の復元操作を行う必要がなくなります。スナップショットには各バックアップの差分のみが保存されますが、ボリューム シャドウ コピー サービスによって、これらのバックアップは完全バックアップとして提供されます。

ただし、ターゲット ディスクに格納されているボリューム シャドウ コピー サービスのスナップショットを活用できるのは、ローカル ハード ディスクへのバックアップを実行する場合のみです。Windows Server バックアップは、DVD やネットワーク共有に格納されているバックアップに対しては、ボリューム シャドウ コピー サービスの操作を実行できません。

さらに便利なことに、Windows Server バックアップでは、バックアップ イメージが Microsoft® バーチャル ハード ディスク (VHD) 形式で保存されます。実際、作成したバックアップ イメージを、Microsoft Virtual Server 2005 で実行されているバーチャル マシンのボリュームとしてマウントできます。このため、テープ バックアップを試験的に復元して、どのバックアップに目的のファイルが含まれているかを確認する必要なく、VHD ファイルをバーチャル マシンにマウントして、特定のファイルを参照できます (ただし、バックアップ イメージからはバーチャル マシンを起動できないことに注意してください。バックアップ イメージのハードウェア構成はバーチャル マシンの構成に対応していないので、Windows Server バックアップを物理コンピュータからバーチャル マシンへの移行ツールとして使用することはできません)。

Windows Server バックアップがボリュームおよびブロック ベースのツールであることによってもたらされるデメリットもあります。Windows Server バックアップでは、ボリュームとブロックのセットがバックアップ ソースと見なされるので、選択したファイルのみをバックアップすることはできません。このため、ボリューム全体をバックアップする必要があります。さらに、既定では、バックアップしようとしているボリュームの 1 つにバックアップ イメージを保存することはできません (この問題は、何とおりかの構成変更を行うことによって回避できます。詳細については、support.microsoft.com/kb/944530 を参照してください)。詳細は後述しますが、このことはシステム状態のバックアップに大きな影響を与えます。

Windows Server バックアップをインストールする

Windows Server バックアップは、Windows Server 2008 で提供される "機能" の 1 つですが、既定ではインストールされません。Windows Server バックアップを使用してバックアップを実行するには、サーバー マネージャを使用するか、次のように SERVERMANAGERCMD コマンド ライン ユーティリティを使用して、この機能をインストールする必要があります。

C:\> servermanagercmd -install Backup-Features

Windows Server バックアップは、Windows Server バックアップとコマンド ライン ツールという 2 つのサブ機能で構成されています。このコマンド ライン ツールは、WBADMIN .EXE コマンド ライン ツールではなく、一連の Windows PowerShellTM コマンドレットのことを指しています。したがって、両方のサブ機能をインストールする場合は、Windows PowerShell をインストールする必要があります。

Windows Server バックアップをインストールすると、Microsoft 管理コンソール (MMC) スナップインが、サーバー マネージャの [記憶域] ノードと、[管理ツール] のメニューに追加されます。Windows Server バックアップを Windows Server 2008 の Server Core インストールにインストールする場合は、次のように OCSETUP コマンドを使用します (OCSETUP コマンドでは大文字と小文字が区別されます)。

C:\> ocsetup WindowsServerBackup

インストール手順の詳細な説明については、go.microsoft.com/fwlink/?LinkId=113146 を参照してください。

Windows Server バックアップでは、NTBACKUP を使用して作成されたイメージを復元することはできません。このような作業が必要になることはあまりありませんが、必要になった場合は、マイクロソフト Web サイトから Windows Server 2008 用の NTBACKUP をダウンロードして使用できます (go.microsoft.com/fwlink/?LinkId=113147 を参照してください)。

Windows Server バックアップのコンポーネント

Windows Server バックアップ アプリケーションのアーキテクチャは、NTBACKUP から大幅に変更されています。この新しいバックアップ ソリューションは、次の 4 つのコンポーネントで構成されます。

  • MMC ユーザー インターフェイス (WBADMIN.MCS)
  • コマンド ライン インターフェイス

(WBADMIN.EXE)

  • バックアップ サービス (WBENGINE.EXE)
  • Windows PowerShell コマンドレットのセット

アプリケーションをクライアントとサービスに分割することによって、いくつかのメリットが得られます。最大のメリットは、信頼性が強化されることです。バックアップを MMC クライアントとコマンド ライン インターフェイスのどちらから開始しても、複雑な処理を実行するのは WBENGINE サービスです。クライアント プログラムが担当するのは、バックアップの状態の報告のみです。したがって、クライアント プログラムを終了しても、バックアップが途中で終了することはありません。クライアントは停止しますが、サービスによって処理が続行され、バックアップは完了します。もちろん、バックアップを停止することもできますが、その場合は明示的に停止する必要があります。

このクライアントとサービスが分割されたアーキテクチャのもう 1 つのメリットは、クライアントを使用してリモート コンピュータ上のバックアップを管理できることです。これは、特に複数の Windows Server 2008 Server Core コンピュータをバックアップする必要がある場合に役立ちます。

Windows Server バックアップでは、Windows 回復環境 (WinRE) を使用したベアメタル復元がサポートされています。WinRE は Windows Server 2008 のインストール メディアに含まれています。WinRE を使用すると、簡単に一からサーバーを回復させることができます。ベアメタル復元の実行については、後ほど詳しく説明します。また、Windows Server バックアップでは、バックアップの管理に使用されるいくつかのグループ ポリシー設定がサポートされています (これらの設定については、補足記事「グループ ポリシー設定」を参照してください)。

ボリューム シャドウ コピー サービス

Windows Server バックアップでは、ボリューム シャドウ コピー サービスが 3 とおりの方法で使用されます。Windows Server 2008 で完全バックアップを開始すると、まずソース ボリュームのすべてのシャドウ コピーが作成されます。この処理により、Windows Server バックアップで一貫性のあるファイル システムを処理できるようになります (NTBACKUP でも同様の処理が実行されていました)。次に、ソース ボリュームのブロックが (1 つずつ) バックアップ ターゲットにコピーされ、バックアップされるソース ボリュームごとに VHD イメージが作成されます。

また、設定を変更しない限り、ソース ボリュームのスナップショットも作成されます。これは、ボリューム シャドウ コピー サービスによって、ボリューム上の変更されたブロックがすべて追跡されるようにすることを目的としています。これにより、ソース ボリューム上の変更されたブロックの読み取りのみを必要とする、ブロック レベルの増分バックアップを実行できるようになります。つまり、ファイル内の 1 ビットが変更されたためにファイル全体の読み取りと書き込みを実行するのではなく、変更されたブロックのみを読み取り、書き込むことができます。

これにより、非常に効率的な増分バックアップが可能になりますが、ソース ボリュームへの書き込み操作を行う際に、余分なディスク I/O が発生します。特にアクセスの多いボリュームや、パフォーマンスが重視されているボリュームをバックアップする場合は、[パフォーマンス設定の構成] を選択して、そのボリュームの増分バックアップを無効にします (図 1 参照)。

Figure 1 Disable incremental backups on busy volumes

Figure 1** Disable incremental backups on busy volumes **(画像を拡大するには、ここをクリックします)

バックアップが完了すると、ターゲット ボリュームのスナップショットが作成されます (ローカルに接続されたハード ディスクへのバックアップを実行している場合)。次回のバックアップ時に、ターゲットの VHD ファイルは上書きされます。ただし、ボリューム シャドウ コピー サービスによってターゲット ボリュームのシャドウ コピーが維持されているので、実質的には、それぞれの完全バックアップに対応する VHD ファイルの複数のバージョンが存在することになります。つまり、1 つの完全バックアップと変更されたブロックによって、複数の完全バックアップが維持されます。

ネットワーク共有へのバックアップを実行する

ネットワーク共有へのバックアップは、ローカル ボリュームへのバックアップと同じぐらい簡単です。大きな違いは、リモート ボリュームでボリューム シャドウ コピー サービスのスナップショットを作成できないことです。したがって、それぞれの完全バックアップによって前回の完全バックアップが上書きされるので、ネットワーク共有上では各サーバーの最新の完全バックアップ イメージのみが保持されます。この制限のために、Windows Server バックアップのスケジューラを使用して、ネットワーク共有へのバックアップをスケジュールすることはできません。ただし、Windows タスク スケジューラを使用して WBADMIN コマンド ライン プログラムを実行すると、ネットワーク共有への完全バックアップを実行できます。WBADMIN を使用してネットワーク共有への完全バックアップをスケジュールする場合は、実行するバックアップごとにターゲット フォルダを変更して、前回のバックアップが上書きされないようにします。

書き込み可能な DVD へのバックアップを実行する

Windows Server バックアップでは、書き込み可能な DVD などの光学式メディアへのバックアップもサポートされています。また、複数のボリュームにまたがるバックアップ セットを作成することもできます。Windows Server バックアップでは、DVD へのバックアップを実行する場合、必ずバックアップが圧縮されるので、DVD からの復元を実行する際は、システム全体またはボリューム全体の復元のみを実行できます。Windows Server バックアップでは、DVD を使用した、システム状態のバックアップと復元またはファイル レベルのバックアップと復元はサポートされていません。また、DVD へのバックアップをスケジュールすることもできません。

システム状態のバックアップと復元

システム状態のバックアップは、(ボリューム全体ではなく) 選択したファイルと一部のアプリケーション データベースのみが含まれる、非常に重要になることが多い、便利なバックアップです。ただし、Windows Server 2008 の初期ビルドでは、システム状態のバックアップと復元はサポートされておらず、重要なシステム ボリューム (OS と主要なアプリケーションの回復と再起動に必要なボリューム) のバックアップのみがサポートされていました。これらの重要なシステム ボリュームのバックアップは、システム状態のバックアップがボリューム ベースで作成されたものです。

マイクロソフトは、ユーザーからのフィードバックを踏まえて、Windows Server バックアップにシステム状態のバックアップおよび復元機能を追加しました。システム状態データをホストするボリュームごとに複数の VHD ファイルが作成されますが、VHD には必要なファイルとデータベースのみがコピーされます。また、別の問題として挙げられるのは、システム状態のバックアップを実行したときに、通常のバックアップ処理とは異なり、ターゲット ボリュームのスナップショットが作成されないことです。システム状態のバックアップを実行するたびに、まったく新しい VHD ファイルのセットが作成されます。つまり、スナップショット ベースのボリューム バックアップのように、領域を効率よく使用することはできません。

システム状態のバックアップは MMC スナップインからは実行できず、WBADMIN.EXE コマンド ライン プログラムを使用する必要があります。システム状態のバックアップを実行するには、次のコマンドを使用します。

C:\> wbadmin start systemstatebackup
–backuptarget:e:

このコマンドを実行すると、重要なシステム ファイルとアプリケーション データベースが、システム状態のバックアップ用に確保された、ターゲット ボリューム上のフォルダにバックアップされます。既定のディレクトリ情報ツリー (DIT) を使用している 32 ビットの Windows Server 2008 ドメイン コントローラ (DC) のシステム状態をバックアップする場合、6 GB をやや超える領域が使用されます。使用される領域は Windows Server 2003 の場合よりも 5 GB 増加しますが、この理由の 1 つとして、Windows Server バックアップでは NTBACKUP によってキャプチャされなかったコア OS ファイルがキャプチャされることが挙げられます。

ご想像のとおり、システム状態のバックアップにかかる時間も長くなります。ただし、当然これらの結果は、Windows Server 2008 のプレリリース版に基づいて導き出されたものです。各自の環境でも必ずテストを実施する必要がありますが、Windows Server 2008 にドメイン コントローラを移行する場合は、システム状態のバックアップに使用される領域 (と時間) をさらに多く見積もる必要があるでしょう。

MMC を使用してサーバーをバックアップする

MMC で Windows Server バックアップを実行した場合、バックアップ スケジュールを設定するか、1 回限りのバックアップを直ちに実行できます (図 2 参照)。ここでは、[1 回だけバックアップ] を選択して、直ちにバックアップを実行します。

Figure 2 Windows Server Backup MMC

Figure 2** Windows Server Backup MMC **(画像を拡大するには、ここをクリックします)

図 3 からわかるように、サーバー上のすべてのボリュームをバックアップするか、選択した特定のボリュームのみをバックアップするかを指定できます。[サーバー全体] を選択すると、マウントされているすべてのボリュームがバックアップされますが、マウントされているハード ドライブへのバックアップを実行することはできません。このため、書き込み可能な DVD かネットワーク共有へのバックアップを実行する必要があります。

Figure 3 Using the backup configuration dialog to specify all or select volumes

Figure 3** Using the backup configuration dialog to specify all or select volumes **(画像を拡大するには、ここをクリックします)

この例では、ローカル ハード ドライブへのバックアップを実行するので、[カスタム] を選択します。次のダイアログ ボックスでは、バックアップするボリュームを選択します (図 4 参照)。既定では、[システム回復を有効にする] チェック ボックスがオンになっています。この場合、ブート ボリューム、OS ボリューム、および重要なシステム ファイルとアプリケーション データベースが格納されているボリュームが選択されます。DC では、SYSVOL をホストするボリューム、Active Directory DIT、および Active Directory ログがこれに含まれます。つまり、バックアップするボリュームはシステム状態のバックアップと同じですが、重要なボリューム上の重要なファイルだけでなく、それらのボリューム全体がバックアップされます。また、システム回復バックアップ セットから、システム状態の回復を実行することもできます。

Figure 4 Selecting specific volumes to back up

Figure 4** Selecting specific volumes to back up **(画像を拡大するには、ここをクリックします)

バックアップ先の種類 (ローカル ドライブまたはネットワーク共有) とバックアップ先を指定すると、"VSS コピー" バックアップと "VSS 完全" バックアップのいずれかを選択するように求められます。どちらのオプションでも選択したボリューム全体がバックアップされるので、言葉の使い方はやや紛らわしいと思いますが、この 2 つの違いは、Windows Server バックアップによってバックアップ後のソース ファイルがどのように処理されるかです。"VSS コピー" を選択すると、バックアップ後のファイルはそのまま残されます。"VSS 完全" を選択すると、このアーカイブはリセットされます。

コマンド ラインからサーバーをバックアップする

バックアップ プロセスをスクリプト化したり、Server Core インストールでサーバーをバックアップしたりする場合は、WBADMIN.EXE コマンド ライン プログラムを使用できます。WBADMIN では、バックアップ スケジュールの管理など、基本的に MMC スナップインと同じ操作を実行できる、包括的なオプションのセットが提供されます。

たとえば、WBENGINE サービスを開始して、バックアップ プロセスを実行する必要があるとします。この処理は、次のコマンドを入力するだけで実行できます。

C:\> wbadmin start backup –include:c:,d:
–backuptarget:e:

また、すべての重要なシステム ボリュームをバックアップする場合は、次のコマンドを入力します。

C:\> wbadmin start backup -allcritical
–backuptarget:e:

バックアップが開始された後も WBADMIN は引き続き実行され、バックアップの進捗状況が表示されます。WBADMIN を終了しても、バックアップはバックグラウンドで引き続き実行されます。その後、再び WBADMIN を実行中のバックアップに関連付けるには、次のコマンドを使用します。

C:\> wbadmin get status

実行中のバックアップを終了する場合は、次のコマンドを入力します。

C:\> wbadmin stop job

MMC を使用してバックアップをスケジュールする

Windows Server バックアップに統合されたバックアップ スケジューラの目的は 1 つで、毎日実行されるローカル ディスク ボリュームへのファイル システムのバックアップを容易にスケジュールできるようにすることです。この組み込みのスケジューラを使用して、自動的に複数のターゲット ボリュームがローテーション形式でバックアップされるように設定できます。簡単に取り外しができるハード ドライブを所有している (または USB 接続型ハード ドライブを使用している) 場合、この機能を使用すれば、バックアップ ディスクを取り外して別の場所に保管し、最も古いバックアップ ディスクをサーバーに再び取り付けて次回のバックアップに使用するというローテーションを組むことができます。

Windows Server バックアップのスケジューラでは、毎日必ず実行されるバックアップのみをスケジュールできます。たとえば、月曜日、水曜日、金曜日に実行されるバックアップをスケジュールすることはできません。したがって、スケジュールされたバックアップを毎日実行しない場合は、直接 Windows タスク スケジューラで作業を行う必要があります。

スケジュールされたローカル ディスクへのバックアップを構成すると、Windows Server バックアップによって、ディスクに関連する処理 (フォーマット、特定のフォルダ構造の設定、エクスプローラによって認識されないターゲット ディスクの作成) が実行されます。ターゲット ディスクはベーシック ボリュームである必要があります。Windows Server バックアップでは、ダイナミック ボリュームとして構成されているディスクへのバックアップは実行できません。

MMC スナップインを使用すると、非常に簡単にバックアップをスケジュールできます。この記事の例では、[バックアップ スケジュール] を選択し、バックアップの種類とバックアップするボリュームを指定すると、[バックアップの時間の指定] ダイアログ ボックスが表示されます (図 5 参照)。

Figure 5 Specifying when daily backups should occur

Figure 5** Specifying when daily backups should occur **(画像を拡大するには、ここをクリックします)

バックアップを実行する時刻を選択したら、バックアップ先のボリュームを選択できます。ここでは、ボリューム E: を選択します (図 6 参照)。Windows Server バックアップによって、適切なターゲット ボリュームの候補が表示されますが、バックアップ先に使用したいディスクが表示されていない場合は、[すべての使用可能なディスクを表示] をクリックして、接続されているディスク デバイスをすべて表示できます。いくつかの "確認" ダイアログに表示された内容を確認し、次に進んでいくと、Windows Server バックアップによってターゲット ボリュームがフォーマットされ、Windows タスク スケジューラを使用してバックアップ タスクがスケジュールされます。

Figure 6 Specifying the destination disk for a scheduled backup

Figure 6** Specifying the destination disk for a scheduled backup **(画像を拡大するには、ここをクリックします)

スケジュールされたバックアップが完了するたびに、Windows Server バックアップによってターゲット ボリュームのスナップショットが作成されます。また、7 日ごとに新しい基本イメージが作成されます。処理内容は、Microsoft/Backup/Operational ログに記録されます。このログを参照して、バックアップが正常に完了したかどうかを確認できます。また、電子メール メッセージの送信などのタスクを成功または失敗イベントに関連付けて、スケジュールされたバックアップの状態を常に把握できるようにすることもできます。

コマンド ラインを使用してバックアップをスケジュールする

Server Core インストールのバックアップをスケジュールしたり、バックアップ プロセスをスクリプト化したりする場合は、WBADMIN.EXE コマンド ラインを使用してバックアップ スケジュールを管理できます。スケジュールされたバックアップを追加するには、次のように WBADMIN ENABLE BACKUP コマンドを使用して、ターゲット、ソース、およびバックアップを実行する時刻を指定します。

C:\> wbadmin enable backup –addtarget:e:
-include:c:,d: -schedule:06:00,12:00,18:00

このコマンドでは、1 日に 3 回 (午前 6 時、午後 0 時、午後 6 時) C: ドライブと D: ドライブが E: ドライブにバックアップされます (どの時刻も 24 時間形式で指定します)。すべての重要なシステム ボリューム (ベアメタル復元やシステム状態の復元に使用できます) をバックアップするには、–include スイッチの代わりに –allcritical スイッチを指定します。

また、次のように WBADMIN を使用すると、すべてのスケジュールされたバックアップを無効にすることができます。

C:\> wbadmin disable backup

このコマンドを実行すると、Windows Server バックアップのスケジューラによって作成された、すべてのスケジュールされたバックアップ ジョブが削除された後、バックアップのターゲット ボリュームが解放され、通常の操作に使用できるようになります。また、WBADMIN MMC スナップインを使用すると、いつでも Server Core サーバーのバックアップおよび復元操作をリモートで管理できます。

ドメイン コントローラのベアメタル回復

バックアップと回復に関する最も魅力的な機能強化は、インストール プロセスに組み込まれた WinRE の動作です。インストール メディアから Windows Server 2008 を起動すると、[コンピュータを修復する] というオプションが表示されます (図 7 参照)。このオプションは意識的に探さなければ見落としがちなので、ここで指摘しておきます。

Figure 7 The Repair your computer option is available on the installation screen

Figure 7** The Repair your computer option is available on the installation screen **(画像を拡大するには、ここをクリックします)

インストール画面でこの修復オプションを選択すると、回復オプションを選択する画面が表示されます (図 8 参照)。ここでは、[Windows Complete PC 復元] を選択して、Windows 回復環境を起動します。

Figure 8 Specifying system recovery options

Figure 8** Specifying system recovery options **(画像を拡大するには、ここをクリックします)

修復するオペレーティング システムを選択したら (通常、選択肢は 1 つのみです)、復元に使用するバックアップを選択します。既定では、WinRE によって最新の完全なシステム バックアップが選択されていますが、ローカル ディスクに保存されている他のバックアップを指定することも、ネットワークから他のサーバー上のファイル共有に保存されているバックアップを検索することもできます。

ここでは、最新の完全なシステム バックアップを選択します。次のダイアログ ボックスでは、復元に先立ち、すべてのディスクのフォーマットと再パーティション分割を実行できます (図 9 参照)。これは、ディスク エラーが原因で発生した障害からの回復を行う場合や、サーバー内の 1 つ以上のディスク ドライブを置き換えた場合に適しています。

Figure 9 You can easily format and repartition disks before they're restored

Figure 9** You can easily format and repartition disks before they're restored **(画像を拡大するには、ここをクリックします)

いくつかの確認ダイアログ ボックスに表示された内容を確認し、次に進んでいくと、WinRE によって復元処理が開始され、サーバーが再起動します。この方法を使用すると、非常に簡単にサーバーのベアメタル回復を実行できます。

ドメイン コントローラのシステム状態を回復する

Active Directory 関連の障害から回復する (たとえば、削除された OU をバックアップから回復する) 必要がある場合は、システム全体を復元するのではなく、Active Directory ドメイン サービス (ADDS) データベースを以前の状態に復元します。Windows Server 2008 では、ADDS を 1 つのサービスとして停止させることができますが、ドメイン コントローラ上でシステム状態の復元を実行する場合は、ディレクトリ サービス復元モード (DSRM) でサーバーを起動する必要があります。

Windows Server 2008 が DSRM で起動するようにブート オプションを変更する作業は、以前ほど簡単ではありません。Windows のブート環境は、新しい拡張ファームウェア インターフェイス (EFI) をサポートするために、全面的に再設計されており、以前の boot.ini ファイルは使用されなくなりました。Windows Server 2008 では、ブート構成データ (BCD) を使用してブート プロセスが制御されます。

最も簡単に BCD を管理する方法は、BCDEDIT コマンド ライン プログラムを使用することです。BCDEDIT のコマンドとオプションをすべて紹介するには、さらに 1 回分の記事が必要になるので、ここではいくつかの便利な例を紹介します。

Windows Server 2008 DC を DSRM で再起動するには、次のコマンドを使用します。

C:\> bcdedit /set safeboot dsrepair

このコマンドを実行すると、既定のブート ローダー エントリにセーフ ブートが設定されます。Windows Server 2008 の新規インストールでは、WINLOAD.EXE というブート ローダー エントリのみが設定されています。セーフ ブート オプションを削除し、通常モードで再起動するには、次のコマンドを使用します。

C:\> bcdedit /deletevalue safeboot

通常ブートと DSRM ブートを提供するための 2 つのブート ローダー エントリを DC に構成すると、作業が多少楽になります。この構成を行うことによって、[システム設定] から起動できる [起動と回復] ダイアログ ボックスを使用して、ブート オプションを変更できるようになります。新しいブート ローダー エントリを追加するには、次のコマンドを使用します。

C:\> bcdedit /copy {default}
/d "Directory Service Repair Mode"

これにより、既定のブート ローダー エントリがコピーされ、新しいブート ローダー エントリが作成されます。BCDEDIT によって、次のようなメッセージが表示されます。

The entry was successfully copied to
{c50d4710-a1f0-11dc-9580-0003ff402ae9}.

この GUID は、新しいエントリを示しています。続いて次のコマンドを使用して、この BCD の新しいブート ローダー エントリにセーフ ブートを設定します。

C:\> bcdedit /set {<GUID for new entry>}
safeboot dsrepair

これで、[起動と回復] ダイアログ ボックスの設定を使用して、ブート モードを通常モードから DSRM モードに切り替えられるようになりました (図 10 参照)。

Figure 10 Disable incremental backups on busy volumes

Figure 10** Disable incremental backups on busy volumes **

WBADMIN を使用してシステム状態の復元を開始する前に、復元に使用するバックアップを指定する必要があります。WBADMIN では、完全なシステム バックアップ、重要なシステム ボリュームのみを含むバックアップ、またはシステム状態のバックアップを使用して、システム状態の復元を実行できます。いずれの場合も、使用するバックアップのバージョンを指定する必要があります。使用できるバックアップのバージョンを最も簡単に確認するには、次の WBADMIN コマンドを使用します。

C:\> wbadmin get versions

このコマンドを実行すると、WBADMIN によって、図 11 のような形式でバックアップのバージョンが表示されます。各バックアップが保持している情報には、バックアップ時刻、バックアップ ターゲット、バージョン ID (世界標準時で表されたバックアップの開始時刻)、そのバックアップでサポートされている回復操作の種類などがあります。

Figure 11 回復に使用できるバックアップを特定する

wbadmin 1.0 - Backup command-line tool
(C) Copyright 2004 Microsoft Corp.
Backup time: 11/30/2007 3:47 PM
Backup target: Fixed Disk labeled E:
Version identifier: 11/30/2007-22:47
Can Recover: Application(s), System State
Backup time: 12/1/2007 10:46 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/02/2007-05:46
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/2/2007 5:58 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/03/2007-00:58
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/3/2007 11:25 AM
Backup target: Fixed Disk labeled E:
Version identifier: 12/03/2007-18:25
Can Recover: Application(s), System State

ここでは、次の WBADMIN コマンドを使用して、最新のバックアップを選択し、システム状態の復元を実行します。

C:\> wbadmin start systemstaterecovery
–version:12/03/2007-18:25

このコマンドでは、権限のない復元が実行されます。SYSVOL の権限のある復元を実行する場合は、WBADMIN コマンドに authsysvol オプションを追加して、復元する SYSVOL レプリカに権限のある状態を指定できます。この手順の詳細については、go.microsoft.com/fwlink/?linkid=113152 を参照してください。

Active Directory のスナップショットを作成する

Active Directory のバックアップに関する最も魅力的な変更の 1 つは、Windows Server バックアップとはまったく関連していません。Windows Server 2008 では、Active Directory で提供されているボリューム シャドウ コピー サービスのスナップショットを活用できます。これらのスナップショットは、特定の時点で作成された、非常にサイズの小さい実行中の Active Directory サービスのバックアップです。さらに良いことに、作成には数秒しかかかりません。これらのスナップショットをマウントし、LDP ツールなどの一般的な LDAP ベースのユーティリティを使用して、スナップショットにアクセスできます。

ADDS または Active Directory ライトウェイト ディレクトリ サービス (ADLDS) のスナップショットを作成するには、次の NTDSUTIL コマンドを使用します。

ntdsutil: snapshot
snapshot: activate instance ntds
Active instance set to "ntds".
snapshot: create
Creating snapshot...
Snapshot set {42c44414-c099-4f1e-8bd8-4453ef2534a4} generated successfully.
snapshot: quit
ntdsutil: quit

この一連の NTDSUTIL コマンドを実行すると、Active Directory DIT、ログ、および SYSVOL が格納されているボリュームのスナップショットがボリューム シャドウ コピー サービスによって作成されます。ボリューム シャドウ コピー サービスでは、コピー オン ライト メカニズムが使用されるので、Active Directory の更新中でも、作成したスナップショットは適切に維持されます。これらのスナップショットは DIT の完全なコピーではないことに注意してください。これらは、スナップショットの作成後に変更された、DIT のディスク ブロックのコレクションであるにすぎません。VSS では、DIT の現在のコピーとこれらのブロックを組み合わせることによって、スナップショットを作成した時点の Active Directory DIT を表現します。図 12 は、古いまたは不要なスナップショットを削除する方法を示しています。

Figure 12 不要なスナップショットを削除する

C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: delete 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>

Active Directory のスナップショットをマウントする

Active Directory のスナップショットを使用するには、まずファイル システムでこのスナップショットを利用できるように、ボリューム シャドウ コピー サービスに指示する必要があります。これを行うには、ntdsutil コマンドを使用して、利用可能なスナップショットの一覧を取得した後、目的のスナップショットをマウントします (図 13 参照)。

Figure 13 ntdsutil を使用してスナップショットをマウントする

C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: mount 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>

list all コマンドでは、現在ボリューム シャドウ コピー サービスによって維持されている利用可能な Active Directory スナップショットをすべて表示しています。mount 1 コマンドでは、選択された Active Directory DIT とログ ボリュームのスナップショットをマウントし、これらのスナップショットをファイル システムで利用できるようにしています。これらのスナップショットは、C:\$SNAP_200712032318_VOLUMEC$\ と C:\$SNAP_200712032318_VOLUMED$\ に格納されています。

これらのフォルダを参照すると、スナップショットを作成した時点でボリュームに格納されていたすべてのコンテンツを確認できます。ただし、マウントされたスナップショットは読み取り専用なので、これらのスナップショット内のファイルを変更することはできません。

Active Directory のスナップショットからデータを回復する

Active Directory が格納されたボリュームのスナップショットをマウントする作業は、なんだか手品のように思えます。これらのスナップショットに格納されている Active Directory のデータを取得するには、どうすればよいでしょうか。その秘密の答えは、DSAMAIN コマンドです。これは、ADLDS を実行する実行可能ファイルであり、実質的には、ほぼすべてのコードを ADDS と共有する、スタンドアロンの LDAP サーバーです。DSAMAIN を使用すると、マウントされたスナップショットを、そのスナップショットを作成した時点の Active Directory データが格納された、読み取り専用の LDAP サーバーのように扱うことができます。

では、次のコマンドについて考えてみましょう。

C:\> dsamain –dbpath
c:\$snap_200712032318_volumed$\ntds\dit
\ntds.dit -ldapport 10000

このコマンドでは、c:\$snap_200712032318_volumed$\ntds\dit フォルダにある ntds.dit ファイルをマウントし、TCP ポート 10000 (または指定した任意の開いているポート) 上の LDAP 操作で使用できるようにしています。指定したポート番号に 1 を足したポート (この例では 10001) 上で LDAPS ポート (LDAP over Secure Sockets Layer 用のポート) が開かれ、2 を足したポート (10002) 上で GC ポート (グローバル接続用のポート) が開かれます。同様に、3 を足したポート (10003) 上で GCS (Global Catalog over Secure Sockets Layer) ポートが開かれます。

指定したポートを経由して、マウントされた DIT にアクセスする場合、任意の LDAP プログラム (LDP など) を使用できます。ただし、Windows Server 2008 の Active Directory ユーザーとコンピュータ (ADUC)、Active Directory サイトとサービス、Active Directory ドメインと信頼関係、および ADSIEDIT は、DSAMAIN を使用して、マウントされた DIT に接続できるように変更されています。ADUC のナビゲーション ウィンドウの最上位にあるノードを右クリックし、[ドメイン コントローラの変更] をクリックすると、図 14 のようなダイアログ ボックスが表示されます。マウントされたスナップショットをホストしているサーバーの名前か IP アドレス、およびポート (この例では localhost:10000) を入力するだけで、マウントされたスナップショットに ADUC が接続され、スナップショットを作成した時点のディレクトリ コンテンツを参照できるようになります。とても簡単ですね。

Figure 14 Connecting Active Directory users and computers to a mounted snapshot

Figure 14** Connecting Active Directory users and computers to a mounted snapshot **(画像を拡大するには、ここをクリックします)

このような方法でディレクトリ データにアクセスすることによって、これまでよりも簡単に、さまざまなデータ回復作業を行うことができます。たとえば、削除されたオブジェクトをバックアップから回復する場合、以前は、既存の DC 上でそのバックアップの権限のない復元を実行してから、削除されたオブジェクトの権限のある復元を実行する必要がありました。復元したバックアップに正しいデータが格納されていなかった場合、別のバックアップを使用してこの操作を最初からやり直す必要がありました。現在では、廃棄済みオブジェクトの復元とスナップショットを使用して、削除されたデータをすばやく検索および回復できるようになりました。この操作を行うためにドメイン コントローラをオフラインにする必要もありません。

ただし、いくつか制限があります。たとえば、アクティブなスナップショットが 1 つ増加するたびに、ディレクトリへの書き込み操作に伴うディスク I/O が増加するので、運用 DC 上では、同時にアクティブにするスナップショットは 1 つまたは 2 つにした方がよいでしょう。また、スナップショットをアクティブにしている時間が長いほど、ボリューム シャドウ コピー サービスの差分ストアが増大し、パフォーマンスに悪影響を与える可能性があります。さらに、当然のことですが、削除されたオブジェクトの復元自体は、回復の第一歩にすぎません。おそらく、そのオブジェクトに関連付けられている属性 (グループのメンバシップなど) も回復する必要があるでしょう。ただし、この場合も、スナップショットを使用して、削除されたオブジェクトが所属していたすべてのグループを特定できます。

Active Directory の適切なバックアップおよび回復戦略

Windows Server 2008 では、まったく新しいバックアップおよび回復システムが導入されています。最初のうちは歓迎されない変更もあるかもしれませんが、一度これらの変更を受け入れて、新しいバックアップ テクノロジを日常の業務に組み込めば、より効果的なバックアップおよび回復ソリューションを実装できます。

Windows Server 2008 では、サーバーのバックアップ方法が大幅に変更されていますが、Active Directory のバックアップと回復に関する基本的な戦略は、実際にはそれほど変わっていません。したがって、戦略を立てるときは、次のベスト プラクティスに留意してください。

  • 定期的に実行される完全なシステム バックアップをスケジュールし、ハードウェア障害が発生した後に DC を回復できるようにします。DC の完全バックアップの頻度を決定する際は、データの更新頻度、ダウンタイムやデータ損失の許容範囲、一から DC を再構築する場合にかかる手間を考慮してください。
  • システム状態のバックアップを頻繁に実行し、Active Directory の変更をバックアップするようにします。システム状態のバックアップの頻度は、Active Directory データの損失をどの程度許容できるかによって決まります。ただし、少なくとも 1 日に 1 回は実行することをお勧めします。ハードウェアを所有している場合は、システム状態のバックアップを少なくとも 1 つまたは 2 つローカル ディスクに保存し、古いバージョンのシステム状態のバックアップを DVD またはネットワーク共有にコピーします。
  • 各ドメインの 2 台以上の DC でシステム状態のバックアップを実行します。これにより、いずれかのバックアップが利用できない場合や、その状態に問題がある場合でも、ある程度の保障が提供されます。

アプリケーション パーティションのレプリカが定義されている DC をバックアップする場合は、それらのレプリカもバックアップするようにします。また、重要なシステム ドライブで障害が発生した場合に、すばやく WinRE を起動できるように、DC に Windows 回復環境パーティションを作成することも検討してください。

Gil Kirkpatrick は、NetPro 社の最高技術責任者であり、1996 年以来 Active Directory 用ソフトウェアの開発に取り組んできました。彼が HP 社の Guido Grillenmeier と共同で行う Active Directory 障害回復ワークショップは好評です。また、彼は Directory Experts Conference (www.dec2008.com) の発起人でもあります。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.