― 接続オブジェクト削除による復旧手順 ―
Active Directory 環境では,何らかの理由で ドメインコントローラー(DC)間の通信が一時的に失われることがあります。
例えば次のようなケースです。
- ネットワーク障害
- DNS不整合
- IPv6設定問題
- VPN切断
- ファイアウォール設定変更
このような状況では ADレプリケーションが停止します。
しかし問題なのは,
通信を回復させても Active Directory のエラーが残り,レプリケーションが復旧しないことがある
という点です。
今回はそのようなケースで Active Directory サイトとサービスの接続オブジェクトを削除することで復旧した事例を紹介します。
環境情報は社内情報のため次の名称に置き換えています。
| 項目 | 名称 |
|---|---|
| フォレスト | domainA.net |
| 別ドメイン | domainB.local |
発生する現象
DC間通信が一時的に途絶えた後,次のようなエラーが発生することがあります。
repadmin /syncall /AdeP
結果
対象のプリンシパル名が間違っています。
0x80090322
また repadmin /showrepl では
RPC サーバーを利用できません (1722)
といったエラーが表示されます。
この状態では 通信自体は回復していてもレプリケーションが失敗します。
なぜ通信回復後もエラーが残るのか
Active Directory では KCC(Knowledge Consistency Checker) がレプリケーショントポロジーを自動生成しています。
つまり
DC A ←→ DC B
の接続は内部的には 接続オブジェクトとして管理されています。
しかし DC間通信が長期間失われると
接続オブジェクトが不整合
となり,通信が回復しても 古い接続情報でレプリケーションを試行し続けることがあります。
その結果
repadmin /syncall
でエラーが発生します。
どのDC間が問題なのか調べる
まず次のコマンドを実行します。
repadmin /showconn
ここでは 現在のレプリケーション接続を確認できます。
問題がある場合は次のような表示になります。
接続名 : <DC名>
1473 回の連続エラー
最後のエラー : RPC サーバーを利用できません
このように
連続エラー
と表示される接続が 問題のDC間接続です。
GUIで確認する
次に GUI で接続を確認します。
Active Directory サイトとサービス
以下のツリーを開きます。
Sites
└ <Site>
└ Servers
└ <DC>
└ NTDS Settings
ここに レプリケーション接続オブジェクトが表示されます。
問題の接続は
repadmin /showconn
で確認した DC と一致します。
対処方法
問題の接続オブジェクトを削除します。
手順
- NTDS Settings を開く
- 問題の接続を右クリック
- 削除
削除後に KCC を再生成します。
repadmin /kcc
レプリケーションを再実行
repadmin /syncall /AdeP
結果
SyncAll はエラーなしで終了しました
となれば復旧です。
最終確認として次を実行します。
repadmin /replsummary
failures = 0
であれば Active Directory レプリケーションは正常です。
まとめ
DC間通信が一時的に失われた後は
通信回復
↓
レプリケーションエラー継続
という状態になることがあります。
この場合は次の順序で確認します。
① 問題DCの特定
repadmin /showconn
② 接続オブジェクト確認
Active Directory サイトとサービス
③ 接続削除
NTDS Settings → 接続削除
④ KCC再生成
repadmin /kcc
⑤ レプリケーション確認
repadmin /syncall
repadmin /replsummary
この方法で DC間通信障害の後に残るレプリケーションエラーを解消できる場合があります。

コメント