Optimize Active Directory Disk Performance
Active Directory is a database and has the performance issues of a database. Familiar with SQL or Exchange? You know what works and what does not. AD has the database component and log files which are sequential records to allow the database to be rolled back. Don't forget the operating system's requirements. When you use dcpromo to install Active Directory on a Windows 2000 server, the default location for the database and its logfiles is the %SYSTEMROOT%\NTDS folder. This works for smaller organizations. If your AD is large and very active, the default puts a large load on the system partition (hard disk) since the Active Directory components and the operating system's pagefile are all pounding on it. If you need to maximize performance and fault tolerance, Microsoft recommends:
- W2K OS: use two physical disks mirrored (get OS pagefile on separate drive)
- AD database store NTDS.dit : use RAID5 of appropriate size for your enterprise
- AD log files : use two physical disks mirrored
The ESE engine can use the transaction records in the log files to recreate the database. The transaction logs are also used by ESE to verify that a restored datastore is consistent with the tranaction records. The log files for AD can be either sequential or circular logs. Circular logs overwrite transactions at specific intervals wheras sequential logs never overwrite transactions. Depending on log size and activity, circular logs may or may not have enough data should the datastore need recovery. I hear you now, if the sequential logs are never overwritten, what keeps the logs from consuming all available DASD? The Active Directory's garbage collection process: log files whose transaction records have been committed to the datastore are deleted. The garbage collection process deletes obsolete log files every 12 hours by default.
The default is sequential logs. They are safer. I know circular log files are more predictable in maximum space consumed, but when the sh*t hits the fan, critical records may no longer be in the sequential log files. Hard drive space is cheap. Get a couple of large disks and mirror them and leave the logs files as the default sequential format.