Передача ролей FSMO

Переносим FSMO. Цель нашего мероприятия передать FSMO с одного контроллера домена на другой. На всякий случай я рассмотрю несколько способов переноса ролей, в том числе и случай, когда действующий хозяин FSMO недоступен.

Сначала немного теории:
FSMO (Flexible single-master operations — «операции с одним исполнителем»)— типы выполняемых контроллерами домена Active Directory операций, требующие обязательной уникальности сервера их выполняющего.

То есть все контроллеры домена равны, но один (или несколько) равнее других, постольку поскольку выполняют эти самые операции с одним исполнителем. В зависимости от типа операции уникальность FSMO подразумевается в пределах или леса доменов, или домена.

Всего корпорацией мелкомягких нам дано 5 ролей:

  • Владелец схемы (Schema master) - один сервер с этой ролью на весь лес. Роль нужна для расширения схемы леса Active Directory, обычно эта операция выполняется командой adprep /forestprep
  • Владелец доменных имён (Domain naming master) - один на весь лес. Сервер с данной ролью должен обеспечить уникальность имен для всех создаваемых доменов и разделов приложений в лесу AD.
  • Владелец относительных идентификаторов (PDC emulator) - один сервер на каждый домен. Выполняет несколько функций: является основным обозревателем в сети Windows, отслеживает блокировки пользователей при неправильно введенном пароле, являетсяглавным NTP сервером в домене, предназначен для поддержки клиентов с ОС предшествующим Windows 2000.
  • Эмулятор основного контроллера домена (Infrastructure Master) - один сервер на каждый домен. Сервер с такой ролью нужен для успешного выполнения команды adprep /domainprep. Отвечает за обновление идентификаторов защиты (GUID, SID)и различающихся имен объектов в междоменных объектных ссылках.
  • Владелец инфраструктуры домена (RID Master) - один сервер на каждый домен. Сервер раздает другим контроллерам домена идентификаторы RID (по 500 штук) для создания уникальных SID.

Для управления ролью Schema master необходимо быть в группе «Schema admins».
Для управления ролью Domain naming master необходимо состоять в группе «Enterprise admins».
Для управления ролями PDC emulator, Infrastructure Master и RID Master необходимо иметь права администратора домена «Domain Admins»


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

При создании домена, по умолчанию все роли назначаются первому контроллеру домена в лесу. Переназначение ролей требуется крайне редко. Microsoft рекомендует использовать передачу ролей FSMO в следующих случаях:

  • Плановое понижение роли контроллера домена, являющегося обладателем ролей FSMO, например с целью вывода сервера из эксплуатации (это как раз мой случай);
  • Временное отключение контроллера домена, например для выполнения профилактических работ. Это особенно важно при отключении эмулятора PDC. Временное отключение остальных хозяев операций в меньшей степени сказывается на работе AD.

Захват ролей FSMO придется осуществлять в следующих случаях:

  • Если в работе текущего обладателя роли FSMO возникли сбои, препятствующие успешному выполнению функций, присущих данной роли, и не дающие выполнить передачу роли;
  • На контролере домена, являвшемся обладателем роли FSMO, переустановлена или не загружается операционная система;
  • Роль контроллера домена, являвшегося обладателем роли FSMO, была принудительно понижена с помощью команды dcpromo /forceremoval.

Итак первое что нам понадобится это узнать какой сервер является хозяином FSMO. Проще всего это сделать с помощью утилиты netdom. Набрав в консоли:

> netdom query fsmo

Мы получим список всех пяти ролей с указанием FQDN хозяев. Этой же утилитой можно воспользоваться после переноса ролей, чтобы убедиться в успехе операции.

netdom

Теперь можно приступить непосредственно к переносу FSMO:

Способ первый, самй простой и мне он наиболее симпатичен - передача ролей FSMO с помощью утилиты ntdsutil:

ntdsutil.exe – утилита командной строки, предназначенная для обслуживания каталога Active Directory. Она предоставляет много возможностей по управлению AD, в числе которых передача и захват ролей FSMO.
Для передачи ролей заходим на любой контролер домена (Это не обязательно должен быть текущий или будующий хозяин FSMO), расположенный в том лесу, в котором следует выполнить передачу ролей. Рекомендуется войти в систему на контроллере домена, которому назначаются роли FSMO. Запускаем консоль и вводим:
>ntdsutil
После чего утилита запускается в интерактивном режиме и может принимать команды. Первая наша команда указывает на то что мы хотим работать с FSMO
>roles
В ответ приглашение изменится на fsmo maintenance: Затем для вызова «меню» подключения вводим
>connections
И приглашение меняется на server connections: Теперь можно указать к какому серверу мы хотм подключиться (<Имя_сервера> - имя контроллера домена, на который вы хотите перенести роль FSMO.)
>connect to server <Имя_сервера>
для выхода из меню подключения введите
>q
и нажмите Enter. Теперь, получив опять приглашение fsmo maintenance: мы можем приступить к переносу ролей. Для этого предназначена команда transfer:
>transfer <имя_роли>
В качестве <имя_роли> нужно указать ту роль которую вы хотите перенести:

  • naming master — передача роли хозяина доменных имен;
  • infrastructure master — передача роли хозяина инфраструктуры;
  • RID master — передача роли хозяина RID;
  • schema master — передача роли хозяина схемы;
  • PDC — передача роли эмулятора PDC.

В версиях Windows предшествующих Windows Server 2008R2 хозяин доменных имен называется domain naming master. Как это принято в Windows системах регистр не имеет значения.

После ввода каждой команды transfer появляется диалоговое окно с запросом подтверждения (могли бы и в консоли подтверждение спрашивать а то «недоконсольно» как то получается), нажимаем каждый раз «OK», если конечно вы не набрали все предидущие команды случайно. :)
Для завершения работы Ntdsutil вводим команду q и нажимаем Enter.

fsmoxx

Принудительное назначение ролей fsmo при помощи Ntdsutil

А что же нам делать, если хозяин роли недоступен, поврежден и нет надежды вернуть его в строй в ближайшее время? И тут нам снова поможет ntdsutil.exe:
Принудительное назначение (захват) ролей производятся только в случае полного выхода из строя сервера, с невозможностью его восстановления. Если возможно, лучше восстановить работоспособность вышедшего из строя хозяина FSMO. Сама процедура захвата похоже на описанную выше. Заходим на контроллер домена, которому хотим передать роли и проделываем то же что было писано в предидущем пункте введя:
>ntdsutil
>roles
>connections
>connect to server <имя_сервера>
>q
Единственно различие, вместо команды transfer для принудительного захвата роли используется команда seize
>seize <имя_роли>
Где <имя_роли> как и прежде

  • naming master — хозяин доменных имен (до Windows Server 2008R2 - domain naming master);
  • infrastructure master — хозяин инфраструктуры;
  • rid master — хозяин RID;
  • schema master — хозяин схемы;
  • pdc — эмулятор PDC.

Не забудьте перед захватом роли попробовать передать роль с помощью команды transfer и только в случае неудачи применяйте seize.

• По возможности не назначайте роль Infrastructure Master контроллеру домена, являющемуся сервером глобального каталога, поскольку в этом случае он не будет обновлять сведения об объектах. Причина такого поведения заключается в том, что сервер глобального каталога хранит частичные реплики всех объектов в лесу.

• Ни в коем случае не возвращайте «в строй» контроллер домена ранее исполнявший роли FSMO в случае если исполняемые им роли были захвачены командой seize т.к. при его появлении в сети возникнет конфликт, что может вызвать привести к большим неприятностям. Его необходимо удалить из Active Directory. В Windows Server 2008 и старше это можно сделать, просто удалив объект сервера в оснастке Active Directory Пользователи и компьютеры, а в Windows Server 2003 с помощью программы Ntdsutil , используя команду ntdsutil — metadata cleanup.

Второй вариант - Добровольная передача ролей FSMO с помощью оснасток управления Active Directory, странный и неудобный, но это лишь моё субъективное мнение, сам способ прекрасно работает.

Передать роли уровня домена (RID Master, PDC Emulator и Infrastructure Master) можно с помощю оснастки Active Directory Пользователи и компьютеры (Users and Computers). Для этого заходим на контроллер домена, которому хотим передать роли, запускаем оснастку и щелкнув правой клавишей мыши на нужном домене, выбираем пункт «Хозяева операций».

PiC1
В открывшемся окне выбираем нужную нам роль и нажимаем кнопку «Изменить», Далее подтверждаем перенос роли и смотрим на результат. Имя хозяина операий должно поменятся на имя текущего сервера.

PiC2

Для переноса роли Domain Naming Master потребуется оснастка Active Directory Домены и доверие (Domains and Trust). Запускаем оснастку, при необходимости подключаемся к нужному контроллеру домена, щелкаем правой клавишей мыши в корне оснастки и выбираем пункт меню «Хозяин операций».

DiD0Открывается окно, в котором надо нажать кнопку «Изменить», а затем подтвердить изменения так же, как и в предыдущем случае.

DiD
Для передачи роли Schema Master придется проделать несколько более сложные манипуляции. Сначало необходимо зарегистрировать в системе библиотеку управления схемой Active Directory. Сделать это можно командой
> regsvr32 schmmgmt.dll

reg1
Затем открываем консоль MMC и добавляем в нее оснастку Схема Active Directory.

reg2
Теперь можно зайти в оснастку и сменить хозяина роли Schema Master как и в предидущих примерах кликнув правой клавишей мыши по схеме и выбрав пункт «Хозяин операций...».

reg3

reg4
Ура! Все роли переданы. И ещё раз: никогда не оставляйте ваш домен без назначенных хозяев ролей FSMO. Никогда! :)

Комментарии  

#1 carnolio 22.01.2017 03:15
Спасибо уже 2 раза пригодилась ваша шпаргалка
Цитировать
#2 Ялыч 10.04.2017 07:53
" ещё раз: никогда не оставляйте ваш домен без назначенных хозяев ролей FSMO. Никогда! :)"

Что мешает их принудительно захватить?
Цитировать
#3 Евгений 13.05.2017 15:17
[quote name="Ялыч"
Что мешает их принудительно захватить?
Просто если кто-то забыл о роли, то потом, при появлении проблем не всегда сразу приходит в голову их проверить :) Ну по крайне мере я в первый раз пол дня искал в чём проблема.
Цитировать
#4 Ярослав 11.07.2017 10:30
Спасибо, отличная статья! Все по делу и доходчиво.
Цитировать