今週は、話が前後することになってしまうが、Active Directoryデータベースのサイズ計算について取り上げよう。ハードディスクを潤沢に使える現在ではあまり問題にならないが、大規模なドメインを構成するときには影響が出る可能性もある。

今週は、話が前後することになってしまうが、Active Directoryデータベースのサイズ計算について取り上げよう。ハードディスクを潤沢に使える現在ではあまり問題にならないが、大規模なドメインを構成するときには影響が出る可能性もある。

Active Directoryデータベースとは

Active Directoryでは、ドメインコントローラのハードディスクにActive Directoryデータベースを配置しており、ここにActive Directoryが扱う情報を記録している。当然ながら、取り扱うオブジェクトの数が多くなると、その分だけActive Directoryデータベースのサイズも大きくなる。

データベース配置場所の既定値は「%SystemDrive%\WINDOWS\NTDS」、つまりWindowsサーバをセットアップするのと同じドライブだ(通常はC:ドライブだろう)。だから、このドライブに十分な空き容量を確保してあればよい、ということになる。問題は、何をもって「十分な」と判断するかだ。

Active Directoryデータベースは、仕様上は16TBのサイズ上限がある。とはいえ、実用上は無限大と考えてよいだろう。そうなると、Active Directoryデータベース自身のサイズ上限よりも、ディスク空き容量の限界が先に来るのは間違いない。そのため、空き容量が小さいドライブにActive Directoryデータベースを配置してしまうと、ディスク容量不足でデータベースへのデータ追加が不可能になり、Active Directoryの動作に支障をきたす可能性がある。

Active Directoryデータベースのサイズを概算する

そこで、ネットワークの規模やユーザー数を基にして、事前にActive Directoryデータベースのサイズについて概算しておくとよい。こうすることで、空き容量不足に起因するトラブルを回避しやすくなる。

ドメインコントローラを構成した時点で、Active Directoryデータベースのファイルは10MBを超えるサイズを持つ。そして、1ユーザーアカウントあたり約4KBの容量を必要とするため、たとえばユーザーが1,000人いれば、4KB×1,000=4MBという計算になる。これを当初のサイズに加算すればよい。

しかし、ユーザーアカウントだけでなく、グループ、OU、DNS関連の情報など、Active Directoryデータベースが扱う情報は案外と多いため、単純にユーザーの数だけで計算するのは具合が悪い。ユーザーが一人いればコンピュータも最低1台は存在するから、その分のコンピュータアカウントが必要になるし、DNSレコードも加わる。グループも作成するだろうし、OUも作成するだろう。こうして考えると、ユーザーの数そのままではなく、さらに何倍ものデータが発生すると考えた方がよい。

また、データベース一般にいえることだが、Active Directoryデータベースでも、削除したデータが占有していたスペースを直ちに開放する訳ではない。そのため、データの追加と削除を繰り返していると、予想外にデータベースのサイズが大きくなる可能性がある。