ドメイン コントローラーにおいて、何等かの設定を変更を行う時、バックアップを作業前に取得しておき、問題があった場合にリストアしたいということがあります。
今回は、ドメイン コントローラーのバックアップ、リストアを行うにおいて必要な知識について紹介します。
ドメイン コントローラーのバックアップ
Windows OS に対応した様々なバックアップ ツールがあると思います。
ドメイン コントローラーのバックアップ、リストアを行うには、ツールが Active Directory Domain Service(AD DS)に対応している必要があります。
マイクロソフト製品では、”Windows Server バックアップ” が対応しています。
Windows Server バックアップでは、システム状態とベアメタルの 2 種類のバックアップ方法があります。
システム状態のバックアップ
システム状態のバックアップには、以下の内容が含まれます。
- ブート ファイル
- COM+ クラス登録データベース
- レジストリ
- AD データベース
- SYSVOL
システム状態のバックアップには、ディスク全体のデータは含まれません。
AD の機能に必要なデータは含まれているため、システム状態のバックアップからドメイン コントローラーをリストアすることができます。
ベアメタルのバックアップ
ディスク全体のほとんどのデータを含むバックアップとなります。
OS が起動できない状態となったとしても、ベアメタルのバクアップから復元すると OS から起動できるようになります。
ベアメタルのバックアップには、システム状態も含まれています。
ドメイン コントローラーのバックアップは、システム状態かベアメタルのいずれかで採取してください。
また、MS 製品以外のバックアップ ツールを利用する場合は、製品が Active Directory に対応しているか確認が必要です。
ドメイン コントローラーのバックアップは、AD に対応しているバックアップ ツールで採取する必要があります。もし AD に対応していないバックアップ ツールでバックアップを採取しても、正常にリストアできない可能性があります。 MS 製品で […]
ドメイン コントローラーのリストア
ドメイン コントローラーはマルチ レプリケーションで各データの複製を行っています。
そのため、ドメイン内の全てのドメイン コントローラーでデータの整合性がとれている状態となっています。
ドメイン コントローラーをリストアした場合、各データはバックアップ時の状態に戻ってしまいます。
リストアした後は他のドメイン コントローラーからデータの複製を再開して整合性をとります。
そのため、ドメイン コントローラーのリストア時には、他のドメイン コントローラーとの複製を意識する必要があります。
AD データベースと SYSVOL は異なる複製の仕組みで動作しています。
そのため、リストアの際は AD データベースの復元と SYSVOL の復元を分けて考える必要があります。
ドメイン コントローラーのリストア方法には、権限のある復元と権限のない復元があります。
AD データベースと SYSVOL のそれぞれに、権限のなる復元と権限のない復元が存在しており、組み合わせてリストアします。
それぞれのリストア方法では、復旧の目的に応じて使い分けを行います。
各リストア方法で何か実現できるのかについて、詳しく見ていきましょう。
AD データベースのリストア
AD データベースの権限のないリストア
AD データベースの権限のないリストアは、他のドメイン コントローラーから最新情報を複製するリストアです。
バックアップ時の AD データベースの状態に戻らず、AD データベースは他のドメイン コントローラーと同じ状態となります。
AD データベースでは USN と呼ばれるバージョン情報を管理するデータを保持しています。
ドメイン コントローラーをリストアすると、AD データベースはバックアップ時のタイミングに戻ります。
バックアップ後は USN のデータを参照して、最新情報を識別して複製し、AD データベースに反映させます。
① 例えば、ドメイン コントローラー 2 台ある環境で、DC01 と DC02 があるとします。
ユーザー「ねこまる」の部署は「営業」であったとします。
この状態で DC02 の方でバックアップを取得します。
② この後、ユーザー「ねこまる」は部署を異動し、部署が「人事」に変わったとします。
ユーザーの情報が更新されたため、USN の値はインクリメントされます。
③ DC02 にバックアップからリストアすると、DC02 はバックアップ取得時の「営業」に戻ります。
④ DC01 の USN の情報の方が大きいため、最新の情報を持っていると判断されます。
そのため、DC01 から更新情報を複製してきて、DC02 でも「ねこまる」の所属は「人事」に更新されます。
AD データベースの権限のあるリストア
AD データベースの権限のあるリストアは、特定のオブジェクトの属性値をバックアップ時点の状態に戻すためのリストアです。
AD データベース全体ではなく、あくまで特定のオブジェクトのみを復元する目的のリストアとなります。
AD データベースでは USN と呼ばれるバージョン情報を管理するデータを保持しています。
ドメイン コントローラーをリストアすると、AD データベースの USN はバックアップ時に戻ります。
AD データベースは最新の情報に複製するため、最新の情報を複製してきます。
権限のあるリストアでは、特定のオブジェクトの属性の USN に 100000 インクリメントします。
USN の値が大きくなるため、リストアしたオブジェクトは最新情報と判断されるようになります。
そのため、リストア時のオブジェクトが他のドメイン コントローラーにも複製されます。
1) 例えば、ドメイン コントローラー 2 台ある環境で、DC01 と DC02 があるとします。
ユーザー「ねこまる」の所属は「営業」であったとします。
この状態で DC02 の方でバックアップを取得します。
この後、ユーザー「ねこまる」は部署を異動し、所属が「人事」に変わったとします。
「ねこまる」の部署のデータをバックアップ時に戻すために、権限のあるリストアを行います。
DC02 にバックアップからリストアすると、DC02 はバックアップ取得時の「営業」に戻ります。
また権限を持たせるため、「ねこまる」の部署属性の USN は 100000 インクリメントされます。
DC02 の USN の情報の方が大きいため、最新の情報を持っていると判断されます。
そのため、DC02 から更新情報を複製してきて、DC01 でも「ねこまる」の所属は「営業」に更新されます。
SYSVOL のリストア
SYSVOL の権限のないリストア (D2)
SYSVOL の権限のないリストアは、SYSVOL のデータを全て破棄し、他のドメイン コントローラーから複製します。
いわゆる D2 と呼ばれる SYSVOL のリストアの方法となります。
他のドメイン コントローラーの SYSVOL と同期させたい場合に選択するリストア方法です。
①例えば、ドメイン コントローラー 2 台ある環境で、DC01 と DC02 があるとします。
DC02 の方で SYSVOL の権限のないリストアを行います。
すると DC02 の SYSVOL のデータは全て破棄され、SYSVOL の複製状態は初期化されます。
DC02 の SYSVOL の初期化が完了したら、DC01 から全ての SYSVOL のデータを複製します。
SYSVOL の権限のあるリストア (D4)
SYSVOL の権限のあるリストアは、バックアップ時の SYSVOL データの状態を維持します。
いわゆる D4 と呼ばれる SYSVOL のリストアの方法となります。
ドメイン内の全てのドメイン コントローラーをリストアするシナリオにおいて利用します。
SYSVOL のリストアは基本的には D2 を利用しますが、D2 の場合は SYSVOL のデータが全て破棄されます。
D4 のリストアはバックアップ時の SYSVOL データを復元し、そのまま待機します。
他の全てのドメイン コントローラーでは D2 でリストアし、D4 で復元した SYSVOL のデータを複製します。
① 例えば、ドメイン コントローラー 2 台ある環境で、DC01 と DC02 があるとします。
DC01 の方で SYSVOL の権限のあるリストアをし、DC02 で SYSVOL の権限のないリストアを行います。
DC01 では SYSVOL はバックアップ取得時のデータになり、そのまま待機します。
DC02 では、SYSVOL のデータは全て破棄され、SYSVOL の複製状態は初期化されます。
② DC02 の SYSVOL の初期化が完了したら、DC01 から全ての SYSVOL のデータを複製します。
複製元とする 1 台のみを D4 でリストアし、残り全台は D2 でリストアします。
シナリオごとの適切なリストア方法
ドメイン環境でのリストアのシナリオごとに、適切なリストアの組み合わせについて紹介します。
- 全てのドメイン コントローラーを復元する場合
AD データベース:全てのドメイン コントローラーで「権限のないリストア」
SYSVOL:1 台のみ「権限のあるリストア」、残り全台は「権限のないリストア」 - 一部のドメイン コントローラーのみを復元する場合
AD データベース:リストア対象のドメイン コントローラーで「権限のないリストア」
SYSVOL:リストア対象のドメイン コントローラーで「権限のないリストア」 - 特定のオブジェクトを復元する場合
AD データベース:特定のドメイン コントローラーにて「権限のあるリストア」
SYSVOL:特定のドメイン コントローラーにて「権限のないリストア」
ドメイン コントローラーにて何か問題が起きた時、バックアップからリストアしたいことがあります。今回はドメイン コントローラーのリストアの手順を紹介します。 事前準備(バックアップ) ドメイン コントローラーをリストアするには、30 日以[…]
補足:バックアップの有効期間
ドメイン コントローラーのバックアップとして有効な期間があります。
有効な期間を過ぎると、バックアップからリストアしても、ドメイン コントローラーとして正常に機能しません。
バックアップの有効期間に影響を与えるのは以下の 3 点です。
- コンピューター アカウント パスワードの有効期間
- MaxOfflineTimeInDays
- Tombstone Lifetime
各項目の詳細は以下の通りです。
コンピューター アカウント パスワードの有効期間
Windows OS では端末ごとにローカルにコンピューターのパスワードをもっています。
このパスワードは 30 日(既定値)ごとにパスワードの更新が行われます。
ドメイン参加端末においては、ドメイン コントローラー上でも現在のパスワードの情報を管理しています。
パスワードの更新を行う際は、ドメイン コントローラーにも変更を通知します。
端末のローカルで保持するパスワードと、ドメインのコンピューター アカウントのパスワードが一致すると、セキュア チャネルが確立できます。
ドメイン コントローラーをバックアップから切り戻すと、シナリオによっては AD データベースが古い状態に戻ります。
その場合に、管理している各コンピューター アカウントのパスワードが更新前になってしまいます。
ドメイン参加端末がローカルに保持するパスワードと、ドメインのコンピューター アカウントのパスワードが一致しないと、セキュア チャネルが確立できません。
その場合、対処策としてドメインの再参加が必要になることもあります。
端末のローカル上には、現在のパスワードと 1 つ前のパスワードの 2 世代分が保存されています。
そのため、ドメイン コントローラーの方で 1 つ前のパスワードの状態に戻っても、セキュア チャネルは確立できます。
パスワードの更新間隔を考えると、最大 60 日間はドメイン コントローラーのバックアップは利用できます。
ただし、パスワードがどのタイミングで更新されるかはわからず、バックアップ取得直後にパスワードが更新された端末が存在する可能性も十分に考えられます。
そのため、1 世代分の更新間隔である、30 日未満のバックアップを利用することをお勧めします。
MaxOfflineTimeInDays
SYSVOL の複製に DFSR を利用している環境の場合、MaxOfflineTimeInDays(既定:60日)の値を考慮する必要があります。
DFSR では MaxOfflineTimeInDays で設定された期間、他のドメイン コントローラーと複製できていない場合、SYSVOL の複製は自動停止されます。
バックアップを採取してから MaxOfflineTimeInDays の期間を過ぎると、リストア後に SYSVSOL 複製に問題が発生する可能性があります。
そのため、MaxOfflineTimeInDays の期間未満のバックアップを利用する必要があります。
ドメイン コントローラーに設定されている MaxOfflineTimeInDays の設定値の確認するには、以下のコマンドを実行してください。
MaxOfflineTimeInDays
60
Tombstone Lifetime
AD には Tombstone Lifetime と呼ばれる値が設定されています。
AD データベースでは、削除されたオブジェクトは、一定期間、削除フラグを立てた状態で保存します。
削除フラグが立ったオブジェクトを保管する期間が Tombstone Lifetime となります。
Tombstone Lifetime で設定された期間、他のドメイン コントローラーと複製できていない場合、AD データベースの複製は自動停止されます。
バックアップを採取してから Tombstone Lifetime の期間を過ぎると、リストア後に AD データベースの複製に問題が発生する可能性があります。
そのため、Tombstone Lifetime の期間未満のバックアップを利用する必要があります。
■ Tombstone Lifetime の設定値の確認方法
1) ドメイン コントローラーに管理者権限を持ったユーザーでログオンします。
2) [スタート] – [管理ツール] から [ADSI エディター] を開きます。
3) [ADSI エディター] を選択し、右クリックから [接続] をクリックします。
4) [接続ポイント] で、[既知の名前付けコンテキストを選択する] を選択し、[構成] を選択して [OK] をクリックします。
5) 以下のパスを開きます。
[CN=Configuration,<ドメイン名>]–[CN=Services]–[CN=Windows NT]–[CN=Directory Service]
6. [CN=Directory Service] を選択し、右クリックから [プロパティ] を開きます。
7. [属性エディター] タブから tombstoneLifetime の属性の値を確認します。単位は 日 です。