AD на страницах 32 КБ: какие бэкапы перестанут работать
АйТи Фреш
Windows и Active Directory

Обновили все контроллеры до 2025 — а база всё равно 8 КБ: что будет с бэкапами AD

Автор: , директор ООО «АйТи-Фреш» · · ~16 мин чтения
Два контроллера AD с разными базами и закрывающаяся односторонняя дверь над стопкой старых бэкапов 8 КБ
Обновить ОС легко, а вот необратимый переход базы оставит старые копии за дверью.

Обновление всех контроллеров до Windows Server 2025 не переводит базу AD на страницы 32 КБ: контроллер после обновления на месте сохраняет формат 8 КБ. А если функцию 32 КБ включить, обратного пути нет, и копии 8 КБ годятся только для полного авторитетного восстановления леса. Ниже — что проверить, какие копии умрут и в каком порядке действовать.

Почему обновление всех контроллеров не делает AD «32-килобайтной»

Самая частая ошибка, которую я вижу в аудитах Active Directory, звучит так: «Мы поставили Server 2025 на все контроллеры, значит, у нас новая база». Нет. По документации Microsoft, контроллер, прошедший обновление компонентов (in-place upgrade), продолжает работать с прежним форматом базы и страниц 8 КБ. Страницы 32 КБ получают только новые установки: новый лес, новый домен, новый контроллер, повышенный по сети как реплика. Версия ОС на экране ничего не говорит о формате файла ntds.dit. Можно иметь два контроллера с одинаковой сборкой Server 2025 и совершенно разными базами внутри.

Есть и второй слой, который путают ещё чаще. Даже база, способная работать со страницами 32 КБ, после установки работает в режиме эмуляции 8 КБ — ради совместимости с контроллерами старых версий. Сам переход на 32 КБ — это отдельная операция уровня всего леса, которую выполняют вручную одной командой. Пока вы её не запустили, формат бэкапов остаётся привычным. Как только запустили — правила игры меняются необратимо. Поэтому вопрос в заголовке на самом деле про два разных события: «что у меня сейчас» и «что станет после включения». Смешивать их нельзя, а на практике смешивают постоянно.

Отсюда и первый вывод: обновить все контроллеры недостаточно, чтобы включить функцию, и одновременно слишком опасно, чтобы включать её просто потому, что «все уже на 2025». Я бы сказал жёстче: обновление ОС — это не миграция базы, это замена обоев в той же квартире. Перегородки остались на месте. Подробнее про сам формат и про то, кому 32 КБ вообще нужны, я писал в статье про страницы 32 КБ в Server 2025. Здесь же мы идём с обратной стороны — от резервных копий.

Версия ОС контроллера не равна формату его базы. Единственный честный ответ даёт атрибут msDS-JetDBPageSize у объекта NTDS Settings каждого контроллера.

Как проверить формат базы на каждом контроллере

Формат смотрим не на сервере, а в конфигурационном разделе каталога. Microsoft описывает атрибут msDS-JetDBPageSize объекта NTDS Settings: значение 32768 означает контроллер с базой, способной работать со страницами 32 КБ; значение 8192 — база с 8 КБ; если значения нет, контроллер работает на Windows Server 2022 или старше. Запрос делается с любой машины с RSAT и занимает десять секунд. Я выполняю его первым при любом аудите леса, потому что он отсекает половину фантазий.

$cfg = (Get-ADRootDSE).configurationNamingContext
Get-ADObject -LDAPFilter "(objectClass=nTDSDSA)" -SearchBase $cfg -Properties msDS-JetDBPageSize |
  Select-Object DistinguishedName, 'msDS-JetDBPageSize'

Вместо расшифровки DN в таблице вы получите список контроллеров, и сразу видно, где живёт старая база. Рядом смотрю функциональные уровни и состояние самой функции. Уровни домена и леса для включения должны быть Windows Server 2025 или выше. Состояние функции читается через Get-ADOptionalFeature; имя функции в документации — «Database 32k pages feature». Параметр EnabledScopes в выводе покажет, включена ли она хоть где-то. Если в вашей версии модуля свойство называется иначе, посмотрите список через -Properties * и не гадайте.

Get-ADForest | Select-Object Name, ForestMode
Get-ADDomain | Select-Object DNSRoot, DomainMode
Get-ADOptionalFeature -Filter * -Properties EnabledScopes |
  Select-Object Name, EnabledScopes

Отдельно предупрежу про вывод, который вводит в заблуждение. Значение 32768 у контроллера не означает, что функция включена: это лишь способность. Включённость — это запись в EnabledScopes. Я встречал администраторов, которые видели 32768 на всех контроллерах и решали, что «мы уже на 32 КБ, бэкапы можно не трогать». Нет, вы пока в эмуляции, и это как раз хорошее состояние: у вас есть запас манёвра.

Обновили все контроллеры до 2025 — а база всё равно 8 КБ: что будет с бэкапами AD — схема
Схема к статье. Открыть схему в полном размере

Что должно совпасть, прежде чем функцию вообще можно включить

Требования Microsoft перечислены прямо в руководстве по включению функции, и они все обязательные. Домен рабочий и без ошибок репликации. Все контроллеры леса работают на Windows Server 2025 или новее и имеют базу, способную работать с 32 КБ. Функциональные уровни домена и леса подняты до Windows Server 2025. Известны все контроллеры с ролью глобального каталога и FSMO, а резервные копии этих контроллеров созданы и проверены. И наконец, программа резервного копирования проверена на совместимость с форматом: в тестовой среде надо снять копию контроллера с базой 32 КБ и восстановить её. Учётная запись должна входить в группу Enterprise Admins или иметь эквивалентные права.

Теперь о том, что это значит для малого офиса. Один старый контроллер с базой 8 КБ, оставшийся после обновления «на месте», блокирует всё. Его нельзя просто «переключить». Он должен быть заменён: новый контроллер повышается по сети как реплика, ролевые функции переезжают, старый понижается и выводится. Это стандартная ротация, и она хорошо описана в статье про миграцию на новые контроллеры домена. Ничего экзотического, но вечер на это уйдёт, и лучше не делать это в пятницу.

Репликацию перед любыми действиями я проверяю одним и тем же набором: repadmin /replsummary для общей картины и dcdiag для здоровья служб. Команда включения функции сама проверяет, что все контроллеры способны работать с 32 КБ, и откажет, если нет, но полагаться на отказ как на страховку — слабая практика. Лучше узнать о проблеме до того, как вы стоите перед запросом подтверждения. И да, команда поддерживает -WhatIf: репетируйте с ним сколько угодно.

Цифры и версии: Что должно совпасть, прежде чем функцию вообще можно включить — схема
Цифры и версии: Что должно совпасть, прежде чем функцию вообще можно включить. Открыть схему в полном размере

Какие бэкапы перестанут подходить после включения 32 КБ

Вот здесь начинается самое неприятное. По документации Microsoft, при создании резервной копии размер страницы базы сохраняется на носителе. До Windows Server 2025 все копии были в формате 8 КБ, другого просто не существовало. Сервер 2025 может иметь либо базу 8 КБ (например, после обновления на месте), либо базу 32 КБ в режиме эмуляции 8 КБ (новый контроллер в лесу 2025, реплика, повышенная по сети, или контроллер, восстановленный из копии формата 32 КБ). Пока функция не включена, контроллер 2025 можно восстановить из копии любого из двух форматов.

После включения всё меняется: восстанавливать контроллер Windows Server 2025 можно только из копий формата 32 КБ. Все копии 8 КБ, сделанные до включения, становятся непригодными, кроме одного сценария — полного авторитетного восстановления леса. Вернуться к режиму эмуляции 8 КБ нельзя, это прямо написано в предупреждении. Иными словами, ваш архив за последние месяцы, на который вы смотрите с чувством глубокого удовлетворения, в один момент превращается в стопку красивых, но бесполезных файлов. Бэкап есть — просто он в формате, которого лес больше не понимает.

Что при этом остаётся пригодным: копии формата 32 КБ, снятые до включения (ради этого и нужны контроллеры с 32768 в атрибуте), и всё, что вы сняли уже после включения. Что не подходит для обычного восстановления контроллера: любой образ или копия состояния системы со старого контроллера с базой 8 КБ. Это и копии состояния системы, и образы виртуальных машин с таким контроллером, и «золотые» образы шаблонов. Таблица ниже — мой рабочий чек-лист по типам носителей.

Тип копииДо включения функцииПосле включения функции
Состояние системы, база 8 КБВосстановление контроллера возможноНепригодна, кроме полного авторитетного восстановления леса
Состояние системы, база 32 КБ (эмуляция 8 КБ)Восстановление возможноПригодна
Образ ВМ с контроллером 8 КБВосстановление возможноНепригоден (формат базы внутри тот же)
Копия, снятая после включенияНет такойПригодна
Копия на контроллере 2022 и старшеФормат 8 КБНепригодна для контроллера 2025

Последнюю строку таблицы не пропускайте. Контроллер на Server 2022 к моменту включения в лесу быть не может — требование «все контроллеры на 2025» это исключает. Но копии, снятые с него полгода назад и лежащие в облаке, никуда не деваются, и именно их люди потом пытаются использовать при аварии. Срок хранения в политике бэкапа и срок необратимой функции — вещи, которые нужно сопоставлять на бумаге заранее. Это тот же класс ошибок, что и в статье про облачный бэкап и NAS в офисе: копия существует, но вы не знаете, что с ней можно сделать.

Бэкапы формата 8 КБ после необратимого включения функции годятся только для полного авторитетного восстановления леса. Это не «на всякий случай», это единственный остающийся путь.

Как убедиться, что ваша программа бэкапа переживёт 32 КБ

Если вам нужна помощь с этим проверочным циклом — снять копию, развернуть стенд, восстановить и записать результат, — мы делаем это в рамках обслуживания серверов и инфраструктуры за один-два вечера. А теперь по делу: Microsoft прямо требует проверить совместимость программы резервного копирования, сняв копию контроллера с базой 32 КБ и восстановив её в тестовой среде. Это не формальность. Сторонний софт восстанавливает AD по-разному: одни продукты используют штатный механизм Windows, другие — собственные агенты и отдельные средства восстановления объектов, и вторым нужна отдельная проверка именно на формате 32 КБ.

В качестве базовой копии, на которую можно положиться, я использую штатное средство. Копия состояния системы контроллера делается так: wbadmin start systemstatebackup с указанием тома через -backupTarget; запускать надо в командной строке с повышенными правами, учётная запись должна быть в группе Backup Operators или Administrators. Документация отдельно уточняет, что кусты реестра пользователей (HKCU) в состояние системы не входят. Список копий смотрите через wbadmin get versions. Расписание, хранение копий на сетевой папке и ротацию wbadmin тоже умеет, но это отдельный разговор. Важно другое: копию состояния системы снимайте с каждого контроллера, а не только с того, который «главный», иначе формат в архиве будет ровно тот, который вам не нужен.

wbadmin start systemstatebackup -backupTarget:F: -quiet
wbadmin get versions

Со сторонними продуктами будьте осторожны с утверждениями «поддерживаем 2025». Например, в документации Veeam Explorer для Active Directory сказано, что восстановление поддерживается для контроллеров на Windows Server 2025, 2022, 2019, 2016 и 2012 R2, а минимальный функциональный уровень — 2012 R2. Но явного заявления о поддержке именно баз 32 КБ я там не нашёл. Зато в той же документации прямо написано: файлы базы контроллера открываются для восстановления объектов, только если Veeam Explorer работает на Windows той же или более новой версии, чем ОС контроллера, а esent.dll на этой машине должна совпадать по версии с той, что создала базу. Поэтому правило простое: поддержка ОС не равна поддержке формата базы, и у производителя вашего продукта нужно спрашивать про 32 КБ отдельно, а после ответа всё равно проверять тестовым восстановлением.

Тест должен быть настоящим, а не «открыл консоль и увидел задание». Минимум: изолированная сеть или отдельный виртуальный коммутатор, восстановление копии контроллера на чистую ВМ, загрузка в режиме восстановления служб каталога, проверка, что каталог поднимается и объекты на месте. Звучит скучно, но тестовое восстановление — это единственная проверка, которая отличает бэкап от надежды. Мы подробно разбирали такой процесс в материале про тест восстановления бэкапа.

Цифры и версии: Как убедиться, что ваша программа бэкапа переживёт 32 КБ — схема
Цифры и версии: Как убедиться, что ваша программа бэкапа переживёт 32 КБ. Открыть схему в полном размере

Разбор: школа единоборств «Стальной кулак», 22 рабочих места

Условный клиент: школа единоборств «Стальной кулак», 22 рабочих места, два контроллера домена в одном лесу, один домен. DC1 — виртуальная машина, которую весной 2025 года обновили на месте с Server 2019 до Server 2025: «вроде бы уже новый». DC2 — свежий контроллер на Server 2025, повышенный по сети как реплика. Копии: каждую ночь состояние системы DC1 уходит на NAS, раз в неделю копия переезжает в облако. Заказчик пришёл с вопросом: «Нам советуют включить 32 КБ, мы уже на 2025, чего ждать?». Ждать пришлось ровно один запрос в конфигурационный раздел.

Запрос показал: у DC2 атрибут msDS-JetDBPageSize равен 32768, у DC1 — 8192. То есть формально «весь лес на 2025», а по факту один контроллер из двух с базой старого формата. Функциональные уровни домена и леса были на 2016, функция 32 КБ не включена. Первая находка по бэкапам — вывод, а не драма: все накопленные копии DC1 были 8 КБ, копии DC2 вообще никто не снимал, потому что «он же реплика, зачем». После включения функции в таком составе нужны были бы именно копии 32 КБ, а их в архиве не было ни одной.

Решение мы приняли такое: функцию 32 КБ не включать. Причина простая — у школы два десятка учётных записей и обычные группы, до предела многозначных атрибутов ей далеко, а выигрыш от функции в этом масштабе нулевой, тогда как риск потерять восстановимость архива реальный. Вместо этого за два вечера, примерно шесть часов работы, мы заменили DC1 новым контроллером на Server 2025 с повышением по сети, передали роли, понизили старый и вывели его. Затем настроили ночное состояние системы с обоих контроллеров и один раз восстановили копию на изолированной ВМ.

Итог для клиента: оба контроллера теперь с базой, способной работать с 32 КБ, функциональные уровни подняты до 2025, функция сознательно выключена, а бэкап проверен восстановлением. Если когда-нибудь выгода появится — переключение станет одной командой с понятными последствиями, и копии 32 КБ к тому моменту уже будут лежать в архиве. Я называю это «купить опцион на будущее»: стоит один вечер, ничего не ломает, и никто не обязан включать необратимую функцию ради красивой галочки в отчёте.

Порядок действий: что делать сейчас, а что отложить

Начинать нужно с инвентаризации, а не с включения. Шаг первый: запросом по msDS-JetDBPageSize выяснить, какие контроллеры с базой 8 КБ. Шаг второй: для каждого такого контроллера запланировать замену новым, повышенным по сети. Шаг третий: снять копии состояния системы с новых контроллеров и записать, какого они формата. Шаг четвёртый: восстановить копию в изоляции. Шаг пятый: поднять функциональные уровни до 2025, когда все контроллеры готовы. Шаг шестой, и только он: решить, нужна ли вам функция 32 КБ, и если да — включить, сначала с -WhatIf.

$params = @{
    Identity = 'Database 32k pages feature'
    Scope    = 'ForestOrConfigurationSet'
    Server   = 'DC01.example.com'
    Target   = 'example.com'
}
Enable-ADOptionalFeature @params -WhatIf

Команда взята из руководства Microsoft; Server и Target подставьте свои, DC01.example.com и example.com здесь — условные. Без -WhatIf она запросит подтверждение, и после него пути назад нет. Microsoft советует после включения следить за трафиком репликации, а ещё напоминает, что страницы 32 КБ могут повышать расход памяти сервера. Для контроллеров малого офиса с 8–16 ГБ оперативной памяти это значит: смотрите на память до и после, а не после и никогда.

Что можно отложить без вины: включение самой функции, если у вас нет явной упирающейся задачи. Что откладывать нельзя: инвентаризацию, ротацию контроллеров с базой 8 КБ и тест восстановления. И ещё одно практическое правило: любое необратимое действие в каталоге репетируйте на копии. Для этого пригодится отдельная тестовая среда: изолированный виртуальный коммутатор и пара ВМ, которые не видят боевую сеть. Сначала стенд, потом боевой лес. А если вопрос шире и касается страховки на случай аварии, помните простую вещь: страховщик спросит, умеете ли вы восстанавливаться, а не есть ли у вас копии.

Цифры и версии: Порядок действий: что делать сейчас, а что отложить — схема
Цифры и версии: Порядок действий: что делать сейчас, а что отложить. Открыть схему в полном размере

Частые вопросы

Переводит ли обновление контроллера до Server 2025 базу AD на страницы 32 КБ?

Нет. Контроллер после обновления на месте продолжает работать с прежним форматом 8 КБ. Страницы 32 КБ получают новые установки: новый лес, домен или контроллер, повышенный по сети.

Как узнать, какой формат базы у моего контроллера?

Прочитайте атрибут msDS-JetDBPageSize у объекта NTDS Settings: 32768 означает базу, способную работать с 32 КБ, 8192 — базу 8 КБ, пустое значение — контроллер на Windows Server 2022 или старше.

Можно ли откатить функцию 32 КБ после включения?

Нельзя. По документации Microsoft, вернуться к режиму эмуляции 8 КБ невозможно, поэтому перед включением нужны проверенные копии и тестовое восстановление.

Какие бэкапы перестанут работать после включения?

Копии формата 8 КБ, созданные до включения, будут непригодны для восстановления контроллера Server 2025, кроме полного авторитетного восстановления леса. Копии формата 32 КБ остаются пригодными.

Нужно ли малому офису включать 32 КБ?

Как правило, нет. Выигрыш относится к масштабируемости, например к многозначным атрибутам, а риск для архива копий реален. Достаточно заменить контроллеры с базой 8 КБ и проверить восстановление.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

Источники

© ООО «АйТи-Фреш» · Москва · Все статьи