Active Directoryのデータベースを強制的に複製する【Windows OS】Tech TIPS

Active Directoryデータベースでは、同時に複数の管理者が異なるDC上でオブジェクトを更新することができる。データベースの変更は、あらかじめ決められたスケジュールに基づいてほかのDCへ伝達されるので、全DCに反映されるまでにいくらか時間がかかる。複製を直ちに行うためには、[Active Directoryサイトとサービス]管理ツールかrepadminツールを使うとよい。

» 2003年04月12日 05時00分 公開
「Tech TIPS」のインデックス

連載目次

Active Directoryのデータベースを強制的に複製する

対象OS:Windows 2000 Server/Windows 2000 Advanced Server


Active Directoryデータベースの「複製」のしくみ

 Active Directoryでは、負荷分散や障害対策などのために、複数のドメインコントローラ(以下DCと表記)が同じActive Directoryデータベースのコピーを保持するように設計されている。

 ユーザーアカウントの追加などでデータベースの内容が更新される場合、同時にすべてのDC上のデータベースに対してオブジェクトの追加や更新が行われるわけではない。データベースが変更されても、最初は、ある1台のDC上で処理されるだけである。そしてあらかじめ決められた一定時間ごとに(設定にもよるがデフォルトでは15分。サイトをまたぐ場合はあらかじめ決められたスケジュールに従う)、ほかのDCと同期が取られ、変更があればその情報がほかのすべてのDCへ伝達されてデータベースが更新される。

 このような更新方法を「マルチマスタ複製」といい、常に全データベースを同時に更新する方法と比べると、DCの同期のために必要なトラフィックが少なくて済むなどのメリットがある。

複数のActive Directoryデータベースは常に同一とは限らない!?

 ただし同時に複数のデータベース上で変更を行うことが可能なため、場合によっては、あるDC上は存在するオブジェクトが、別のDC上では見つからないという事態も発生する可能性がある。例えば複数の管理者が同時にユーザーやグループの情報を(分担して)追加しようとした場合、利用しているDCが異なると(ネットワークのトラフィックの状況などによって、接続されるDCが異なる可能性がある)、追加したはずのユーザーがすぐには反映されないという可能性がある。

Active Directoryのデータベースを強制的に複製するには

 このような場合は、デフォルトのスケジュールに従うのではなく、強制的にすぐに複製をさせることができると便利である。

 それには、Active Directoryの管理ツールで複製を指示するか、コマンドプロンプト上で複製管理コマンドを実行する。

方法その1――Active Directoryサイトとサービス管理ツールで複製を行う

 [スタート]メニューから[プログラム]−[管理ツール]−[Active Directoryサイトとサービス]を起動し、[Sites]−[<サイト名>]−[Servers]−[<サーバ名>]の下にある[NTDS Settings]を選択する。そして右側のペインに表示されるサーバ名を右クリックし、ポップアップメニューから[今すぐ複製]を選択する。

[Active Directoryサイトとサービス]管理ツールによる複製 [Active Directoryサイトとサービス]管理ツールによる複製
ADデータベースの同期を取りたいドメインコントローラを選択して、[今すぐ複製]を実行すると、直ちにデータベースが複製される。
  (1)これを選択すると、右側のペインに複製の対象となっているドメインコントローラの一覧が表示される。
  (2)サーバ名を選択して右クリックし、ポップアップメニューから[今すぐ複製]を選択すると複製処理が実行される。

方法その2――repadminツールで複製を行う

 Windows 2000のインストールCD-ROMには「\SUPPORT\TOOLS」というフォルダがあり、この中にサポートツールと呼ばれる各種の管理ツールや補助的なドキュメントなどが用意されている。これをインストールすると(インストール方法などについては同フォルダにある「SREADME.DOC」を参照のこと)、「repadmin.exe」というコマンドが利用できるようになる。

 repadmin.exeはADの複製を管理するためのツールである。コマンドプロンプト上で「/syncall」というオプションを付けて実行することにより、強制的に同期処理を行わせることができる。使い方は以下の通りである。

repadmin /syncall <あて先DSA><名前付けコンテキスト>] [<オプション>

※DSA=Directory System Agent。(複製先の)ドメインコントローラの名前のこと



 具体的には、次のように、引数としてサーバ名を指定すればよい。

C:\>repadmin /syncall server05
CALLBACK MESSAGE: The following replication is in progress:
    From: d4577716-4f3a-4f06-a360-8a32271b88bf._msdcs.d-advantage.com
    To  : 827d3612-2926-47e9-80c5-23123079babc._msdcs.d-advantage.com
CALLBACK MESSAGE: The following replication completed successfully:
    From: d4577716-4f3a-4f06-a360-8a32271b88bf._msdcs.d-advantage.com
    To  : 827d3612-2926-47e9-80c5-23123079babc._msdcs.d-advantage.com
CALLBACK MESSAGE: SyncAll Finished.

SyncAll terminated with no errors.



 複製が正常に終了すると「SyncAll terminated with no errors.」というメッセージが表示される。そうでなければエラーメッセージが表示される(例:「アクセスが拒否されました」など)。

複製モニタで複製を監視する

 データベースの複製の状況をチェックするにはいくつか方法がある。ここではサポートツールに含まれている「Active Directory Replication Monitor(replmon.exe)」を利用する方法を紹介しておこう。

 このツールは、DC間における、Active Directoryデータベースの複製状況をモニタするツールである。[プログラム]−[Support Tools]メニューから[Active Directory Replication Monitor]を起動し、[Edit]メニューから[Add Server to Monitor]ウィザードを起動して、監視する対象のDCを選択する。するとそのDCの複製トラフィックや複製の状態などをモニタすることができる。

複製モニタreplmon.exe 複製モニタ「replmon.exe」
サポートツールに含まれている「Active Directory Replication Monitor」ツール。指定したDCの状態や複製処理を監視・報告するツール。モニタするだけでなく、DCの状態を調べたり、強制的に複製を行わせることもできる。
  (1)監視対象のDC。
  (2)モニタされたDCの複製処理。複製のエラーが発生したような場合に、その原因を調査するために利用できる。このウィンドウの内容は自動的にログファイルにも記録され、後で参照することもできる。

 また必要ならば直ちに複製を行わせることもできる。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。