Файлы поддержки Active Directory

Механизм ESE, который используется в Active Directory, основан на технологии баз данных Microsoft Jet. Jet использует файловую структуру в виде b-дерева с журналом транзакций, который обеспечивает восстановление в случае отказа системы или диска. После повышения сервера до контроллера домена необходимо указать место хранения файлов Active Directory. По умолчанию файлы хранятся в загрузочном разделе в каталоге \windows\NTOS. Обычно для повышения производительности эти файлы следует размещать 

на отдельном диске. 

 

В следующем списке перечислены файлы поддержки Active Directory и описаны их функции. 

- Файл ntds. dit. Это основная база данных Active Directory. NTDS расшифровывается как NT Directory Services. DIT расшифровывается как Directory Information Tree (информационное дерево каталога). В файле ntds .dit на конкретном контроллере домена содержатся все контексты именования, которые хранятся на этом контроллере домена, включая контексты именования Configuration и Schema. Глобальный каталог содержит частичные копии контекстов именования в файле ntds. dit рядом с полной копией контекста именования Domain для этого домена. 

 

- Файл edb.log. Это журнал транзакций. Любые изменения объектов Active Directory сначала сохраняются в журнале транзакций. Во время снижения нагрузки на центральный процессор база данных применяет транзакции к основному файлу ntds.dit. Это обеспечивает возможность восстановления базы данных в случае сбоя системы. Записи, которые не были внесены в файлы ntds .dit, хранятся в памяти для повышения производительности. Размер используемых механизмом ESE файлов транзакций никогда не превышает 10 Мбайт. 

 

- Файлы edbxxxxx.log. Это вспомогательные журналы транзакций, которые используются для хранения изменений, если файл edb. log будет переполнен до внесения  изменений в файл ntds.dit. Вместо ххххх используется последовательный шестнадцатеричный номер. После заполнения файла edb.log открывается файл edbtemp.log. Оригинальный файл edb.log переименовывается в edb00001.log, а файл edbtemp.log переименовывается в edb.log. Утилита esent использует циклический журнал транзакций. Лишние файлы журнала удаляются после внесения изменений в базу данных. Если на контроллере домена в очереди стоит много операций по обновлению базы данных, то одновременно может существовать несколько файлов edbxxxxx.log. 

 
- Файл edb.chk. Это файл контрольной точки (checkpoint file). Файл используется системой протоколирования транзакций для отметки времени внесения обновлений из файлов журналов в базу данных ntds.dit. После внесения транзакций в базу данных контрольная точка смещается в файле edb. chk вперед. Если произойдет аварийное завершение работы системы, контрольная точка покажет, на каком этапе закончилось внесение транзакций. 
 
- Файлы resl.log и res2.log. Это резервные файлы журнала. Если дисковое пространство закачивается при попытке создания файла edbxxxxx.log, то используется дисковое пространство, выделенное ранее для хранения файлов res. При этом на экран выдается предупреждение о необходимости освободить дисковое пространство до повреждения базы данных Active Directory. Никогда нельзя допускать переполнения тома с базой данных Active Directory. Фрагментация файлов значительно снижает производительность. При сокращении дискового пространства резко увеличивается доля фрагментированных файлов. Кроме этого, при отсутствии свободного дискового пространства могут возникнуть проблемы в процессе дефрагментации (сжатия) базы данных. Невозможность обновления индексов может привести к неработоспособности Active Directory. 
 
- Файл temp.edb. Это временный файл, в котором хранится информация о текущих транзакциях, а также страницы, извлеченные из базы данных ntds.dit во время сжатия. 
 
- Файл schema.ini. Этот файл используется для инициализации файла ntds.dit во время повышения сервера до контроллера домена. После повышения этот файл не используется.