[Windows][Active Directory]FSMOの掟

Windowsの認証スイートともいえるActive Directory。その中に5つ、単独のドメインコントローラにしか持てない5つの役割をFSMO(操作マスタ)というわけなのだけども、列挙すると以下のとおりとなる。

  • PDCエミュレータ
  • RIDマスタ
  • インフラストラクチャマスタ
  • ドメイン名前付けマスタ
  • スキーママスタ

この組み合わせにおいて、以下の法則があるんだそうな。

  • PDCエミュレータとRIDマスタは同一にすべし。可能な限り。
  • ドメイン名前付けマスタとスキーママスタは同一にすべし。可能な限り。
  • インフラストラクチャマスタは「絶対に」グローバルカタログに実装してはならない

三つ目の掟が実は肝。うえ二つは障害発生時に影響が顕在しやすくなる、運用管理面のアドバンテージという所が主なところなんだけど、三つ目の掟は機能的に問題があるのだ。

インフラストラクチャマスタというのは、他ドメインへのオブジェクト参照データをドメインコントローラに対してレプリケートする機能である。これによって、非GCも余計なデータを抱えることなく、他ドメインの情報参照を行うことができるわけですな。大まかな処理は以下のとおりとなる。

inframaster-notgc

この時、インフラストラクチャマスタがグローバルカタログでない場合、インフラストラクチャマスタには最新の他ドメインデータはレプリケートされていないため、グローバルカタログから他ドメインのデータを参照し、比較して差分を抽出した上で自身のデータを更新する。そして、更新した情報を他のドメインコントローラにレプリケートする。

ところが、グローバルカタログとインフラストラクチャマスタが同居している場合は

inframaster-gc

常にグローバルカタログの機能により他ドメインの最新データは自身にもレプリケートされている。つまり、常に他のグローバルカタログとの情報が等しいというわけだ。この為、差分情報が常に抽出できない状態となり、その為にインフラストラクチャの機能が所謂「麻痺状態」となる。この為、非GCに対して情報が提供できなくなってしまう。

こうした理由により、インフラストラクチャマスタは必ず非GCにしろというわけだ。

但し、いくつか例外はある。

  • 単一ドメインの場合
  • すべてのドメインのドメインコントローラがグローバルカタログの場合

単一ドメインの場合、そもそも他ドメインの情報というものが存在しない。故に、当該問題が発生しようとも影響が及ばないというわけだ。

すべてがグローバルカタログの場合、すべてのドメイン情報を等しくすべてのドメインコントローラが持っているということになる。つまり、皆グローバルカタログなわけだから、常にリアルタイムに他ドメインの情報は同期されているというわけだ。当該問題が発生しようと影響は及ばない。

グローバルカタログの配置というのは、大規模になると難しい。小規模構成だとあまり意識しないものだが、こうした特徴は押さえておかないと、後で大変なことになるかも。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.