Переезд на новый домен Active Directory

Чаще всего переезд на новый домен Active Directory может потребоваться в случаях, когда на старом домене были допущены критические ошибки на этапе планирования или домен имеет фатальные повреждения.

Во втором случае все относительно понятно, а вот границы наступления первого для многих очень размыты. Это может быть например миграция с одноуровневого домена (single-label domain) или что-то другое. Ниже в статье постараюсь пролить свет на эти окутанные туманом рассуждения.


Если вам интересна тематика Windows Server, рекомендую обратиться к тегу  Windows Server  на моем блоге.


Переезд на новый домен Active Directory

Эта статья представляет собой описание моего исключительно субъективного опыта и взгляда на ситуацию. Буду рад увидеть в комментариях ваши мнения и примеры из личного опыта.

Объективные причины

В каждом случае потребность переезда нужно решать индивидуально, основываясь на многих факторах, но что можно сказать относительно точно:  необходимость переезда в связи с архитектурными особенностями вашего домена сильно преувеличена. Даже в случае с SLD сильно перегибают палку – такой домен поддерживается во многих продуктах последних версий (например Exchange 2016 поддерживает).

На мой взгляд обязательно нужно переезжать с доменов а-ля microsoft.com, то есть если вы умудрились взять для AD имя реально существующего домена, ещё и очень популярного. Во всех остальных случаях оставайтесь спокойно на существующих доменах.

А может оставить все как есть?

Действительно, а почему бы и нет? Но даже если у вас все в состоянии “работает – не трогай”, то все равно находятся системные администраторы, которые скажут: “Надо переехать на новый домен, чтобы начать с чистого листа, чтобы все было сделано правильно.” И таких товарищей достаточно много (например одно из последних обсуждений на форуме Technet).

Справедливости ради надо отдать должное тем людям, которые стремятся сделать что-то лучше, но в случае переезда на другой домен AD можно пойти другим путем. А именно допилить существующий домен до приемлемого состояния.

Именно об этом варианте я и собираюсь рассказать на примере доведения до ума старого домена, который был поднят ещё на Windows Server 2000.

Задачи

Поскольку домен изначально был достаточно старый, он использовал много устаревших технологий и настроек. Многие из них уже официально не поддерживаются (например FRS), а некоторые просто потенциально способны создать в будущем проблемы.

Начнем разбор с самого начала.

Резервное копирование

Первое, о чем вам нужно задуматься – как вы будете бэкапить КД. Если у вас уже настроено регулярное резервное копирование, это значительно упрощает ситуацию. В моем случае использовался DPM 2012 R2 с резервным копированием контроллеров домена целиком как виртуальных машин, а также их содержимого (например в случае, если понадобится провести полномочное восстановление, то состояние системы будет как нельзя кстати).

Как правильно бэкапить виртуальные КД и КД вообще можно написать очень много статей и сценарии будут разными для разных версий ОС. Чтобы кратко ознакомиться с ситуацией, советую почитать статью в блоге 1.

Коротко советы:

  • Выполняйте контрольное резервное копирование между важными изменениями в ядре инфраструктуры;
  • Сохраняйте резервные копии до тех пор, пока вы не убедитесь в нормальном функционировании всех КД;
  • Резервное копирование выполняйте поддерживаемыми средствами (например VSS);
  • Обязательно убедитесь, что вы имеете восстанавливаемые резервные копии! Да, забэкапить мало, надо ещё и проверить а восстанавливаются ли бэкапы нормально или нет.

Я советую все изменения обкатывать на тестовой инфраструктуре, которую вы как раз сможете создать из существующих бэкапов.

Диагностика AD

Обязательно пройдитесь по всем КД и проверьте состояние их здоровья:

  • Проанализируйте ошибки AD DS, DNS и др. служб в просмотре осбытий;
  • Проверьте репликацию 2 и состояние КД командами repadmin и dcdiag;
  • Установите все обновления ОС.

Только при отсутствии проблем приступайте ко всем изменениям.

Имя домена

Некрасивое или “неправильное” по мнению сисадминов имя домена наиболее часто является главным аргументом для переезда на другой домен. С другой стороны, что такое “правильное” имя домена? Да такого нет в принципе! Есть рекомендации какие домены лучше не использовать (например те же SLD), но это всего лишь рекомендации, которые к исполнению не обязательны. Все зависит от вашего окружения и преследуемых целей.

Админы говорят: “У меня домен domain.local, а я хочу domain.ru как основной домен организации“. То есть они считают домен domain.ru правильным. Дак вот, я скажу, что нет, это неправильное имя домена. Как минимум потому что вам придется очень сильно запариться с разруливанием запросов DNS к реальному DNS-имени domain.ru.

Признаться честно, я и сам долго болел идеей переезда на новый домен (Пара слов про именование доменов Active Directory), но лень победила – перетаскивать эксчи с терабайтами баз, всех пользователей и кучу других сервисов грозило стать неподъемной задачей и я взялся наводить порядок на существующем домене.

Теперь суть вопроса: чтобы пользоваться красивыми именами и логиниться во все доменные сервисы по адресу электронной почты достаточно создать дополнительный UPN-суффикс и назначить его всем нужным учеткам. При этом неважно какое у вас имя домена. Для переезда в облако доп. суффиксов достаточно (если у кого сомнения, читайте Локальная инфраструктура и Azure AD)

Перенос DNS-зоны _msdcs.ForestName

Это первое, с чего я начал. Почему? Нужно привести DNS в нормальное состояние, ведь от этого сервиса зависит здоровье AD в целом.

Для доменов, созданных на Windows Server 2000, зона _msdcs.ForestName располагается на уровне домена и желательно её перетащить на уровень леса, как это по умолчанию сделано на новых доменах AD на Windows Server 2003 и старше:

Сам процесс подробно расписан в официальной документации и на моем блоге в статье DNS-зона _msdcs.ForestName отсутствует.

Изменения вполне можно проводить в рабочее время, но все же обкатайте все на лабе.

Настройка защищенных динамических обновлений DNS

Вероятнее всего большинство разрешают незащищенные обновления DNS 3. Тем не менее, согласно лучшим практикам рекомендуется разрешать динамические обновления только для авторизованных клиентов 4.

Раз уж вы решили привести домен к эталонному виду, займитесь и DNS-записями. Тем не менее, не включайте слепо защищенные обновления, возможно в вашей инфраструктуре есть устройства со статикой вне домена, которым необходимо обновлять записи самостоятельно.

Не забывайте, что вы можете настроить обновление клиентских DNS-записей на стороне DHCP-сервера, если он развернут на Windows Server. Изменения можно проводить в рабочее время (я бы даже сказал рекомендуется проводить в рабочее время), будет возможность оперативно отлавливать проблемы пользователей.

Настройка зон обратного просмотра

Настройте зоны обратного просмотра для каждой подсети или групп сетей. Например у меня на старом домене в продакшене была обратная зона, созданная до расширения маски сети. В итоге в эту зону попадали не все записи. Решение – пересоздать зону заново.

Изменения можно проводить в рабочее время.

Обновление уровней леса и домена

Нет никаких причин сидеть на старых уровнях леса и домена 5 и лишь ограничивать себя в функциональности AD. Например пользуйтесь корзиной AD 6, повысив уровень леса до 2008 R2 и активировав соответствующую функцию.

Повысьте до максимально возможных значений уровни леса и домена (зависит от того на каких версиях ОС у вас работают КД) 7. Задача относительно безболезненная, можно выполнять её в рабочее время.

Переезд с FRS на DFS-R

Уже с Windows Server 2008 FRS не считается надежной и устарела, а на дворе 2017 год. Смело переезжайте на DFS-R, к тому же последние на сегодняшний момент версии ОС уже перестали поддерживать FRS вообще (то есть даже новые КД на Windows Server 2016 в домен вам не запилить).

Процесс миграции очень хорошо документирован и на некоторых шагах есть возможность откатиться назад, читайте мою статью Заметки: Миграция репликации SYSVOL с FRS на DFS.

Процесс миграции вполне возможно проводить в рабочее время.

Настройка межсайтовой топологии (если актуально)

Вопрос актуален далеко не для всех, только у кого ядро инфраструктуры размазано между несколькими площадками.

Сайты AD 8 созданы для того, чтобы “рассказать” Active Directory о реальной физической топологии сети, на основе которой AD построит топологию репликации оптимальным образом. По идее разбивать инфраструктуру на сайты нужно сразу как только один любой КД появляется в удаленном расположении (то есть вне локальной сети). Но и тут не все так просто, о чем мягко намекает объем гайда (см. статью Active Directory Design Guide) по планированию AD, в котором много внимания уделено именно сайтам.

Строго говоря, сайты можно и не создавать, если между локациями есть стабильный канал с достаточной пропускной способностью и пингом <10мс (пришлось перечитать много литературы, чтобы натолкнуться на эту рекомендацию).

Best practice

Если вы прошли путь, который я расписал выше и который проходил сам и хотите сделать ещё лучше, то предлагаю посмотреть в сторону лучших практик администрирования AD DS. Читайте дальше.

Удаление лишних ролей

Одна из основных идей AD – абсолютная идентичность и равнозаменяемость всех контроллеров домена. И это не корыстный интерес Microsoft, чтобы вы покупали как можно больше лицензий на ОС, это действительно важный аспект.

Идея в том, чтобы построить ядро инфраструктуры из абсолютно идентичных друг другу контроллеров домена (кроме ip и ролей fsmo разумеется). В случае утери любого из них не надо заморачиваться с его восстановлением, просто вычистите его остатки из AD и заведите новый с нуля.

Все поворачивается к вам совсем другим местом, если у потерянного КД имелись какие-то важные данных (многие организации держат и файловые помойки, и терминальные серверы и многое другое на одиночных КД). Таким образом вы лишаете себя той гибкости, которая изначально была заложена в архитектуру AD DS.

Вот пример списка установленных ролей и компонентов с полностью чистого контроллера домена:

По возможности держите на КД только роли AD DS и DNS (в зависимостях подтянутся File Services с DFS). Как минимум не размещайте на КД новые роли, а в идеале снимайте существующие “левые” сервисы (и DHCP тоже), если таковые имеются.

Одна и та же версия ОС

Эта рекомендация намного важнее, чем может показаться на первый взгляд. Дело в том, что для разных ОС совершенно разный порядок восстановления из резервных копий, особенно дело касается виртуализованных КД. Разумеется различаются и нюансы администрирования.

Примечание: пример. Чтобы восстановить из бэкапа виртуалку с КД на Windows Server 2008 R2, вам нужна сама ВМ (старая или развернутая с 0 с той же ОС), а также бэкап состояния системы. Пока вы не восстановите состояние системы, выпускать этот КД в сеть категорически нельзя (иначе как минимум можете получить usn rallback)! Точно такую же процедуру с виртуалкой КД на Windows Server 2012 можно пройти, ограничившись только восстановлением виртуалки – спасибо идентификатору виртуальной машины 9, который поддерживает эта версия ОС.

Выполняйте плановый вывод контроллеров домена на устаревших ОС.

Рекомендации по best practice

Если соберетесь перелопатить инфраструктуру ради приведения ядра к идеальному виду, то вам непременно придется выводить старые КД из работы и вводить новые. Когда будете выводить старые КД, не забудьте:

  • Предварительно заранее исключить из раздачи DHCP его адрес;
  • Предварительно перенастроить сетевые настройки клиентов (в том числе и рядовые серверы) для исключения адреса КД (например сделайте это просто удаленно Заметки: Удаленное изменение сетевых настроек);
  • Если выводимый КД является ещё и держателем ролей FSMO, позаботьтесь об их переносе (подробнее об FSMO читайте в FSMO — Fexible Single Master Operations), не забудьте о перенастройке времени;
  • После понижения измените сетевые настройки каждого КД, убрав адрес старого;
  • После понижения вычистите этот бывший КД из DNS – уберите из списка серверов имен каждой зоны (в том числе и делегирований, например _msdcs);
  • После понижения удалите КД из оснасток Пользователи и компьютеры или Сайты и службы (при этом сервер останется в списке обычных).

Как только введете новый КД в работу:

  • Отредактируйте сетевые настройки каждого КД для включения в список DNS-серверов адрес нового КД;
  • Добавьте адрес нового КД (если он является ещё и DNS-сервером, что желательно) в списки серверов имен каждой зоны DNS;
  • Проверьте корректность работы нового КД согласно официальным инструкциям 10.

Удачи вам в этом нелегком начинании!

Яндекс.Метрика