Active Directory FSMO の役割とグローバルカタログ


(注)Windows Server 2003 の機能レベルを前提としています


通常、ADのドメインコントローラ(以下、単にDCと略す)を単にリブートする程度であれば気にする必要のないことだが、故障等で長時間停止する際には管理者は必ず確認しておかなければならない。

詳細はこちら。 http://support.microsoft.com/kb/324801/ja

AD の FSMO(Flexible Single Master Operation :「操作マスタ」ともいう) には5つの役割があり、フォレストやドメインで1つずつしか存在できない。よほど大きな組織でない限り1つのフォレストにドメインが1つであることも多いので、ここではあまり厳密に区別せずに扱う。

その5つの役割とは以下の通り。 これらの機能は、フォレストやドメインに複数のDCがあっても障害発生時に自動フェールオーバーはできないため、役割を持っているサーバが障害を起こして止まった場合には、管理者がその役割を手動で生きているサーバに振替えなければならない。

Windows 2003 管理ツール(Adminpak.msi)をインストールしてあればGUI(MMC)からも操作できるが、非常時にはコマンドからしか操作できないので ntdsutil コマンドの操作に慣れておく必要がある。

ちなみに、DCのコンピュータアカウントがおかしいときはもちろん、単にオフラインであってもGUIではエラーになる。唯一、サーバがオンラインの状態で dcpromo によりきれいに降格させた場合だけ別サーバに移行される。

もしADのデータベースが破損したといった障害発生時(具体例は後日掲載予定)にはこのドキュメントを読んで復旧方針を確認すること。
http://support.microsoft.com/kb/255504

このページには同時に ntdsutil コマンドでの役割転送の手順も記述されている。

今回の用途を会話的に紹介しているのが @IT の以下のページ。
http://www.atmarkit.co.jp/fwin2k/win2ktips/439fsmorole/fsmorole.html

また ntdsutil コマンドの機能については日経IT Proが詳しい。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080117/291254/

どちらも必見なので、障害が発生して修羅場になる前の平時にお読みいただくことをお薦めする。

FSMO の話題でよく出てくる、グローバルカタログって何?

ついでなのでFSMOに直接関係はないがGC(Global Catalog)についても触れておく。

GCは本来、フォレスト内に存在する複数のドメインの情報を横断的に検索するためのいわばインデックスサーバのような存在でNTドメインにはなかった機能なのだが、たとえフォレスト内に1つしかドメインがなかったとしてもGCが停止してしまうとADの認証が通らなくなる仕様らしい
(参考:@IT http://www.atmarkit.co.jp/fwin2k/operation/adprimer004/adprimer004_01.html

ドメインコントローラがわんさかいるような環境でないなら、特に理由がない限り全てのドメインコントローラをGCに設定するのがオススメ(後述のFSMOの役割分担でもその方が設計が楽)である。

画面1

ただし、FSMOの役割のいくつかはGC必須であったり、逆にGCと共存不可能だったりする。
参考: http://support.microsoft.com/kb/223346/ja

FSMOとGCを絡めた、MS公式の推奨環境はまとめると以下のとおり


(1) RID と PDCエミュレータは同一DCで実行。それが無理ならNTDSで直接レプリカしているサーバ間で分担。
(2) インフラストラクチャマスタはGCと直接レプリカされていることが推奨。同一サーバでの共存禁止。
  ただし以下のいずれかの場合にはGCとインフラストラクチャマスタの共存OK。
   例外1:フォレスト内に1つのドメインしかない場合
   例外2:複数ドメインあっても全DCがGCになっている場合
(3) ドメイン名前付けマスタはGC必須。
(4) ドメイン名前付けマスタとスキーママスタは同一DCで実行。

今現在FSMOの役割を誰が担っているか確認するには、サポートツールを使ってDC上でコマンドプロンプトから

dcdiag /test:knowsofroleholders /v

または

netdom query fsmo

で確認できる。

ただし、netdom は役割を表示するだけで、そのサーバがオンラインかどうかの確認はしないが、dcdiag は実際に接続テストも行う。

なおActive Directory のDCにはサポートツールが運用上必須なのでWindowsインストール時に忘れずにセットアップしておくことを強くお薦めする。

戻る