新しいドメイン コントローラーのプロモーション失敗を防ぐ!DNSとFSMO移行の徹底ガイド

企業や組織でActive Directoryを運用していると、老朽化したドメイン コントローラー(DC)の廃止や新しいDCの導入は避けて通れません。しかし、適切な移行手順を踏まずに旧サーバーを取り除いたり、新しいDCを追加したりすると、DNSエラーやSYSVOLの同期不良など、さまざまな不具合が生じることがあります。この記事では、新しいドメイン コントローラーのプロモーションに失敗する原因や、その解決策について詳しく解説していきます。

旧ドメイン コントローラー廃止後のFSMOロール移行不備に要注意

ドメイン コントローラーの移行作業において、最も重要なポイントの一つがFSMO(Flexible Single Master Operation)ロールの適切な移行です。既存のドメイン環境で古いDCを廃止する際に、このFSMOロールが正しく新しいDCに引き継がれていないと、後から追加するドメイン コントローラーのプロモーションが失敗する原因となります。

FSMOロールとは?

Active Directoryには、以下の5つのFSMOロールが存在します。それぞれが異なる役割を果たすため、いずれのロールも正しく維持されることが重要です。

FSMOロール名主な役割
スキーママスター (Schema Master)スキーマの変更を制御。スキーマを編集できるDCはこのロールを保持している1台のみ。
ドメイン名マスター (Domain Naming Master)フォレスト内でドメイン名を追加・削除するときの一元管理を行う。
RIDマスター (Relative ID Master)ユーザーやグループなどのセキュリティID(SID)発行時の増分管理。
PDCエミュレーター (PDC Emulator)パスワード変更の即時反映、時刻同期、旧クライアントとの互換性などを提供。
インフラストラクチャマスター (Infrastructure Master)クロスドメイン参照時のオブジェクト情報の整合性管理。

FSMOロールの確認コマンド

FSMOロールがどのサーバーに割り当てられているかを確認したい場合、コマンドプロンプト(またはPowerShell)で以下のコマンドを実行します。

netdom query fsmo

この出力結果をもとに、各ロールがどのドメイン コントローラーに集約されているかを把握できます。もし既に廃止したはずの古いDCがロール保有者として表示されていたら、移行が不完全な可能性があります。

ロールの強制取得(seize)に関する注意点

元のDCが既にダウンしているなど、正規の手順でロール移行ができない場合は、強制取得コマンドが存在します。しかし、強制取得はAD内のオブジェクト整合性に影響を与える可能性があるため、やむを得ない場合を除き推奨されません。実行する際のコマンド例は以下のとおりです。

netdom seize fsmo

強制取得後は、すぐにレプリケーションやイベントログを確認し、不整合が生じていないかを必ずチェックしましょう。

DNSの設定不備とドメイン委任エラーへの対処

新しいDCのプロモーション時に「DNSの委任エラー」が表示される場合、DNSサーバーの設定やゾーン情報に問題があることが多いです。DNSが正しく機能していないと、SRVレコードの登録やレプリケーションが失敗し、最終的にSYSVOLやNetlogon共有が作成されません。

DNSレコードの確認と整理

  • SRVレコードの確認
    ドメイン名のフォワード ルックアップ ゾーンに、_tcp_udp_sitesなどの各サブフォルダ配下にあるSRVレコードをチェックします。古いDCのレコードが残存していないか、あるいは新しいDCの情報が正しく反映されているかを確認します。
  • ゾーン デリゲーション(ドメインの委任)
    親ドメインと子ドメインの関係にある場合、委任設定が正しく行われていないと「DNSの委任エラー」が発生することがあります。不要なサブゾーンや逆引きゾーンを整理し、正しく動作しているか検証しましょう。

DNSサーバーと新DCのアドレス設定

  • 新DCのTCP/IPプロパティ
    新しいドメイン コントローラーを追加する際、DNSサーバーアドレスは必ずドメイン内の既存DCを指すように設定するか、もしくは自分自身をプライマリDNSにしてセカンダリDNSを既存DCに設定します。
  • ネームサーバーの順序
    ネットワーク内に複数のDNSサーバーがある場合、優先順位が正しくないと名前解決の失敗が発生することがあります。一般的には、最も信頼できるドメイン コントローラーのDNSを優先的に参照するように設定します。

Active Directoryレプリケーションのトラブルシュート

ドメイン コントローラー間のレプリケーションに失敗がある場合、ユーザーやグループ、GPOなどの情報が同期されず、新DCの動作に影響を及ぼします。特にSYSVOLやNetlogon共有の作成失敗はレプリケーション不備と密接に関係します。

dcdiagコマンドやrepadminコマンドで状態確認

Windows Serverで標準的に使用されるトラブルシューティング ツールとして、dcdiagrepadminがあります。

  • dcdiag
    Active Directoryの全般的な動作をテストするコマンドです。以下のように実行し、失敗や警告が出ていないかをチェックします。
  dcdiag /v /c /e /f:dcdiag_result.txt

ここでは詳細(verbose)を出力し、すべてのDCをテストし、結果をテキストファイルにまとめます。

  • repadmin
    レプリケーションの詳細情報を取得するコマンドです。
  repadmin /showrepl
  repadmin /replsummary

これにより、どのDCからどのDCへのレプリケーションが失敗しているかを確認できます。エラーコードや失敗カウントを基に、問題のあるリンクやサイトを特定しましょう。

サイトとサービス、サブネット設定の再確認

大規模な環境では、ADサイトの設定やサブネットの定義が複雑になりがちです。誤ったサブネット設定や不要なサイトリンクが存在すると、レプリケーションパスが適切に構築されず、同期エラーが起きることがあります。

  1. Active Directory サイトとサービスを開き、古いDCに紐づいたオブジェクトが残っていないかを確認。
  2. 不要なサイトリンクやサイトを削除し、必要なサイトリンクコストとスケジュールを適切に設定する。
  3. サブネットが正しくサイトに割り当てられていることを確認する。

SYSVOLとNetlogon共有が作成されない場合の対処

SYSVOLとNetlogonは、グループポリシーやログオンスクリプトを提供するために重要な共有フォルダです。新しいドメイン コントローラーがプロモーション途中でレプリケーションに失敗すると、これらの共有フォルダが作られず、GPOやログオン処理に支障をきたします。

DFS Replication(DFSR)とFRSの混在に注意

Windows Server 2008 R2以降では、SYSVOLのレプリケーションにDFS Replication(DFSR)がデフォルトで使用されます。ただし、以前のバージョンからアップグレードを重ねている環境では、FRSが残っているケースもあります。

  • DFSR使用状況の確認
    イベントビューアの「DFS Replication」ログでエラーや警告が発生していないかチェックします。
  • FRSが混在していないか
    旧バージョンのサーバーが存在する場合や、ドメイン機能レベルが2008未満の場合にはFRSが使われている可能性があります。その場合は、DFS Replicationへ移行する計画を立てるのが望ましいでしょう。

SYSVOLの再同期(DFSRの権威ある同期)

DFS Replicationを使用している環境でSYSVOLの状態が不完全なときは、権威ある同期や非権威ある同期を実施することで問題が解決する場合があります。以下は一般的な手順の概略です。

  1. すべてのドメイン コントローラーでDFSRサービスを停止する。
  2. レジストリエディタで、HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters\Sysvol\MigrationStateSysvol\ContentSet\ 配下の値を調整する。
  3. 特定のDC(メインとなるDC)で、DFSRを権威ある形で再初期化する設定を行い、サービスを起動する。
  4. 他のDCを順次起動し、レプリケーションが正常完了するかを確認する。

権威ある同期は手順を誤ると、最新のグループポリシー情報などが上書きされたり消失したりするリスクがあります。実施前には、必ずシステムのバックアップを取得しておきましょう。

古いドメイン コントローラーの完全除去

廃止したDCがActive Directoryの構成上に残っていると、新しいDCのプロモーションに影響を与えるだけでなく、ドメイン内の不要なレコードやセキュリティリスクの温床にもなりかねません。以下のポイントを押さえて、古いDCを確実に除去しましょう。

サイトとサービスから古いDCの削除

  1. Active Directory ユーザーとコンピューター(またはPowerShell)で該当するDCオブジェクトを削除する。
  2. Active Directory サイトとサービスで該当DCのサーバーオブジェクト、およびConnectionオブジェクトを削除する。
  3. DNSサーバーのフォワード/リバース ルックアップ ゾーンから古いDCのAレコード、PTRレコード、SRVレコードを削除する。

メタデータのクリーンアップ

強制的にドメイン コントローラーを除去した場合、ADに残るメタデータの断片を手動でクリーンアップする必要があります。古い手法ですが、NTDSUTILコマンドでのクリーンアップ操作が代表的です。例:

ntdsutil
metadata cleanup
connections
connect to server <クリーンアップを行うサーバー名>
quit
select operation target
list domains
select domain <対象ドメイン番号>
list sites
select site <対象サイト番号>
list servers in site
select server <古いサーバー番号>
quit
remove selected server

この操作によって、AD上の不要なメタデータが取り除かれ、よりクリーンな環境が保てます。

OSバージョンアップとドメイン機能レベルの見直し

Windows Server 2012などのサポート切れが近い、あるいはすでに切れているサーバーが混在している場合、早めに新しいバージョンへ移行することが推奨されます。セキュリティ面やパフォーマンス、トラブルシューティングの効率が大幅に向上するからです。

ドメイン機能レベル(Domain Functional Level)の上げ方

  1. すべてのドメイン コントローラーが対応するOSバージョン以上になっていることを確認。
  2. Active Directory ユーザーとコンピューターのコンソールで、ドメインのプロパティを開き、「ドメイン機能レベルの引き上げ」を選択。
  3. 引き上げ後は元に戻すことができないため、慎重に実施。

ドメイン機能レベルを上げると、最新のActive Directory機能(例えばFine-Grained Password Policiesなど)をフル活用できるようになるメリットがあります。

トラブル事例とその解決のヒント

実際の現場では、様々な要因が絡み合ってトラブルが起きます。以下に代表的な事例とヒントを挙げます。

事例1: 新しいDCを追加したが、クライアントが旧DCを参照し続ける

  • 原因: DHCPスコープや固定IP設定で、古いDCのIPアドレスが優先的にDNSサーバーとして配布されている場合がある。
  • 対処法: DHCPサーバーのオプション設定を見直し、新しいDCのアドレスが正しく優先されるように修正する。クライアントのDNSキャッシュフラッシュ(ipconfig /flushdns)も有効なケースあり。

事例2: SYSVOL共有はできたが、ポリシーが反映されない

  • 原因: レプリケーションが部分的に失敗し、GPOのファイル構造だけが反映されていない。
  • 対処法: DFS Replicationログを詳細に調べ、特定のファイルやフォルダが同期失敗していないかを確認。場合によっては権威ある同期の再実行が必要。

事例3: FRSとDFSRが混在している環境での予期せぬ同期停止

  • 原因: ドメイン機能レベルが古く、一部サーバーがFRSで動作しているのに対し、新しいDCはDFSRで動作しようとして衝突。
  • 対処法: ドメイン機能レベルを少なくとも2008(DFSRサポート)以上に引き上げ、すべてのドメイン コントローラーでDFSRを使用するように統一する。

まとめ: 安定したドメイン環境を構築するためのポイント

  1. FSMOロールの移行を確実に行う
    古いDCを廃止する前に、正規の手順でロールを移行し、ロール保有者がどのサーバーなのか常に把握しておきましょう。
  2. DNSの整合性を維持する
    ドメイン コントローラーの追加・削除後は、DNSのレコードを速やかに整理し、不要な委任やレコードを残さないようにします。
  3. レプリケーションの監視と定期的な点検
    dcdiagやrepadminなどのコマンドを活用し、日常的にレプリケーション状態をチェックしておくことで早期にトラブルを発見できます。
  4. SYSVOLとNetlogonの状態確認
    DFS Replicationが正しく動作しているか、イベントログやフォルダ構成を定期的に点検して、問題を未然に防ぎましょう。
  5. ドメイン機能レベルの更新とセキュリティ強化
    古いWindows Serverが混在している環境はリスクが高いため、可能な限り新しいバージョンへ移行し、ドメイン機能レベルを引き上げることで、セキュリティと管理性を向上させるのが望ましいです。

長期的に安定した運用を行うためには、ドメイン コントローラーのライフサイクル管理と定期的な検証が欠かせません。新DCを導入する際は、旧DCの完全な除去とDNSやFSMOロールの整合性に注目しながら、慎重にプロモーション作業を進めてください。これらのポイントを踏まえ、円滑な移行と運用管理を実現しましょう。

コメント

コメントする