このページでは、Active Directory 環境におけるドメインコントローラー間のレプリケーション状態を確認する手順を解説する。
Active Directory では、複数のドメインコントローラー間でディレクトリ情報を複製することで整合性を維持している。
このレプリケーションが停止または遅延すると、ユーザー認証の不整合やグループポリシーの未適用といった形で利用者に影響が発生する。
そのため、本手順ではレプリケーションが「正常に継続している状態」であるかを確認し、
障害の早期検知および影響拡大の防止につなげることを目的とする。
| 項目 | 内容 |
|---|---|
| ドメイン名 | example.com |
| ドメインコントローラー | DC01(PDC エミュレーター) |
| ドメインコントローラー | DC02(追加ドメインコントローラー) |
| クライアント | CLIENTPC |
※本ページでは説明のため仮称を使用している
※実環境ではドメイン名・サーバー名を適宜読み替えること
本手順では、以下の観点でレプリケーションの状態を確認する。
これにより、「正常に見える異常」や「片側のみの異常」を見逃さないことを目的とする。
レプリケーションは双方向で動作するため、片側のみの確認では状態を正しく判断できない。
実際の運用では、一方では正常に見えても対向側では失敗しているケースが発生することがある。
そのため、同一の確認を両方のドメインコントローラーで実施し、結果に差がないことを確認する。
また、単一のコマンド結果のみで判断するのではなく、レプリケーションの成功可否とあわせて、
同期の間隔(最大デルタ)の推移も含めて総合的に判断することが重要である。
repadmin の結果は単に成功・失敗だけを見るのではなく、最終同期からの経過時間(最大デルタ)も含めて評価する必要がある。
同一サイト内では、通常 15 分から 1 時間程度の間隔でレプリケーションが実行される。
そのため、最大デルタがこの範囲内に収まっている場合、同期は継続していると判断できる。
一方で、最大デルタが時間経過とともに増え続ける場合は、レプリケーションが停止または滞留している可能性が高い。
また、瞬間的な遅延ではなく「継続的に増加しているかどうか」を重視して判断する。
レプリケーション全体の状態を俯瞰し、異常の有無を最初に判断する。
# レプリケーション全体の状態を確認
repadmin /replsummary
PS C:\> repadmin /replsummary
ソース DSA 最大デルタ 失敗/合計 %% エラー
DC01 22m:34s 0 / 5 0
DC02 24m:48s 0 / 5 0
宛先 DSA 最大デルタ 失敗/合計 %% エラー
DC01 24m:48s 0 / 5 0
DC02 22m:34s 0 / 5 0
正常
DC01 から見たレプリケーションは正常に実行されており、
成功率および同期遅延ともに問題は確認されない。
この時点では、レプリケーション停止や遅延といった異常は発生していない。
対向のドメインコントローラーから見た状態に差がないかを確認する。
# レプリケーション全体の状態を確認
repadmin /replsummary
PS C:\> repadmin /replsummary
ソース DSA 最大デルタ 失敗/合計 %% エラー
DC01 22m:52s 0 / 5 0
DC02 25m:06s 0 / 5 0
宛先 DSA 最大デルタ 失敗/合計 %% エラー
DC01 25m:06s 0 / 5 0
DC02 22m:52s 0 / 5 0
正常
DC02 から見てもレプリケーションは正常に実行されており、
対向との間で認識の差異は発生していない。
両ドメインコントローラー間で整合性は維持されている状態である。
各パーティションごとのレプリケーション状態を詳細に確認する。
# レプリケーションの詳細状態を確認
repadmin /showrepl
PS C:\> repadmin /showrepl
==== 入力方向の近隣サーバー ====
DC=example,DC=com
DC02 (RPC)
最後の試行は成功しました。
CN=Configuration,DC=example,DC=com
DC02 (RPC)
最後の試行は成功しました。
CN=Schema,CN=Configuration,DC=example,DC=com
DC02 (RPC)
最後の試行は成功しました。
DC=DomainDnsZones,DC=example,DC=com
DC02 (RPC)
最後の試行は成功しました。
DC=ForestDnsZones,DC=example,DC=com
DC02 (RPC)
最後の試行は成功しました。
正常
DC01 における各パーティションのレプリケーションはすべて成功している。
履歴上もエラーは発生しておらず、複製処理は正常に実行されている状態である。
ただし、本コマンドは直近の結果(履歴)を示すものであり、
現在の通信状態やリアルタイムの正常性を保証するものではない点に注意する。
対向から見た詳細レプリケーション状態に差がないか確認する。
# レプリケーションの詳細状態を確認
repadmin /showrepl
PS C:\> repadmin /showrepl
==== 入力方向の近隣サーバー ====
DC=example,DC=com
DC01 (RPC)
最後の試行は成功しました。
CN=Configuration,DC=example,DC=com
DC01 (RPC)
最後の試行は成功しました。
CN=Schema,CN=Configuration,DC=example,DC=com
DC01 (RPC)
最後の試行は成功しました。
DC=DomainDnsZones,DC=example,DC=com
DC01 (RPC)
最後の試行は成功しました。
DC=ForestDnsZones,DC=example,DC=com
DC01 (RPC)
最後の試行は成功しました。
正常
DC02 においても各パーティションのレプリケーションは正常に成功している。
DC01 と結果に差はなく、ドメインコントローラー間の認識も一致している。
そのため、履歴上は正常な複製状態が維持されていると判断できる。
レプリケーションに必要な通信および名前解決の状態を確認する。
# レプリケーション診断を実行
dcdiag /test:replications
PS C:\> dcdiag /test:replications
サーバー: DC01
Connectivity テスト: 合格
Replications テスト: 合格
(その他パーティションテストも正常に実行)
正常
DC01 において、ドメインコントローラー間の接続性およびレプリケーション診断は正常である。
通信および名前解決に問題はなく、レプリケーションを実行するための前提条件は満たされている。
対向から見た通信状態に問題がないか確認する。
# レプリケーション診断を実行
dcdiag /test:replications
PS C:\> dcdiag /test:replications
サーバー: DC02
Connectivity テスト: 合格
Replications テスト: 合格
(その他パーティションテストも正常に実行)
正常
DC02 においても接続性およびレプリケーション診断は正常である。
DC01 と結果に差はなく、ドメインコントローラー間の通信状態は安定している。
そのため、レプリケーションを実行するための前提条件は両サーバーで満たされていると判断できる。
レプリケーションを強制的に実行し、通信および同期処理が正常に完了するか確認する。
# レプリケーションを即時実行
repadmin /syncall /AeP
PS C:\> repadmin /syncall /AeP
DC01 のすべてのパーティションで同期を実行
- ForestDnsZones → 成功
- DomainDnsZones → 成功
- Schema → 成功
- Configuration → 成功
- Domain → 成功
SyncAll はエラーなしで終了しました。
正常
DC01 において、すべてのパーティションで強制レプリケーションが正常に完了している。
通信および同期処理に問題はなく、即時実行においても安定して複製が行われる状態である。
対向からの強制同期が正常に実行できるか確認する。
# レプリケーションを即時実行
repadmin /syncall /AeP
PS C:\> repadmin /syncall /AeP
DC02 のすべてのパーティションで同期を実行
- ForestDnsZones → 成功
- DomainDnsZones → 成功
- Schema → 成功
- Configuration → 成功
- Domain → 成功
SyncAll はエラーなしで終了しました。
正常
DC02 においても強制レプリケーションは正常に完了している。
DC01 と相互に同期が成功しており、双方向の通信および複製処理は正常に機能している。
本手順において、以下の観点ですべて正常であることを確認した。
いずれの確認においてもエラーは発生しておらず、ドメインコントローラー間の通信およびレプリケーションは正常に機能している。
また、最大デルタも通常範囲内に収まっており、時間経過による増加傾向も確認されていない。
以上より、本環境における Active Directory のレプリケーションは、正常に動作していると判断できる。
Active Directory のレプリケーション確認では、単に成功・失敗だけで判断するのではなく、以下の複数の観点で確認することが重要である。
また、障害発生時には一時的に正常に見える場合があるため、単一のコマンド結果だけで判断するのではなく、
複数の結果を組み合わせて総合的に判断する必要がある。
本手順により、レプリケーションの正常性を段階的に確認できるため、日常運用および障害発生時の切り分けの双方において有効である。