Заметки о Windows и других программных продуктах Microsoft...

Передача и захват ролей FSMO

Передача и захват ролей FSMO

Определившись с назначением ролей FSMO рассмотрим варианты передачи ролей другому контроллеру домена, а также принудительное назначение, или «захват» роли в случае недоступности контроллера домена, который ее выполняет.

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

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

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

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

Примечание. Начиная с  Windows Server 2003 SP1 при выполнении команды dcpromo /forceremoval осуществляется проверка, имеет ли контроллер домена роль хозяина операций, является DNS-сервером или сервером глобального каталога.  Для каждой из этих ролей будет получено уведомление с указаниями по выполнению соответствующих действий.

В том случае, если в домене два или более контроллеров, первым делом нам необходимо выяснить, кто является обладателем каждой из ролей FSMO. Это достаточно просто сделать с помощью команды netdom query fsmo

определение хозяев ролей fsmo

 

Ну а теперь приступим к передаче ролей. Есть несколько вариантов действий, рассмотрим их все по порядку. Вариант первый, самый простой и доступный.

Добровольная передача ролей FSMO с помощью оснасток управления Active Directory

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

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

 

В открывшемся окне выбираем нужную нам роль  (в нашем примере RID Master) и нажимаем кнопку «Изменить».

передача роли RID master

 

Далее подтверждаем перенос роли

Запрос на подтверждение передачи роли RID Master

 

И смотрим на результат. Дело сделано, роль передана другому серверу.

завершение переноса роли RID Master

 

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

Передача роли Domain Naming Master

 

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

подтверждение передачи роли Domain Naming Master

 

С ролью Schema Master дела обстоят несколько сложнее. Для передачи этой роли необходимо предварительно зарегистрировать в системе библиотеку управления схемой Active Directory. Делается это с помощью команды regsvr32 schmmgmt.dll, введенной в окне Выполнить (Run).

регистрация библиотеки управления схемой Active Directory

 

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

добавление оснастки Схема Active Directory

 

Ну а дальше заходим в оснастку и действуем аналогично предыдущим примерам.

передача роли Schema Master

 

Если по каким то причинам не удается передать роли с помощью графических оснасток, а также для любителей командной строки есть второй вариант:

Добровольная передача ролей fsmo при помощи Ntdsutil

ntdsutil.exe – утилита командной строки, предназначенная для обслуживания каталога Active Directory. Она представляет из себя мощный инструмент управления, и в число ее возможностей входит передача и захват ролей FSMO.

Для передачи ролей заходим на любой контролер домена, расположенный в том лесу, в котором следует выполнить передачу ролей FSMO. Рекомендуется войти в систему на контроллере домена, которому назначаются роли FSMO. Запускаем командную строку и вводим команды в такой последовательности:

  • ntdsutil
  • roles
  • connections
  • connect to server <имя сервера>
  • q

После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и можем начать передавать роли :

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

Для завершения работы Ntdsutil вводим команду q и нажимаем Ввод.

Примечание. Начиная с  Windows Server 2008R2 команда для передачи роли хозяина доменных имен transfer naming master.

В качестве примера передадим роль Infrastructure Master серверу SRV2 и проверим результат.

передача роли FSMO с помощью ntdsutil.exe

 

Ну и третий, самый печальный вариант развития событий:

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

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

  • ntdsutil
  • roles
  • connections
  • connect to server <имя сервера>
  • q

Для захвата ролей FSMO используется команда seize

  • seize domain naming masterзахват роли хозяина доменных имен;
  • seize infrastructure masterзахват роли хозяина инфраструктуры;
  • seize rid masterзахват роли хозяина RID;
  • seize schema masterзахват роли хозяина схемы;
  • seize pdc захват роли эмулятора PDC.

Примечание. Начиная с  Windows Server 2008R2 команда для захвата роли хозяина доменных имен seize naming master.

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

захват роли FSMO с помощью ntdsutil.exe

 

И еще несколько важных моментов, которые нужно учесть при передаче\захвате ролей FSMO:

• Для передачи ролей уровня домена (RID Master, PDC Emulator и Infrastructure Master) ваша учетная запись должна быть членом группы Администраторы домена (Domain admins), а для передачи ролей уровня леса (Domain Naming Master и Schema Master) — Администраторы предприятия (Enterprise Admins).
• По возможности не назначайте роль Infrastructure Master контроллеру домена, являющемуся сервером глобального каталога, поскольку в этом случае он не будет обновлять сведения об объектах. Причина такого поведения заключается в том, что сервер глобального каталога хранит частичные реплики всех объектов в лесу.
• В случае захвата ролей FSMO контроллер домена, ранее исполнявший эти роли, ни в коем случае нельзя возвращать обратно, т.к.  при его появлении в сети возникнет конфликт, что может вызвать проблемы в работе домена. Кроме того, его необходимо удалить из Active Directory. В Windows Server 2008 и 2008 R2 это можно сделать, просто удалив объект сервера в оснастке  Active Directory Пользователи и компьютеры, а в Windows Server 2003 с помощью программы Ntdsutil , используя команду ntdsutil — metadata cleanup. Подробнее об этом можно почитать в техподдержке Microsoft  http://support.microsoft.com/kb/216498.

 
 
Комментарии
Ленар

Захватил 4 роля, а вот роль domain naming master захватить не получается, пишет неправильный синтаксис. Что делать?

В Server 2008 R2 команды немного изменились, можно попробовать Seize naming master

да Seize naming master верная

Евген

во первых, отлично написано, спасибо! первый раз вижу так аккуратно и понятно.

и вопрос, скажите если контроллер мертвый и мы с него роли перехватываем, это же нормально, что он по прежнему себя считает владельцем ролей, если новый сервер при этом пишет что роли перехватил и показывает их у себя? То есть можно сносить и все мертвый контроллер dcpromo /forceremoval. спасибо.

После захвата ролей со старым контроллером можно делать все что угодно, главное не включать его снова в сеть.

Евгений

Спасибо за статью, все понятно расписано. Сначало захватил 3 из 5 ролей, прочитав эту статью получилось захватить еще 2 роли. Теперь все 5 ролей захвачены. Завтар буду мигрировать на 2008р2.

Евгений

Сегодня успешно мигрировал на 2008 р2
видео http://www.techdays.ru/videos/1491.html
если бы не комментарии возможно былибы траблы )) в комментариях нашел подсказки))

Артем

Отличная инструкция, все понятно и по делу. Лучший образец для памятки.
Спасибо!

Даниил

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

У меня конечно ситуация была не самая ординарная. В моем случае четыре контроллера потеряли конективити и запороли репликацию AD в связке с Exchange. В общем все решилось вводом пятого контроллера с последующим частично transfer и частично seize ролей контроллеров на которых что-то отвалилось, а затем понижение и удаление ролей. Сильно помогло то, что все произошедшее не затронуло хозяина леса доменов с которого я успешно реплицировался на новый контроллер.

Хотелось бы добавить, что еще, очень помогает диагностике nltest, которым я проверял доступность различных доменов с разных контроллеров.

test the secure connection:
nltest /server: /sc_query:
reset the secure connection:
nltest /server: /sc_reset:

Осталось подчистить ряд мусора и вывести лишних, но первоначальной целью было вернуть работоспособность.

Просто, спасибо!

Отличная инструкция, просто и понятно. Спасибо!

Благодарю. Просто и понятно. Статья очень помогла.

transfer domain naming master не работает. ругается на неверный синтаксис. остальные команды работают а эта нет.
потому что правильная команда такая — transfer naming master. вот она работает.

Да, начиная с Windows Server 2008R2 команда изменилась.

Александр

Уважаемые коллеги! Помогите «чайнику»! Если «умер» контроллер, который ранее по умолчанию являлся резервным контроллером в домене, т.е. не принимал на себя какие-либо роли, но в AD он продолжает отображаться, как его принудительно удалить из AD? Ведь включить и удалить посредством dcpromo его уже не удастся.

Если контроллер не планируется оживлять, то надо вычистить из AD все данные о нем. Сделать это можно с помощью утилиты ntdsutil или редактора ADSIEdit. Вот здесь http://support.microsoft.com/kb/216498/ru все достаточно подробно описано.

Александр

Кирилл, огромное спасибо! Попробую…

объясните тупому админу: если происходит не захват ролей, а ДОБРОВОЛЬНАЯ ПЕРЕДАЧА — контроллер может продолжать работу в сети? То есть зашёл на живой контроллер и через оснастку AD UC сменил хозяина операций.
Что тогда? Пожалуйста, не смейтесь, просто дайте чёткий внятный ответ.

Да, после добровольной передачи роли FSMO контроллер может продолжать работу в сети.

Подскажите такой момент. Клиенты домена как-то запоминают у кого роли FSMO? Например сервак уехал по гарантии, роли захватили на резервном КД, с основного не удаляли, через месяц сервак вернулся, резевный погасили, основной снова ввели в строй. Какие могут быть проблемы при таком раскладе?

Клиентам без разницы, у кого роли FSMO. А вот с контроллером домена так поступать нельзя, независимо от того, есть ли на нем роли FSMO или нет. Это может вызвать USN rollback — остановку репликации между контроллерами домена.

Не совсем понял. USN rollback возникает при восстановлении из снапшота например. Если резервный КД погасить, включить восстановленный сервер, резервный скажем вообще переустановить, то откуда USN rollback?.

Update Sequence Number (USN) — это номер последовательного обновления. Если в отсутствие контроллера будут производиться изменения в домене, то после возврата в строй его USN будет отличаться от USN остальных контроллеров, отсюда и rollback. Впрочем, если в описанном вами варианте других домен-контроллеров нет, то проблем не возникнет.

Спасибо, Кирилл, теперь понятно.

Привет.Подскажите,как вернуть роль PDC домен контроллеру?случайно на DC2 ткунл сменить роль ,когда DC1 был в офлайне,теперь не проходит реприкация у дк2,а главный домен контроллер пишет все окей)

То есть роль PDC была захвачена случайно ?
А что показывает netdom query fsmo ?

захвачена была. В общем на Dc1 netdom показывает все 5 ролей его, на DC2 показывает что роль pdc его,остальные четыре dc1

пробовал через ntdsutil передавать или назначать роль pdc ,но проблема в том что при всех этих манипуляциях конектимся напрямую к серверу и уже в его данных даем команды,а тут разногласие у серверов»кто прав» — нет репикации ,замкнутый круг.хоть убивать dc2 или dc1 …может есть что по проще?

Есть системстейт DC2 до моего злощастного нажатия на захват роли.может накатить?(правда от 19.02 ss)

По идее если накатить системстейт, то дальше репликация должна отработать нормально. Как вариант — понизить его до обычного сервера и вывести из домена.

понизить Dc2 или dc1 ?Учитывая что на данный момент нет репликации,то вывод из домена будет только в том лесу который есть на самом контроллере,получается,что какой бы не выводил из домена другой не будет в курсе этого…тогда проще вообще отказаться от dc1 или dc2 ,и пусть считается пропавшим….

А что больше нравится 🙂 Можно вывести из обращения DC2, а можно вывести DC1 и захватить все оставшиеся роли на DC2. Если понизить нормально не удастся, тогда руками удалять и зачищать AD. Тут в коментариях ссылка была, как это делается.
Но лучше все же из бэкапа попробовать восстановить.

:)Решилось все проще,запустил dcdiag /a ,он мне написал что бы я включил входящую и исходящую репликацию на DC1 ,(незнаю почему то она была выключена), в обещм dc1 взял данные с dc2 ,и я потом перевел роль PDC обратно на DC1 🙂 Спасибо за помощь)

первый раз сталкиваюсь со сменой хозяина схемы… долго работали так, что хозяин операций был один (передали с w2k3 на w2012), потом вдруг всплыло, что хозяин схемы все еще старый сервак)))
в любом случае спасибо за инструкцию)

Цитата из MCTS Self-Paced Training Kit (Exam 70-640) (авторы Dan Holme, Nelson Ruest, Danielle Ruest): The PDC Emulator and infrastructure master are the only operations master roles that can be transferred back to the original master after having been seized. Do not return a seized schema, domain naming, or RID master to service — you must completely decomission the original domain controller.

Inomaratadeath

не бейте сильно ногами, возникает вопрос — зачем нужны контроллеры домена больше одной штуки, если всё равно без гемора не обойдётся при падении основного DC?
оба DC развёрнуты как виртуальные машины на разных гипервизорах. Основной DC, на котором все 5 FSMO, стал недоступен по причине файлового сбоя хостовой машины, на котором вращается гипервизор.. и пока бравая расхваленная мелкософтом винда 8 что-то там «сканинг энд репиринг систем диск» весьма долго, до моего приезда в офис никто из пользователей не мог войти в систему по причине «не найдены контроллеры домена, которые могут обработать запрос». И это при работающем резервном контроллере домена на другом гипервизоре. Зачем же нужна такая «отказоустойчивость», если вручную надо захватывать роли ??? (кстати, все 5 ролей я так и не смог захватить, только потом увидел, что 2 роли требуют с какого-то перепугу, уровень доступа админа предприятия). Может, я чего-то не понимаю — инфраструктура сети осталась в наследство от предыдущих админов — да и ранее в практике обходился одним реальным железным DC с регулярными бэкапами.

Бить не буду 🙂 но объяснить попробую.
В плане авторизации пользователей все контроллеры абсолютно равноправны, при наличии хотя бы одного доступного контроллера домена пользователи должны без проблем заходить в систему. Поэтому в вашем случае проблемы со входом не имеют отношения к FSMO. Роли FSMO вообще не требуются для авторизации пользователей, даже при падении их всех проблем со входом быть не должно.

Inomaratadeath

гм… тогда действительно что-то работает не так. Ибо при падении основного DC всем просто выдаёт что домен не обнаружен. Набираю «netdom.exe query fsmo» на втором DC — вижу ту же ошибку о недоступности домена. DNS обоих контроллеров первичный — 127.0.0.1, вторичный — второй контроллер домена. Вот куда копать в таком случае?

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

Виктор

Кирил, а можно подробнее.
Что проверить тут на клиенте и на фаерволе.
Может действительно не пускает 2008 клиентов на идентификацию.
Пингуется он с клиентов нормально

Спасибо мужик!

Отличная публикация. Все четко, грамотно, сработало с первого раза. Переносил с 2008R2 на 2012R2. Ни одной ошибки. Огромное спасибо.

Виктор

При переносе роли Domain Naming Master у меня в обоих в полях показывается один и тот же сервер. Это у меня в домене наверное что то не так настроено.
И что делать в этом случае ????

Прохожий

Запустите оснастку на сервере которому хотите передать роль 🙂

Виктор

Так на нем и запускаю
Имеются два контролера dc2003 и dc2008
Хозяином всего является дс2003.
Это еще от перехода с WinNT
С тех пор не менял ничего.
А сейчас хотел убрать вообще 2003.
Запускаю оснастку на 2008 и вижу в обоих полях 2003
Кроме того у меня еще вопросик возник.
Если я таки умудрюсь перенести все на 2008 то сможет ли WinNT зарегистрироваться в домене.
Потому, что сейчас, при выключенном 2003, не может.

Виктор

Вдогонку.
Данная проблема (с одинаковыми полями) только при попытке изменить
Хозяина наименований домена.
Для остальных ролей видно в виде претендента на роль хозяина дц2008

Стоит проверить уровень домена\леса, там есть определенные ограничения.
Теоретически для WinNT нужен PDC эмулятор, тогда должен смочь.

Виктор

Текущий режим работы леса Win2003
Дальше оно не поднимает

А если передать роль не через оснастку, а командой? Если не получится, то по крайней мере выдаст ошибку.

Виктор

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

Виктор

Вдогонку.
У меня была ситуевина уже с этими контролерами.
Оба виртуальных. Один (2003) я перенес на другой хост. Он там поработал ночь и перестал принимать пользователей. Думаю из-за расхождения времени.
Но я не проанализировал. В спешке убил его и запустил старую копию.
Вот тут то я и попал. Воткнулся в ошибку репликации.
Пришлось полностью остановить 2003 и сделать принудительный перенос ролей.
Вроде все роли перенеслись на 2008.
Но WinNT и почтовый сервер на нем по прежнему не могли регистрироваться в домене.
Тогда я убил и 2008 и восстановил оба из резервных копий.
Это привело к успеху с незначительными помарками.
Пришлось пару машин выбросить из домена и ввести по новой.
Так оно и работает сейчас.
Но я хочу переход на 2016 или по крайней мере 2012.
Хотел поэтапно. Перенести все роли на 2008, убить 2003 и потом поднять режим работы леса до 2008 и потом добавить 2016.
Но вот пока воткнулся в проблему с передачей роли.

Виктор

Докладываю о проделанной работе
Собрался с духом и перенес все роли на машину с винь2008
По крайней мере так показывает вывод netdom query fsmo
Некоторые роли передались с помощью ГУИ, а некоторые с NTDSUTIL
К сожалению, при выключенном контролере 2003, мой почтовый сервер на виньНТ так и может найти контролер домена для регистрации. Не знаю как решить эту проблему.
Так, что воз и ныне там. Убийство 2003 контролера пока невозможно.

Виктор

Нашел текст от Майкрософта, где прямо говорится, что WinNT не может логинится в win2008 контролере.
Но к счастью дают и решение как таки сделать чтобы это получилось.
Нужно изменить параметр для контролера домена в групповой политике.
Я бы вообще забил на этот НТ. Но на нем крутится почтовый сервер, который использует тот же метод аутентификации, что и НТ.

Ну да, NT в принципе может работать с Windows 2008, но надо перенастроить некоторые параметры безопасности.
Вот здесь описано что и как: https://blogs.technet.microsoft.com/askds/2010/07/30/friday-mail-sack-newfie-from-the-grave-edition/#nt4