(備忘録)WindowsServer2012R2をドメインコントローラにするにあたってのエラー回避

2016年3月25日

WindowsServer2008R2で運用しているActive DirectoryにWindowsServer2012R2を参加させ、機能の追加でActive Directoryサービスをインストールするとことまでは問題なく完了した。

その後、2012R2をドメインコントローラに昇格させるところで下記のようなエラーが発生。

 

----------------------------------------

Active Directory の準備に関する前提条件の検証に失敗しました。前回の再起動の後にスキーマ マスターがレプリケーション サイクルを完了しているかどうかを確認できません。

例外: 限界の拡張を利用できません。サーバー拡張エラー: 8366。サーバー拡張メッセージ: 000020AE: SvcErr: DSID-03210384, problem 5010 (UNAVAIL_EXTENSION), data 8610。

Adprep は、スキーマ マスターが前回再起動後のレプリケーション サイクルを完了したかどうかを確認することができませんでした。

[状態/結果]

スキーマはアップグレードされません。

[ユーザーによる操作]

エラーの原因の可能性については、C:Windowsdebugadpreplogs20140323101620-test ディレクトリにあるログ ファイル ADPrep.log を確認してください。

----------------------------------------

WindowsServer2008R2のDCが2台あり、そのうちの1台が長期間、電源が入れられずに放置されていたためドメインの情報をレプリケート出来ないでいるのが原因だった。

 

メインのDCのrepadmin /showreplを実行すると以下のエラーが出力された。(本来はもっとたくさんの情報を出力している)

----------------------------------------

このサーバーとの最後のレプリケーション以来、廃棄(TOMBSTONE)の有効期間を超えた

時間がたっているため、ACTIVE DIRECTORYはこのサーバーでレプリケートできません。

----------------------------------------つまり、「長いこと放置したから、このDC破棄したと認識したで、だから情報のコピーはされんで」ということですわ。

 

この放置DCが再度レプリケート出来るようにするためには放置DCのレジストリの書き換えをやらなければならない。

 

■AD強制同期

----------------------------------------

①対象となる全てのDCのレジストリに値を追加

パス:HKLM/SYSTEM/CurrentControlSet/Services/NTDS/Parameters

タイプ:REG_DWORD

値:Allow Replication With Divergent and Corrupt Partner

を1にする

 

②Active Directoryサイトとサービスで「今すぐレプリケート」を実行

 

③前述のレジストリを削除

----------------------------------------

これでエラーが解消できるかと思って再度DCへの昇格作業を試みるもあえなく撃沈。

放置DC側からメインDCへのレプリケートがまだ通らないようである。

 

エラーの出方が先ほどと違ったのでイベントログで確認すると以下のログが出力されていた。

----------------------------------------

Active Directory ドメイン サービス レプリケーションは、ローカル ドメイン コントローラー (DC) Active Directory ドメイン サービス データベースから 削除されたオブジェクトを次のパーティションで見つけました。直接 または推移性のレプリケーション パートナーのすべてが、廃棄 (Tombstone)  の有効期間が経過する前に削除でレプリケートされたわけではありません。削除されて  Active Directory ドメイン サービス パーティションからガベージ コレクションされたオブジェクトで、同じドメインの 他の DC の書き込み可能パーティション、またはフォレストの他のドメインのグローバル カタログ サーバーの 読み取り専用パーティションに存在するものは、"残留オブジェクト" と 呼ばれています。

 

 

==(略)== 

 

ユーザー操作:

 

残留オブジェクトの削除:

 

 このエラーから回復するための動作は http://support.microsoft.com/?id=314282 を参照してください。

 

 ソースおよび宛先 DC の両方が Windows Server 2003 DC である場合は、インストール CD に含まれているサポート ツールを インストールしてください。削除を実際に実行することなく削除される オブジェクトを参照するには "repadmin /removelingeringobjects <ソース DC> <宛先 DC DSA GUID> <NC> /ADVISORY_MODE" を実行してください。 ソース DC 上のイベントログはすべての残留オブジェクトを列挙します。ソース ドメイン コントローラーから残留 オブジェクトを削除するには、次のコマンドを実行してください: ""repadmin /removelingeringobjects <ソース DC> <宛先 DC DSA GUID> <NC>""

 

 ソースまたは宛先 DC のどちらかが Windows 2000 Server DC の場合は、ソース DC 上の残留オブジェクトの 削除に関する詳細情報を http://support.microsoft.com/?id=314282 で参照するか、Microsoft のサポート 担当者に問い合わせてください。

 

 Active Directory ドメイン サービス レプリケーションを今すぐ機能させる必要があり、残留オブジェクト を削除する時間がない場合は、以下のレジストリ キーの設定を解除してレプリケー ションの整合性の厳しさを緩和してください:

 

レジストリ キー:

HKLMSystemCurrentControlSetServicesNTDSParametersStrict Replication Consistency

 

 共通のパーティションを共有する DC 間にレプリケーション エラーが発生すると、ユーザーとコンピューターの  アカウント、信頼関係、パスワード、セキュリティ グループ、セキュリティ グループのメンバーシップ、 およびその他の Active Directory ドメイン サービス構成データが DC 間で矛盾し、ログオン、希望のオブジェクトの検索、 およびその他の重要な操作を実行する能力に影響を及ぼします。 これらの矛盾はエラーが修正されると解決されます。削除したオブジェクトを 廃棄 (Tombstone) の有効期間内に入力方向にレプリケーションすることに失敗した DC は、 残留オブジェクトが各ローカル DC から管理者によって手動で削除されるまで、矛盾したままになります。

 

 フォレスト内のすべてのドメイン コントローラーが Active Directory ドメイン サービスを実行し、 スパン ツリー接続トポロジによって接続され、廃棄 (Tombstone) の有効期間が経過する前に入力方向のレプリケーションを実行することを 確認することによって、オブジェクトの残留を防止することができます。

----------------------------------------

いくつか復旧方法があるようだがさっきもレジストリをいじったので、今度もレジストリをいじることとした。

今度はメインDC側のレジストリをいじり、サーバーを再起動し、放置DC側からメインDC側へのレプリケートを実行すると今度は無事処理できた。

 

その後、WindowsServer2012R2でDCへの昇格処理が無事実行された。

WindowsServer

Posted by kinya