SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Active Directory のレプリケーションを一時的に停止する方法

leave a comment

今月は SQL Server の投稿を増そう月間にするつもりだったのですが業務都合上そうもいかず、
当初の予定とは異なり AD のメモを増やさなくてはいけなさそうです…。

AD ではサイト間、サイト内にオブジェクトを伝搬するためにレプリケーションが行われていますが、
OCS や Exchange の導入時にスキーマ拡張やドメインのオブジェクト準備をするときに特定の
ドメインコントローラーから出力方向 (変更を他のドメインコントローラーに伝搬) のrレプリケーションを
一時的に無効化したいこともあるかと思います。
# DNS を AD 統合にして自サーバー内に持っているのであればネットワークケーブルを抜いて
 代わりにループバックコネクタをつけておけばよいのかもしれませんが…。

repadmin コマンドでオプションを設定すると一時的にレプリケーションを無効にすることができます。
Windows Server 2003 まではこのコマンドはサポートツールに含まれていますので、設定する場合は
OS のメディアまたはサービスパックのメディアからインストールする必要があります。
Windows Server 2008 には AD の役割を追加すると自動でインストールされます。
# 2008 には replmon / netdiag は含まれていないようですが。

出力方向のレプリケーションを停止

repadmin /options <DC 名> +DISABLE_OUTBOUND_REPL

出力力方向ですので対象のドメインコントローラで変更した内容のレプリケーションを
ブロックする設定になります。
# 変更内容尾を伝搬させない。

入力方向のレプリケーションを停止

repadmin /options <DC 名> +DISABLE_INBOUND_REPL

入力方向ですので他のドメインコントローラの変更を取り込まない設定になります。

出力方向のレプリケーションを開始

repadmin /options <DC 名> -DISABLE_OUTBOUND_REPL

?

入力方向のレプリケーションを開始

repadmin /options <DC 名> -DISABLE_INBOUND_REPL

?

2003-AD-01 というドメインコントローラーで入力 / 出力のレプリケーションを停止する場合は
以下のようなコマンドとなります。

repadmin /options 2003-ad-01 +DISABLE_OUTBOUND_REPL
repadmin /options 2003-ad-01 +DISABLE_INBOUND_REPL

?

この状態で [repadmin /showreps] コマンでレプリケーションの状態を確認すると以下のような表示となります。
# 2003-AD-01 のレプリケーションパートナーである 2003-AD-02 のレプリケーショントポロジーを表示しています。

>repadmin /showreps 2003-ad-02
Root-Domain-Site2003-AD-02
DC Options: IS_GC
Site Options: (none)
DC object GUID: 3e5f87fa-f72d-4d0d-b09f-aee1304d3b3f
DC invocationID: d48f468f-2b08-489c-9b7f-7036cf593874

==== INBOUND NEIGHBORS ======================================

DC=domain,DC=local
??? Root-Domain-Site2003-AD-01 via RPC
??????? DC object GUID: b7bc0b57-eed7-4168-935f-ee3904526c70
??????? Last attempt @ 2009-06-17 13:49:27 failed, result 8456 (0x2108):
??????????? ソース サーバーは現在、レプリケーション要求を拒否しています。
??????? 7 consecutive failure(s).
??????? Last success @ 2009-06-17 13:43:12.

CN=Configuration,DC=domain,DC=local
??? Root-Domain-Site2003-AD-01 via RPC
??????? DC object GUID: b7bc0b57-eed7-4168-935f-ee3904526c70
??????? Last attempt @ 2009-06-17 13:47:07 failed, result 8456 (0x2108):
??????????? ソース サーバーは現在、レプリケーション要求を拒否しています。
??????? 2 consecutive failure(s).
??????? Last success @ 2009-06-17 13:42:48.

CN=Schema,CN=Configuration,DC=domain,DC=local
??? Root-Domain-Site2003-AD-01 via RPC
??????? DC object GUID: b7bc0b57-eed7-4168-935f-ee3904526c70
??????? Last attempt @ 2009-06-17 13:47:07 failed, result 8456 (0x2108):
??????????? ソース サーバーは現在、レプリケーション要求を拒否しています。
??????? 2 consecutive failure(s).
??????? Last success @ 2009-06-17 13:40:54.

DC=jp,DC=domain,DC=local
??? Root-Domain-Site2003-AD-01 via RPC
??????? DC object GUID: b7bc0b57-eed7-4168-935f-ee3904526c70
??????? Last attempt @ 2009-06-17 13:47:07 failed, result 8456 (0x2108):
??????????? ソース サーバーは現在、レプリケーション要求を拒否しています。
??????? 2 consecutive failure(s).
??????? Last success @ 2009-06-17 13:43:23.

?
2003-AD-01 でレプリケーションが拒否されていることが確認できます。
# 停止してからレプリケーションのパートナー側で停止されていると認識されるまで少し時間がかかりました。
 実運用で停止する場合は小出しに showreps を実行して停止しているかを確認したほうがよいかも。
 上記、実行結果のように全パーティションでレプリケーション要求を拒否することはできます。

入力と出力の関係によっては以下のメッセージが表示されることも。

宛先サーバーは現在、レプリケーション要求を拒否しています。

レプリケーションが停止しているドメインコントローラーはサポートツールの [replmon.exe] では
以下の画像のように表示されます。

image

[Active Directory サイトとサービス] で複製をしようとすると以下の警告となります。

image

ドメインコントローラーで今、どのようなオプションが設定されているかは以下のコマンドで確認可能です。

repadmin /showreps <DC 名>

実行すると以下のような結果
が表示されます。

>repadmin /options 2003-ad-01
Current DC Options: IS_GC DISABLE_INBOUND_REPL DISABLE_OUTBOUND_REPL

レプリケーションの停止の仕方をよく忘れてしまうのでメモとして残しておきたいと思います。

Share

Written by Masayuki.Ozawa

6月 17th, 2009 at 5:01 am

Posted in Active Directory

Leave a Reply