FSMO роли (Flexible Single Master Operations) — это специальные роли доменных служб Active Directory, которые выполняются одним доменным контроллером в пределах домена или леса. Эти роли критически важны для функционирования всей инфраструктуры, поскольку предотвращают конфликты при репликации данных между контроллерами домена.

Что такое FSMO роли и зачем они нужены?

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

Всего существует пять ролей FSMO, которые делятся на две категории:

Роли уровня леса:

  • Хранитель схемы (Schema Master) — управляет всеми обновлениями и изменениями схемы Active Directory. В лесу может быть только один хранитель схемы.

  • Хранитель имен доменов (Domain Naming Master) — управляет добавлением и удалением доменов в лесу. Гарантирует уникальность имен доменов в пределах леса.

Роли уровня домена (есть в каждом домене):

  • Хранитель RID (RID Master) — предоставляет пулы относительных идентификаторов (RID) другим доменным контроллерам для создания объектов безопасности (пользователей, групп, компьютеров).

  • Эмулятор PDC (PDC Emulator) — обеспечивает обратную совместимость, обрабатывает изменения паролей, блокировки учетных записей и синхронизацию времени в домене.

  • Хранитель инфраструктуры (Infrastructure Master) — обновляет ссылки на объекты между разными доменами, обеспечивая корректность отображения членства в группах.

Как определить текущих владельцев ролей FSMO

Использование PowerShell (рекомендуемый способ)

Самый быстрый и эффективный способ проверки — использование команд PowerShell:

powershell
# Для получения ролей уровня домена
Get-ADDomain | Select-Object RIDMaster, PDCEmulator, InfrastructureMaster

# Для получения ролей уровня леса
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster

# Одной командой для всех ролей
Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles | Where-Object {$_.OperationMasterRoles}

Использование командной строки

Быстрый просмотр всех ролей FSMO возможен с помощью одной команды:

text
netdom query fsmo

Графический интерфейс

  • RID, PDC, Infrastructure Master: Оснастка «Active Directory — пользователи и компьютеры» → ПКМ на домене → «Операционные мастера».

  • Domain Naming Master: Оснастка «Active Directory — домены и отношения доверия» → ПКМ на корневом элементе → «Операционный мастер».

  • Schema Master: Требуется предварительная регистрация библиотеки regsvr32 schmmgmt.dll, затем добавление оснастки «Схема Active Directory» в MMC.

Подробное руководство по передаче ролей FSMO

Подготовка к передаче ролей

Перед передачей ролей убедитесь, что:

  • Исходный доменный контроллер доступен и функционирует нормально

  • Сетевое соединение между контроллерами стабильно

  • Репликация Active Directory работает корректно

  • Вы вошли под учетной записью с необходимыми правами (для Schema Master требуется членство в группе Schema Admins)

Способ 1: Передача с помощью PowerShell

Это наиболее эффективный метод передачи ролей. Выполняйте команды на целевом доменном контроллере, который должен принять роли:

powershell
# Передача отдельных ролей
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole PDCEmulator
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole RIDMaster
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole InfrastructureMaster
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole SchemaMaster
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole DomainNamingMaster

# Или передача всех ролей одной командой
Move-ADDirectoryServerOperationMasterRole -Identity "Имя_Целевого_ДС" -OperationMasterRole DomainNamingMaster,PDCEmulator,RIDMaster,SchemaMaster,InfrastructureMaster

Способ 2: Передача через графический интерфейс

Для RID, PDC Emulator и Infrastructure Master:

  1. Откройте «Active Directory — пользователи и компьютеры»

  2. Щелкните правой кнопкой на домене → «Подключиться к контроллеру домена»

  3. Выберите целевой контроллер

  4. Снова щелкните правой кнопкой на домене → «Все задачи» → «Операционные мастера»

  5. На соответствующей вкладке нажмите «Изменить»

Для Domain Naming Master:

  1. Откройте «Active Directory — домены и отношения доверия»

  2. Щелкните правой кнопкой на корневом элементе → «Подключиться к контроллеру домена»

  3. Выберите целевой контроллер

  4. Снова щелкните правой кнопкой → «Операционный мастер»

  5. Нажмите «Изменить»

Для Schema Master:

  1. Зарегистрируйте библиотеку: regsvr32 schmmgmt.dll

  2. Откройте MMC и добавьте оснастку «Схема Active Directory»

  3. Щелкните правой кнопкой на «Схема Active Directory» → «Изменить контроллер домена»

  4. Выберите целевой контроллер

  5. Щелкните правой кнопкой → «Операционный мастер»

  6. Нажмите «Изменить»

Рекомендации по размещению ролей FSMO

В домене с одним контроллером

Все пять ролей размещаются на единственном доменном контроллере.

В домене с двумя контроллерами

  • DC1: RID Master, PDC Emulator, Infrastructure Master

  • DC2: Schema Master, Domain Naming Master

В многодоменных лесах

  • Forest-wide роли размещайте на PDC эмуляторе корневого домена леса

  • Domain-wide роли размещайте на одном контроллере с достаточной производительностью

  • PDC Emulator должен быть на наиболее производительном оборудовании

  • Infrastructure Master не должен находиться на глобальном каталоге (кроме случая, когда все контроллеры домена являются глобальными каталогами)

Что делать при сбое контроллера с ролями FSMO?

Когда текущий владелец доступен

Всегда используйте передачу (transfer) ролей через описанные выше методы.

Когда текущий владелец недоступен

Требуется захват (seize) ролей с помощью утилиты ntdsutil:

cmd
ntdsutil
roles
connections
connect to server Имя_Целевого_ДС
quit
seize Schema master
seize Domain naming master
seize RID master
seize PDC
seize Infrastructure master
quit
quit

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

Мониторинг и диагностика ролей FSMO

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

cmd
dcdiag /test:FSMOCheck /v

Для мониторинга конкретной роли, например RID Master:

cmd
dcdiag /test:RidManager /v

Заключение

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

Помните, что наиболее критичной ролью является PDC Emulator, чья недоступность сразу отразится на работе пользователей, тогда как остальные роли могут быть недоступны в течение некоторого времени без немедленного воздействия на функциональность домена.

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