この特集のトップページへ

head1.gif 2.5 複製(レプリケーション)

 NTドメインでは,1つのドメインの情報はPDCからBDCへとシングルマスタレプリケーションされる。Active Directoryでも当然ながらドメイン情報を複製するメカニズムが用意されているが,これもまたNTドメインとは大きく異なる。

head2.gif 2.5.1 マルチマスタレプリケーションの概要
 最も大きな相違点は,Active Directoryはマルチマスタレプリケーションを採用しているという点である。つまり,Active DirectoryにはPDCとBDCのような区別はなく,ドメインコントローラは基本的にすべて対等であり,どのドメインコントローラに対しても情報を更新することができる。更新された情報は,ほかのすべてのドメインコントローラに伝達される。このため,1つのドメインコントローラが停止したとしても,ほかのドメインコントローラが存在していれば,ドメインの機能はまったく損なわれない。

 マルチマスタレプリケーションで問題になるのは,矛盾の解決である。どのドメインコントローラに対してでもデータの変更が可能であるということは,同じ情報に対する別の変更が同時に行われる可能性がある,ということである。たとえば,たまたま二人の管理者がそれぞれ異なるドメインコントローラに接続しており,一人がユーザーAの名前をBに変更したとする。その変更が伝達されるまえに,別のドメインコントローラに接続している管理者が,ユーザーAの名前をCに変えたとすると,2つの複製で矛盾が生じる。

 Active Directoryでは,オブジェクトのバージョン番号とタイムスタンプによって矛盾を解決する。データが変更されるとバージョン番号が更新され,別々のドメインコントローラで変更があった場合には,バージョン番号の新しいものが有効になる。バージョン番号が同じ場合には,変更された時点のタイムスタンプが新しいものが有効となる。

 また,マルチマスタレプリケーションの場合には,ドメインコントローラの数が多くなると,1つのドメインコントローラに対して同じ複製情報が何ヶ所からも送られてきてしまう,というような非効率が発生するおそれがある。Active Directoryでは,最も効率よく複製を実現するため,KCC(Knowledge Consistency Checker)というサービスを利用する。KCCは,ドメインコントローラ同士の複製パスを自動的に形成または削除し,常に効率的な複製を実現する。

 また,ドメインコントローラのデータが変更されると,USN(Update Sequence Number)と呼ばれる数値が更新される。この数値を複製パートナーと比較することによって,そのデータをすでに受け取っているかどうかを判断し,不必要なデータの送信を防いでいる。

prevpg.gif Chapter 2 15/19 nextpg.gif