Как правильно сжать базу данных Active Directory

Обновлено 19.07.2019

Как правильно сжать базу данных Active DirectoryВсех приветствую, вновь на страницах своего блога. Как известно, база Active Directory хранится в файле NTDS.DIT, размер которого может отличаться на разных контроллерах домена. Причина в том, что Active Directory- это служба каталога с мульти-мастерной независимой моделью, где изменение может произойти на любом контроллере домена, и со временем эти изменения должны реплицироваться на остальные контроллеры домена. И т.к. изменения реплицируются между контроллерами домена, а не между базами данных, это означает, что размер файлов базы данных Active Directory на различных контроллерах может отличаться.

В Windows 2000 и Windows Server 2003 служба Directory Services (DS) выполняют online-дефрагментацию каждые 12 часов в рамках процесса сбора мусора в базе (garbage-collection) Этот вид дефрагментации лишь перемещает данные внутри файла базы данных (NTDS.DIT) и не уменьшает размер файла, это означало, что при запущенной службе Active Directory файл базы данных сжать нельзя.

Если же произвести офлайн дефрагментацию файла NTDS.DIT на контроллере домена при остановленной службе Active Directory, то размер файла NTDS.DIT может быть существенно уменьшен. Сам файл лежит по пути C:\Windows\NTDS, в моем примере он весит 122 мегабайта.

база ntds.dit

Размер данного файла прямиком зависит от количества групповых политик у вас к лесу и естественно, от количества групп и пользователей присутствующих в Active Directory. Однако стоит отметить – что дефрагментация файла NTDS.DIT – это абсолютно не обязательная процедура, т.к. в процессе работы механизмы Windows автоматически обеспечивают целостность и производительность базы AD, вычищая из нее удаленные объекты с истекшим сроком захоронения (tombstone lifetime). Офлайн дефрагментация файла NTDS.DIT, скорее всего не даст прироста в скорости выполнения запросов AD, единственная цель офлайн дефрагментации базы AD – возможность сэкономить место на диске. Итак, чтобы сжать базу Active Directory необходимо остановить службу Active Directory Domain services. В Windows 2008 и выше достаточно просто остановить службу ADDS (net stop ntds), в Windows 2003 придется перезагрузить контроллер домена, и при загрузке загрузиться в режиме восстановления каталога (Directory Services Restore Mode), нажав F8 и выбрав DSRM.

Как правильно сжать базу данных Active Directory-01

Запускаем cmd и пишем net stop ntds, для того чтобы остановить службы AD.
Как правильно сжать базу данных Active Directory-02

Жмем Y, чтобы подтвердить выключение.
Как правильно сжать базу данных Active Directory-03

Видим, что все остановилось ок. В командной строке наберите: ntdsutil жмем Enter

Как правильно сжать базу данных Active Directory-04

  • Затем Activate Instance NTDS жмем Enter
  • Files жмем Enter
  • Затем выполните команду compact to c:\tntds
    В результате запустится сжатие файла базы AD, а на экран будет выведен индикатор выполнения процесса. После окончания процесса сжатия появится инструкция, с действиями которые необходимо выполнить далее (инструкции зависят от вашей конфигурации и местоположения файла NTDS.DIT)

Как правильно сжать базу данных Active Directory-05

Теперь выходим из ntdsutil-quit и еще раз quit. Скопируйте сжатый файл NTDS.DIT в каталог с оригинальным файлом NTDS.DIT, например: copy “c:\tntds\ntds.dit” “С:\ Windows\NTDS\ntds.dit”. Удалите старые логи из каталога NTDS.DIT: del /q c:\windows\NTDS\*.log.  Запустите службу ADDS (Windows Server 2008R2) или перезагрузите контроллер домена (Windows 2003/2000) для нормального запуска контроллера домена.

Примечание: Процесс сжатия базы данных Active Directory достаточно прост. Но учтите, что эту операцию необходимо выполнить на всех контроллерах домена, на которых вы хотите уменьшить размер базы данных Active Directory, т.к. физически база данных AD сама по себе не реплицируется на все контроллеры домена. Хочу кстати напомнить, что именно содержится в файле NTDS.dit, чтобы вы понимали, что именно сжимается в базе данных AD:

    • Схему AD
    • Раздел Configuration
    • Domain
    • DNS
    • PAS

Как правильно сжать базу данных Active Directory-6

Как видите, сама процедура сжатия базы данных Active Directory очень простая, от администратора потребуется выполнить пару команд в оболочке cmd. Я если честно на практике не встречал людей, кто бы это делал, да и масштабы базы данных просто не такие, вот если бы она весила пару гигабайт, то сжатие NTDS.dit, было бы очень оправдано, но такие размеры, только в очень крупных компаниях. Материал сайта Pyatilistnik.org

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *