[Windows][Active Directory] バックアップ・リストア

Twitterで盛り上がっていたので記憶をたどってみた

とある筋から、Active Directoryのバックアップ・リストアの注意点は何か?ということで質問がポツーンと挙がったもんで、いろんなインフラエンジニアさんたちがさまざまにアドバイスする流れに。私もなんぼかTweetしたんだけど、せっかくだしなんかまとめておこうということで簡単に資料化してまとめてみたのがこの記事。

資料としてはこんな感じに。

途中でめんどくさくなって書き方がいい加減になったのですが、AD復旧には大きく分かれて二つの方式があります。それが「non-Authoritative Restore」と「Authoritative Restore」。そして、ドメインコントローラ全滅時にこの2つの方式を組み合わせる「Primary Restore」というのもあります。

Authoritative RestoreはADごみ箱が登場してほぼ実施する機会はなくなったんじゃないか?と思うのですが、全体的にうまく動作しなくなったときはこれらの手段を講じる場合もあります。AD同期に関しては結構ドメインコントローラ上のイベントログに細かく出力されるので、まずもってイベントログのチェックは必ずやるようにしましょう。

FSMOについて

操作マスタともいわれますが、特殊な役割5つをFSMOと呼ぶことはActive Directoryを扱う人たちはご存じかと思いますが、この操作マスタ、別にAD上に特殊なデータが格納されているわけではないのです。重要なのはその参照先としての定義そのものなんですね。

よって、FSMOがどうあがいても復旧できない場合、別にADとしてはデータ欠落しているわけではなくて、単純に別途正常動作しているADが存在するのなら、そのADに対してFSMOの強制移行を行ったほうがはるかに確実ということになります。例えば・・

  • PDCエミュレータは「ドメインコントローラがどこに時刻同期をすればいいのか?」を示すもの
  • RIDマスタは「RIDの新規払い出しをお願いしたいときにどこに問い合わせればいいか?」を示すもの
  • スキーママスタは「スキーマ構造の確認をしたい場合どこに問い合わせればいいか?」を示すもの

みたいな感じに認識するとよいでしょう。

ADをバックアップ時点に完璧に戻すにはPrimary Restoreしかない

Authoritative Restoreという方式があります。これはバックアップデータから復旧したADオブジェクトに対してUSNをがっつり更新させ、最新データとしてレプリケート発信させるというものです。実は、だからと言ってAuthoritative Restoreを行ったとして、それでActive Directoryがバックアップ時点の状態に復旧するわけではありません。

例えばAuthoritative Restoreを実行する際に、別途正常稼働しているドメインコントローラが存在している場合、「バックアップデータには存在せず、現行AD上には存在する」オブジェクトが消えることはありません。そのまま残ります。要は、現在のAD状態とリストアされるデータが「マージされる」という形になります。

Primary Restoreの場合は、既存ドメインコントローラは全部撤廃する前提で復旧を行いますので、その場合に限りADのデータ配置はバックアップ時点の状態に復旧します。何しろAuthoritative Restoreを実行する時点でその時点より後のデータが存在してないのだから。なので、復旧要件を定める際に「バックアップ時点に復旧できること」という書き方には幾分かの注意が必要だったりします。

Active Directoryというものもだいぶ進化したようで、前述したようなADごみ箱なるものも登場しましたし、だいぶ扱いやすくなったんじゃないか、復旧も楽になったんじゃないかなって気がします。私がこの手のバックアップ・リストア方式の策定をしてたのってWindows 2000 Serverの頃でしたから。Windows Server 2008あたりからアーキテクチャも刷新されてだいぶいろいろ変わってきたわけですが、それでも何かあったときは頑張って当時からあまり変化してないこれらの手法を用いて復旧をしなければならないケースもあるのかなと思います。

Windows 2000 Serverの頃は割と詳細資料が多くMicrosoftから提供されたり、外部ベンダーの書籍などが大いに役立ったりしたわけですが、機能進化とともにだいぶ内容が抽象化されたのかなーという気がします。細かい機能を追いかけるのも限界が出てきたという感じですね。

それゆえ、一つの技術的な差別化要素としてこうしたところを細かく追及することをしてもいいんじゃないかな?という気がします。いろいろ掘り下げてみるとよいのではないかな。

PAGE TOP