ドメコン間のレプリケーション
はじめに
Active Directory Domain Serviceのサーバ(ドメインコントローラー)のレプリケーション周りについて整理。
なお前提としてシングルフォレスト、シングルドメイン、マルチサイト構成を想定してます。
レプリケーションの種類
ユーザアカウントやコンピュータアカウント、AD統合ゾーン等の情報(NTDS)のレプリケーションとグループポリシー等の情報(SYSVOL)のレプリケーションの大きく2種類にわかれている。
レプリケーションの間隔
サイト内のドメコン間のレプリケーション間隔は15秒、サイトを超えたドメコン間のレプリケーション間隔は3時間(設定変更することで15分まで縮めることは可能)が基本。ただし、アカウントのパスワード変更のようなものはPDCに対してNetlogonサービスから変更通知を即時で実施する。その後PDCがあるサイト内のドメコン間は15秒間隔でレプリケーションが行われ、サイトを超えるドメコン間は3時間間隔でレプリケーションが行われる。
パスワードの認証要求は最終的にはPDCに対して実施するので、レプリケーションがまだ行われていないサイトでも認証は可能らしい。(やったことないのでいつか試してみたい。)
レプリケーションを即時実行したいときにやること
レプリケーションをすぐに実施したいときは以下のコマンドを実行する。サイトが一つしかなかったりするとあまり活躍しないが、複数サイトで構成されている環境では本当にお世話になったコマンド。
repadmin /syncall /AeP
オプションのざっくりした意味は以下の通り
/A :すべての名前付けコンテキストをレプリケーション対象にする
/e :他サイトにあるドメコンをレプリケーション対象にする
/P :コマンドを実行するドメコンからプッシュでレプリケーションする(本オプションを消すとプルになる)
ただし、上記のコマンドではSYSVOLの内容はレプリケーションされないので要注意。SYSVOLの内容もすぐにレプリケーションしたい場合は以下コマンドを実行。
dfsrdiag SyncNow /RGName:"Domain System Volume" /Member:<レプリケーション先のドメコン> /Partner:<レプリケーション元のドメコン> /time:<xx分>
コマンド実行すると一時的に上記のtimeで指定したレプリケーション間隔になるが、すぐにレプリケーションしたいときでも、何となくサイト間レプリケーション間隔の最小値である15分を指定して使っていた。[1]
なお、ドメコンの切り替えでユーザアカウントやコンピュータアカウントはレプリケーションされているのに、AD統合ゾーンの情報だけ何故かレプリケーションに時間がかかるという事象に何度か遭遇した。上記のrepdamin叩いてもダメ。もしかしたら/Aeでプルすればよかったのかもしれないが、だいたい翌日には何事もなかったようにレプリケーションが完了していたので、深追いはしていない。。
レプリケーションがうまくいっていないときにやること
イベントログで2213が出てたらダーティシャットダウンとかしちゃった影響でSYSVOLのレプリケーションが止まっている可能性がある。Windows2012以降であれば自動回復が有効になっているので自動的に復旧してくれそうだが、Windows2008R2は無効になっている場合があるので、注意が必要。(ってWindows2008はもうさすがにないか。。)以下サイトがとても参考になる。[2]を実行して、レプリケーションされることを確認できたら、MaxOfflineTimeInDaysを元に戻してあげる。
ちなみに、SYSVOLがレプリケーションされているかを確認する手取り早い方法はSYSVOL配下に任意のファイルを置いて、レプリケーションされるかを確認する。(DFSRのレポートを確認していても異常を検知できなかったことがあった。。)
その他以下サイトも参考になる。
ドメコン切り替えのときによくやったこと
特定サイトのドメコンをローリングアップデートとかするとサイトリンク周りでハマることがよくあった。時間が解決することもあるのだが、限られた時間内で切り替え作業をしなければならないときは、手動でパスを再生成するということをよくやっていた。
具体的には、Active Directoryサイトとサービスからサイト名→Servers→ADサーバ名→NTDS Settingsを選択し、右ペインに表示される自動生成されている接続オブジェクトを削除して、repadmin /kccとrepadmin /syncall /AePをレプリケーション元とレプリケーション先で実行するような感じ。
まとめ
レプリケーションが止まってるというのは割と遭遇してきたので、定期的な稼働チェック(dcdiagを実行して確認、イベントログの確認、SYSVOLのレプリケーション状況の確認等)をして、早めに異常に気づけるようにしたいものです。
Discussion