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

  COLUMN    Active Directoryのデータベースとトランザクションログ

 Active Directoryのデータベースの実体は,ESE(Extensible Storage Engine)形式のデータベースファイル(NTDS.DIT)である。このファイルは,Active Directoryのインストールウィザード(DCPROMO.EXE)を使ってActive Directoryをインストールしたときに,NTFSでフォーマットしたファイルシステム上に作成される(このテンプレートとなるNTDS.DITファイルが%windir%\system32フォルダに格納されている)。NTDS.DITファイルには,さまざまなオブジェクト(ユーザー,グループ,コンピュータ,OUなど)の情報を格納している。したがって,ドメインコントローラとは,NTDS.DITファイルを管理し,ユーザーやアプリケーション,さらにはほかのドメインコントローラなどが発するNTDS.DITファイルへの要求に応えるサーバーと考えることもできる。

 作成されたNTDS.DITファイルのなかに格納される情報は,次の3つのネーミングコンテキストに分類できる。ネーミングコンテキストとは,NTDS.DITファイルに格納されているデータの集まりのことであり,複製の境界である。

ドメインネーミングコンテキスト
 ドメインに固有のオブジェクト(ユーザーやコンピュータ,OUなど)と,それに付随するプロパティの設定値。各ドメイン内で共有される。
 
構成ネーミングコンテキスト
 ドメインツリーとフォレストのリスト,サイトのリスト,ドメインコントローラとグローバルカタログの位置など,フォレスト全体の構成を示す情報。フォレスト全体で共有される。
 
スキーマネーミングコンテキスト
 ディレクトリに格納するオブジェクトの構造(スキーマ)。フォレスト全体で共有される。

 NTDS.DITファイルに格納されたネーミングコンテキストは,各ドメインで共有されるデータ(ドメインワイドなデータ)と,フォレスト全体で共有されるデータ(フォレストワイドなデータ)の2種類に大別できる。前者はドメインネーミングコンテキストであり,ドメイン内のドメインコントローラにだけ複製される。後者は構成ネーミングコンテキストとスキーマネーミングコンテキストであり,フォレスト内のすべてのドメインコントローラに複製される。

 グローバルカタログを兼任しているドメインコントローラのNTDS.DITファイルには,グローバルカタログの情報も格納される。具体的には,フォレスト内に存在する全オブジェクトのリストと,それに付随する代表的なプロパティの設定値が格納される。この情報も,フォレスト内で共有されるデータとなる。

 なお,インターサイト(サイト間)でSMTPコネクタを使ってディレクトリ情報を複製する場合,ドメインネーミングコンテキストは複製の対象外となる。つまり,SMTPコネクタを利用するときには,構成ネーミングコンテキスト,スキーマネーミングコンテキスト,グローバルカタログしか複製されない。

 なお,Active Directoryを運用しているうちにNTDS.DITファイルのサイズが拡大し,ディスク容量が不足してくることがある。このような場合には,まずオフライン最適化を試し,それでもディスク容量が不足するのであれば,新しいディスクを増設したあと,NTDSUTILコマンドを利用してNTDS.DITファイルの場所を変更する。オフライン最適化とNTDSUTILコマンドについては,2000年1月の特集記事『検証値に基づくActive Directoryドメインの設計』の「ディレクトリ容量の見積もり」を参照していただきたい。

 Active Directoryにおけるトランザクションログ(Ed.log)は,SQL Serverなどのリレーショナルデータベースにおけるトランザクションログと同じようなものであり,ディレクトリサービスへの操作記録をすべてトランザクショナルな形式で保存している。ログの保存方法には,循環ログと非循環ログの2種類があり,レジストリの設定で変更できるようになっている。前者は一定サイズの範囲内でトランザクションログを更新してゆく方法,後者は延々とトランザクションログを追加してゆく方法である。デフォルトは非循環ログであるため,バックアップしない限り,ログファイルのサイズは増大してゆくことになる。そのため,実際の運用では,計画的にログファイルをバックアップすることが必要となる。循環ログを非循環ログに切り替えるには,HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\NTDS\ParametersにあるCircularLoggingを0から1へと変更する。

prevpg.gif Deployment AD-2 5/6 nextpg.gif