repadmin /syncall 0x80090322 が出たときの対処(接続オブジェクト削除)

Windows

― 接続オブジェクト削除による復旧手順 ―

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 と一致します。


対処方法

問題の接続オブジェクトを削除します。

手順

  1. NTDS Settings を開く
  2. 問題の接続を右クリック
  3. 削除

削除後に 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間通信障害の後に残るレプリケーションエラーを解消できる場合があります。

コメント

スポンサーリンク
タイトルとURLをコピーしました