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

Directory first step 6... ディレクトリサービス製品
sankaku.gif レプリケーションと衝突回避

 複数のネットワーク管理者が別々のドメインコントローラに対してディレクトリ情報を更新すると,情報の衝突が発生するおそれがある。そのため,マルチマスタレプリケーションを採用しているディレクトリサービスには,何らかの衝突回避メカニズムが必要となる。

 NDSでは,ディレクトリ情報の一貫性を維持するために,タイムスタンプを使用する。同じプロパティが更新された場合には,タイムスタンプ値を比較し,最新の情報を採用する。そのため,時刻同期サーバーが必須となる。

 これに対してActive Directoryは,各オブジェクトと各プロパティごとに,一意なUSN(Update Sequence Number)を割り当て,衝突を検出している。また,同じオブジェクトの同じプロパティの情報を更新した場合には,タイムスタンプ値も使用され,最新の更新情報が優先される。タイムスタンプ値を利用する場合には,時刻同期サービスを利用して各ドメインコントローラ間の時刻を同期させておく必要がある。ただし,時刻同期パケットがWAN環境のトラフィックを増加させるおそれがあるため,Active Directoryでは時刻同期がオプションとなっている。

 なお,Netscape Directory Serverの場合は,マスタ/スレーブ方式のレプリケーションを採用しているので,このような衝突は発生しない。

sankaku.gif レプリケーションの同期制御

 ネットワークの規模が大きくなり,ドメインコントローラやレプリカの台数が増えてくると,ディレクトリ情報を同期させるためのネットワークトラフィックも増大し,無視できなくなる。

 NDSで更新されたディレクトリ情報は,10秒後にはほかのレプリカに送信される。もし,受信レプリカがダウンしていたり,通信障害でネットワークが切断されていたりしたときには,あらかじめ決められた同期スケジュール(デフォルトは60分間隔)でディレクトリ情報を同期させる。また,WAN環境など夜間にディレクトリ情報を同期させたいときには,WANトラフィックマネージャで同期スケジュールを設定することもできる。レプリケーションの下位通信プロトコルはTCP/IPまたはIPX/SPXであり,上位通信プロトコルはNCP(NetWare Core Protocol)である。

 Active Directoryでも,ディレクトリ情報の更新はデフォルトで5分後にほかのディレクトリに反映される。また,スケジュールを設定することも可能であるし,パスワードやアウトポリシーなど,緊急性の高い一部の情報は緊急レプリケーションによってリアルタイムに更新される。Active Directoryにおけるレプリケーションの下位通信プロトコルはTCP/IPであり,上位通信プロトコルは,LANではRPCを,WANではRPCまたはSMTPを,それぞれ選択できる。SMTPを使用した場合は,電子メールと同様に非同期でディレクトリ情報が同期される(信頼性は低下するが,ネットワーク的な負荷は小さくなる)。

prevpg.gif Directory first step(後編) 11/14 nextpg.gif