none
DC間レプリケーション不整合における残留オブジェクトの削除エラー RRS feed

  • 質問

  • よろしくお願いします。

    掲題の通り、

    DC間のレプリケーションの不整合により、残留オブジェクトを削除しようとしております。

    下記の通りのコマンドを実行したところ、

    repadmin /removelingeringobjects ABCDE XXXXXXXXXX DC=AAAA,DC=local /advisory_mode

    DsReplicaVerifyObjectsW() に失敗しました。状態: 8524 (0x214c):

        DNS 参照エラーのため、DSA 操作を続行できません。

    というエラーが発生しました。

    ABCDEは、問題なくpingは通りますし、ABCDE.AAAA.localでもpingは通りますので、DNS参照エラーの意味が分かっておりません。

    どこの部分に対するDNS参照エラーなのかを教えていただけると助かります。


    金融工学 数学 情報工学 を学ぶ、プロフェッショナル兼パパです。

    2016年3月1日 2:03

回答

  • チャブーンです。

    まず、前提としてイベントログを確認したうえ、対応することになります。

    • NTDS Replication の ID 1084が出ている(残存オブジェクトがあれば出ているはずです)
      以下のレジストリを設定し(存在しない場合は新規に作成してください)、ドメインコントローラを再起動します。
      レジストリキー: HKEY_LOCAL_MACHINE\system\currentcontrolset\services\ntds\parameters
      レジストリの名前: Strict Replication Consistency
      種類と値: REG_DWORD 0
    • NTDS Replication の ID 2042が出ている(長期間複製停止している場合出ている可能性がきわめて高いです)
      以下のレジストリを設定し(存在しない場合は新規に作成してください)、ドメインコントローラを再起動します。
      レジストリキー: HKEY_LOCAL_MACHINE\system\currentcontrolset\services\ntds\parameters
      レジストリの名前: Allow replication with divergent and corrupt partner
      種類と値: REG_DWORD 1

    両方発生している場合は、同時にレジストリ値を設定して再起動すればよいです。対象サーバだけに設定してもうまくいかない場合、複製パートナにも同じように設定してください。なお、うまくいった場合は、「きちんと同期できたことを確認」してから、レジストリ値を元に戻してください(設定反映は再起動が必要です)。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2016年3月2日 3:40
    モデレータ
  • チャブーンです。

    エラーの原因ですが、「構文が間違っているから」が答えとなります。正しい構文は以下の通りです。

    repadmin /removelingeringobjects <Destination_domain_controller> <Source_domain_controller_GUID> <Directory_partition> /advisory_mode 

    以下のページをきちんと読まれることを、まずはお奨めします。

    https://support.microsoft.com/ja-jp/kb/870695


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答の候補に設定 佐伯玲 2016年3月3日 6:13
    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月1日 7:27
    モデレータ
  • チャブーンです。

    ただ、このコマンドの処理の意味が分かっていないのですが、
    相手先のサーバーのレプリケーションデータを全部削除して、新たに再構築するという処理なのでしょうか?

    いいえ。"Lingering Object"=残存オブジェクトというのは、長期間複製されていない特定のオブジェクトを指します。長期間複製されていないオブジェクトは、たとえば「別のドメインコントローラで削除済み」のようなケースで、削除された記録自体が消滅してしまっているので、通常に複製を行うとオブジェクトが復活してシステムを破損する危険があります。それを検出して事前に複製停止する機能がActive Directoryには存在します。

    そのままだと、複製がいつになっても完了しないので、「長期間複製されていない特定のオブジェクト」だけを内部的に削除し、整合性を復旧させる、という意味になります。整合性が復旧することで、複製が正常に完了するようになります。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク RoboPochi 2016年3月2日 0:07
    • 回答としてマークされていない RoboPochi 2016年3月2日 0:49
    • 回答の候補に設定 佐伯玲 2016年3月3日 6:13
    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月1日 13:47
    モデレータ
  • チャブーンです。

    そこで、質問ですが、このイベントログが発生しているサーバーに対して、実施するでよいでしょうか?

    はい。原則的にはその方針になります。設定変更後、うまく複製できない場合は、複製パートナ側も試してみてください。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月2日 7:14
    モデレータ

すべての返信

  • チャブーンです。

    エラーの原因ですが、「構文が間違っているから」が答えとなります。正しい構文は以下の通りです。

    repadmin /removelingeringobjects <Destination_domain_controller> <Source_domain_controller_GUID> <Directory_partition> /advisory_mode 

    以下のページをきちんと読まれることを、まずはお奨めします。

    https://support.microsoft.com/ja-jp/kb/870695


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答の候補に設定 佐伯玲 2016年3月3日 6:13
    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月1日 7:27
    モデレータ
  • お世話になります。

    ご指摘の通り、Source_domain_controller_GUIDを削除対象のオブジェクトIDと思っていました。

    修正後、実行したところ、正常に処理されました。

    ただ、このコマンドの処理の意味が分かっていないのですが、

    相手先のサーバーのレプリケーションデータを全部削除して、新たに再構築するという処理なのでしょうか?

    すみません、もともと、レプリケーションのトラブルから、このコマンドを実行するように書かれていたのをそのまま試しているので、

    このコマンドの意味があまりわかっておりません。


    金融工学 数学 情報工学 を学ぶ、プロフェッショナル兼パパです。

    2016年3月1日 8:37
  • チャブーンです。

    ただ、このコマンドの処理の意味が分かっていないのですが、
    相手先のサーバーのレプリケーションデータを全部削除して、新たに再構築するという処理なのでしょうか?

    いいえ。"Lingering Object"=残存オブジェクトというのは、長期間複製されていない特定のオブジェクトを指します。長期間複製されていないオブジェクトは、たとえば「別のドメインコントローラで削除済み」のようなケースで、削除された記録自体が消滅してしまっているので、通常に複製を行うとオブジェクトが復活してシステムを破損する危険があります。それを検出して事前に複製停止する機能がActive Directoryには存在します。

    そのままだと、複製がいつになっても完了しないので、「長期間複製されていない特定のオブジェクト」だけを内部的に削除し、整合性を復旧させる、という意味になります。整合性が復旧することで、複製が正常に完了するようになります。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク RoboPochi 2016年3月2日 0:07
    • 回答としてマークされていない RoboPochi 2016年3月2日 0:49
    • 回答の候補に設定 佐伯玲 2016年3月3日 6:13
    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月1日 13:47
    モデレータ
  • 教えてください。

    repadmin /removelingeringobjects コマンドは正常に実行できたのですが、

    まだ、レプリケートが実行できません。イベントログに同じ、repadminコマンドのサンプルが表示されたログが

    表示され続けております。

    次の問題対応、または調査としては何を実行するべきでしょうか?

    よろしくお願いします。


    金融工学 数学 情報工学 を学ぶ、プロフェッショナル兼パパです。

    2016年3月2日 0:55
  • チャブーンです。

    まず、前提としてイベントログを確認したうえ、対応することになります。

    • NTDS Replication の ID 1084が出ている(残存オブジェクトがあれば出ているはずです)
      以下のレジストリを設定し(存在しない場合は新規に作成してください)、ドメインコントローラを再起動します。
      レジストリキー: HKEY_LOCAL_MACHINE\system\currentcontrolset\services\ntds\parameters
      レジストリの名前: Strict Replication Consistency
      種類と値: REG_DWORD 0
    • NTDS Replication の ID 2042が出ている(長期間複製停止している場合出ている可能性がきわめて高いです)
      以下のレジストリを設定し(存在しない場合は新規に作成してください)、ドメインコントローラを再起動します。
      レジストリキー: HKEY_LOCAL_MACHINE\system\currentcontrolset\services\ntds\parameters
      レジストリの名前: Allow replication with divergent and corrupt partner
      種類と値: REG_DWORD 1

    両方発生している場合は、同時にレジストリ値を設定して再起動すればよいです。対象サーバだけに設定してもうまくいかない場合、複製パートナにも同じように設定してください。なお、うまくいった場合は、「きちんと同期できたことを確認」してから、レジストリ値を元に戻してください(設定反映は再起動が必要です)。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2016年3月2日 3:40
    モデレータ
  • わかりやすい説明ありがとうございます。

    週末にメンテナンスをしますので、そこで実行しようと思います。

    ちなみに、2042のケースが起きています。

    そこで、質問ですが、このイベントログが発生しているサーバーに対して、

    実施するでよいでしょうか?もう一方のサーバーには出ていませんが、

    エラーログを見ると、もう一方のサーバーからエラーが出ているサーバーへのreplicationで、問題が発生していると記載されているので、

    念のため、どちらのサーバーで対応するべきなのかを確認したいです。


    金融工学 数学 情報工学 を学ぶ、プロフェッショナル兼パパです。

    2016年3月2日 4:23
  • チャブーンです。

    そこで、質問ですが、このイベントログが発生しているサーバーに対して、実施するでよいでしょうか?

    はい。原則的にはその方針になります。設定変更後、うまく複製できない場合は、複製パートナ側も試してみてください。


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク 佐伯玲 2016年3月18日 7:43
    2016年3月2日 7:14
    モデレータ