AD移行作業
AD移行作業手順の記事は数あれど、実際のエラーに対しての有効なFAQは少ないのが現状。特にMSサイト等は有用のようでAIか何かは知らんが英語直訳で、政府要人の穢れた口から放たれる戯言のように、色々書いてはあるが何のこっちゃさっぱり訳ワカメな記事ばかり。
今回のエラー内容は良くある事で原因自体をみると大した事ないのだが、備忘録を兼ねて記しておきたい。AD関係エラー対応の一助になれば幸い。
DNS動作の理解
AD自体はサーバのウィザードに従って進めれば初めてでも出来てしまう程簡単なのだが、そこは落とし穴があって、DNSの知識が無いと、このADの管理はできなかったり、エラーにすぐ対処する事は難しい構造になっている。またDNSのCNAMEエイリアスのメンテナンスも手動で行う必要があったりする。
現場ぶっつけ本番という状況
今回の移行作業に許される時間は数時間。場所は本州を約半分移動した遠方での作業であって、業務を止めての作業。失敗は許されないぶっつけ本番。
一応、サーバイメージを貰って社内で仮想上での正常性、検証を行ってはいたが、実際はそう上手く行かない。早速エラーが発生する。
AD昇格時にもエラーが出ていたが、それは大した問題ではなかったのだが、FSMO移行前のAD動作チェック時に次のエラーが出た。
repadmin /replsummary
レプリケーションの要約開始時刻: 202X-XX-XX XX:XX:XX
レプリケーションの要約のためのデータ収集を開始します。
これにはしばらく時間がかかる場合があります:
…
ソース DSA 最大デルタ 失敗/合計 %% エラー
AD-OLDSV XXm:XXs 5 / 5 100(1908) このドメインのドメイン コントローラーが見つかりません。
宛先 DSA 最大デルタ 失敗/合計 %% エラー
AD-NEWSV XXm:XXs 5 / 5 100(1908) このドメインのドメイン コントローラーが見つかりません。
レプリケーション情報を取得しようとして、次の操作エラーが発生しました
58 - AD-OLDSV.hoge.local
repadmin /showreps
Default-First-Site-Name\AD-NEWSV
DSA オプション: IS_GC
サイト オプション: (none)
DSA オブジェクト GUID: ce2d4973-48c2-491e-9f14-fbac834dfefa
DSA 起動 ID: 16f78f3d-3173-4f0d-8a37-a12afau803as
==== 入力方向の近隣サーバー======================================
DC=hoge,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
CN=Configuration,DC=hoge,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
CN=Schema,CN=Configuration,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は、失敗しました。結果は 1908 (0x774):
このドメインのドメイン コントローラーが見つかりません。
2 回連続で失敗しました。
最後に成功したのは 202X-XX-XX XX:XX:XX です。
DC=DomainDnsZones,DC=hoge,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
DC=ForestDnsZones,DC=hoge,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
ソース: Default-First-Site-Name\AD-OLDSV
* 202X-XX-XX XX:XX:XX 以降 2 回の連続のエラー
最後のエラー: 1908 (0x774):
このドメインのドメイン コントローラーが見つかりません。
DNSが機能していないのかとサーバ名でPINGしてみるが、正常に名前解決はできている。
コマンドにてドメイン複製repadmin /syncall /Ae
を試みると、エラーは出るが、プル複製(/P)repadmin /syncall /AeP
した時点でrepadmin /replsummary
に双方のドメイン名が表示されるようになる。
repadmin /replsummary
レプリケーションの要約開始時刻: 202X-XX-XX XX:XX:XX
レプリケーションの要約のためのデータ収集を開始します。
これにはしばらく時間がかかる場合があります:
…
ソース DSA 最大デルタ 失敗/合計 %% エラー
AD-OLDSV XXm:XXs 5 / 5 100(1908) このドメインのドメイン コントローラーが見つかりません。
AD-NEWSV XXm:XXs 0 / 5 0
宛先 DSA 最大デルタ 失敗/合計 %% エラー
AD-OLDSV XXm:XXs 0 / 5 0
AD-NEWSV XXm:XXs 5 / 5 100(1908) このドメインのドメイン コントローラーが見つかりません。
dcdiagコマンドを叩くが、エラーのオンパレードなので表示は割愛するが、ダメな事は判った。
dcdiag /test:dns /s:[サーバ名] /DnsBasic
解決策
こんな時はDNSをまず疑う。マイクロソフトから言わせると定石らしい。
DNSマネージャの前方参照ゾーン→_msdcs.hoge.local内にAlias(CNAME)で名前が重複している、または稼働していないのに存在するサーバ名を削除。と思ったのだがここには該当する値は存在せず。
ならばと、配下フォルダ内の値を全て調べてみる。すると、やはり上記の現象が見て取れた。_kerberos値が3つ存在し、旧サーバ名もある。旧サーバDNSには_kerberosは2つしか存在せず正常のように見える。
現存するサーバ名を残し、重複しないようにサーバ名を削除した。すると先ほどエラーになっていたrepadmin
コマンドは全て成功するようになった。
repadmin /replsummary
レプリケーションの要約開始時刻: 202X-XX-XX XX:XX:XX
レプリケーションの要約のためのデータ収集を開始します。
これにはしばらく時間がかかる場合があります:
…
ソース DSA 最大デルタ 失敗/合計 %% エラー
AD-OLDSV XXm:XXs 0 / 5 0
AD-NEWSV XXm:XXs 0 / 5 0
宛先 DSA 最大デルタ 失敗/合計 %% エラー
AD-OLDSV XXm:XXs 0 / 5 0
AD-NEWSV XXm:XXs 0 / 5 0
repadmin /showreps
Default-First-Site-Name\AD-NEWSV
DSA オプション: IS_GC
サイト オプション: (none)
DSA オブジェクト GUID: ce2d4973-48c2-491e-9f14-fbac834dfefa
DSA 起動 ID: 16f78f3d-3173-4f0d-8a37-a12afau803as
==== 入力方向の近隣サーバー======================================
DC=hoge,DC=local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
CN=Configuration,DC=hoge,local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
CN=Schema,CN=Configuration,DC=hoge,local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
DC=DomainDnsZones,DC=hoge,local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
DC=ForestDnsZones,DC=hoge,local
Default-First-Site-Name\AD-OLDSV (RPC 経由)
DSA オブジェクト GUID: 0b27174a-af7b-42be-a60e-420faadgafaa
202X-XX-XX XX:XX:XX の最後の試行は成功しました。
MSのいう所の定石とは、サーバがドメインの複製を行う際に、DNSのサーバ名では参照せず、CNAMEにあるGUID._msdcs.hoge.local
を使って参照しようとするので、間違ったCNAMEを参照してエラーになるという事らしいのだが、今回の原因はそこではなく、単純に名前が重複していた所にあるようだ。何故重複しただけでエラーになるのかは今の所不明。
ブログ後記:一寸にも足らない戯言
現場でのエラー対応とトラブルシュートは自分の事務所で行う程スムーズには行かない。アウェィという慣れない環境、機材、自分の七つ道具がそろっていない状況での作業時間は倍かかる。やはりこういう時は落ち着いて対処できる人員を社内に置いてサポート体制を確かなものにしておくべきだろうと痛感した。
コメントを残す