- Роли FSMO Active Directory в Windows
- Аннотация
- Многомастерная модель
- Одномастерная модель
- Роль FSMO хозяина схемы
- Роль FSMO для именования доменов
- Роль MASTER FSMO ДД
- Роль FSMO эмулятора PDC
- Роль FSMO хозяина инфраструктуры
- Передача/захват ролей FSMO на другой контроллер домена Active Directory
- Для чего нужны FSMO роли в домене Active Directory?
- Просмотр владельцев FSMO ролей в домене
- Передача FSMO ролей с помощью PowerShell
- Передача FSMO ролей из графических оснасток Active Directory
- Передача ролей RID Master, PDC Emulator и Infrastructure Master
- Передача роли Schema Master
- Передача FSMO роли Domain naming master
- Передача FSMO ролей из командной строки с помощью утилиты ntdsutil
- Принудительный захват FSMO ролей Active Directory
Роли FSMO Active Directory в Windows
Эта статья в основном поможет вам узнать о ролях гибкой единой главной операции (FSMO) в Active Directory.
Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 197132
Аннотация
Active Directory — это центральный репозиторий, в котором хранятся все объекты на предприятии и соответствующие атрибуты. Это иерархическая база данных с поддержкой нескольких хозяинов, в которой могут храниться миллионы объектов. Изменения базы данных могут обрабатываться на любом контроллере домена (DC) на предприятии независимо от того, подключен ли dc к сети или отключается от нее.
Многомастерная модель
База данных с поддержкой нескольких хозяинов, например Active Directory, обеспечивает гибкость, позволяющую вносить изменения в любой dc на предприятии. Однако это также приводит к конфликтам, которые могут привести к проблемам после репликации данных на остальную часть предприятия. Одним из способов, с помощью который Windows работает с конфликтующие обновления, является наличие алгоритма разрешения конфликтов для обработки несоответствий в значениях. Это делается путем разрешения на dc, в который были записаны последние изменения, который является последним автором. Изменения на всех остальных DCS удаляются. Хотя в некоторых случаях этот метод может быть приемлем, в некоторых случаях конфликты слишком сложно устранить с помощью последнего метода записи. В таких случаях лучше предотвратить конфликт, а не пытаться устранить его после этого.
Для определенных типов изменений Windows включает методы для предотвращения конфликтующих обновлений Active Directory.
Одномастерная модель
Чтобы предотвратить конфликтующие обновления в Windows, Active Directory выполняет обновления определенных объектов в едином хозяине. В модели с одним хозяином только один dc во всем каталоге может обрабатывать обновления. Он похож на роль основного контроллера домена (PDC) в более ранних версиях Windows, таких как Microsoft Windows NT 3.51 и 4.0. В более ранних версиях Windows PDC отвечает за обработку всех обновлений в заданном домене.
Active Directory расширяет одномастерную модель, найденную в предыдущих версиях Windows, и включает несколько ролей, а также возможность передачи ролей на любой dc на предприятии. Поскольку роль Active Directory не привязана к одному DC, она называется ролью FSMO. В настоящее время в Windows существует пять ролей FSMO:
- Хозяин схемы.
- Мастер именования доменов
- MASTER-мастер ДД
- Эмулятор PDC
- Хозяин инфраструктуры
Роль FSMO хозяина схемы
Владельцем роли хозяина схемы FSMO является dc, отвечающий за выполнение обновлений схемы каталогов, то есть контекст именования схемы или LDAP://cn=schema,cn=configuration,dc= . Это единственный dc, который может обрабатывать обновления схемы каталогов. После завершения обновления схемы оно реплицируется из хозяина схемы на все остальные компьютеры в каталоге. Для каждого каталога существует только один хозяин схемы.
Роль FSMO для именования доменов
Владелец роли FSMO для именования доменов — это dc, отвечающий за внесение изменений в пространство имен доменных имен леса каталога, то есть контекст именования разделов\Конфигурация или LDAP://CN=Partitions, CN=Configuration, DC= . Это единственный dc, который может добавить или удалить домен из каталога. Он также может добавлять или удалять ссылки на домены во внешних каталогах.
Роль MASTER FSMO ДД
Владелец роли MASTER FSMO RID — это единственный dc, отвечающий за обработку запросов пула RID со всех компьютеров в заданном домене. Он также отвечает за удаление объекта из домена и помещение его в другой домен во время перемещения объекта.
Когда DC создает объект- или группу, например пользователя или группу, он присоединяет к объекту уникальный ИД безопасности (SID). Этот SID состоит из:
- ИД безопасности домена, одинаковый для всех ИД безопасности, созданных в домене.
- Относительный ИД (RID), уникальный для каждого ИД безопасности, созданного в домене.
Каждому dc Windows в домене выделяется пул RID, который разрешено назначать создадамой им безопасности. Когда выделенный пул RID dc опускается ниже порогового значения, dc выдает запрос на дополнительные RID для хозяина RID домена. Мастер RID домена отвечает на запрос, запрашивая RID из неосвояемого пула RID домена и назначает их пулу запрашивающих DC. Для каждого домена в каталоге имеется один master RID.
Роль FSMO эмулятора PDC
Эмулятор PDC необходим для синхронизации времени на предприятии. Windows включает службу времени W32Time (Windows Time), которая требуется протоколом проверки подлинности Kerberos. Все компьютеры на базе Windows в организации используют общее время. Целью службы времени является обеспечение использования службой времени Windows иерархической связи, которая управляет полномочиями. Циклы не позволяют обеспечить надлежащее использование общего времени.
Эмулятор PDC домена является полномочного для домена. Эмулятор PDC в корне леса становится до полномочного для предприятия и должен быть настроен для сбора времени из внешнего источника. Все владельцы ролей PDC FSMO следуют иерархии доменов в выборе своего связанного партнера времени.
В домене Windows владелец роли эмулятора PDC сохраняет следующие функции:
- Изменения паролей, внесенные другими компьютерами в домене, реплицированы в эмулятор PDC.
- При сбоях проверки подлинности на заданном dc из-за неправильного пароля сбои перенаправляются в эмулятор PDC, прежде чем пользователю будет передано сообщение о неправильном пароле.
- Блокировка учетной записи обрабатывается в эмуляторе PDC.
- Эмулятор PDC выполняет все функции, которые PDC на основе сервера Windows NT 4.0 или более ранней PDC выполняет для клиентов на основе Windows NT 4.0 или более ранних.
Эта часть роли эмулятора PDC становится ненужной в следующих ситуациях:
Все рабочие станции, серверы-члены и контроллеры домена, работающие под управлением Windows NT 4.0 или более ранней версии, обновляются до Windows 2000.
Эмулятор PDC по-прежнему выполняет другие функции, как описано в среде Windows 2000.
Ниже описаны изменения, которые происходят в процессе обновления.
- Клиенты Windows (рабочие станции и серверы-члены) и клиенты более высокого уровня, которые установили пакет клиента распределенных служб, не выполняют записи в каталог (например, изменения паролей) на dc, который объявляет себя как PDC. Они используют любой dc для домена.
- После обновления резервных контроллеров доменов (BDC) в доменах верхнего уровня до Windows 2000 эмулятор PDC не получает запросов на реплику более высокого уровня.
- Клиенты Windows (рабочие станции и серверы-члены) и клиенты более высокого уровня, которые установили пакет клиента распределенных служб, используют Active Directory для поиска сетевых ресурсов. Для них не требуется служба Windows NT браузера.
Роль FSMO хозяина инфраструктуры
Когда на объект в одном домене ссылается другой объект в другом домене, он представляет ссылку с помощью:
- The GUID
- Sid (для ссылок на основные безопасную информацию)
- DN объекта, на который ссылается ссылка
Владелец роли FSMO инфраструктуры — это dc, отвечающий за обновление SID и различаемого имени объекта в междомеющей ссылке на объект.
Роль хозяина инфраструктуры (IM) должна быть удерживается dc, который не является сервером глобального каталога (GC). Если хозяин инфраструктуры работает на сервере глобального каталога, он перестанет обновлять сведения об объектах, так как он не содержит ссылок на объекты, которые он не содержит. Это потому, что сервер глобального каталога содержит частичную реплику каждого объекта в лесу. В результате меж доменные ссылки на объекты в этом домене не будут обновлены, и в журнал событий dc будет занося предупреждение об этом эффекте.
Если на всех DCS в домене также содержится глобальный каталог, все эти компьютеры имеют текущие данные. Не важно, какая dc содержит главную роль инфраструктуры.
Если необязательная функция корзины включена, каждая dc отвечает за обновление меж доменных ссылок на объекты при перемещении, переименовании или удалении объекта, на который ссылается ссылка. В этом случае задачи, связанные с ролью FSMO инфраструктуры, не связаны. И не важно, какой контроллер домена владеет ролью «Хозяин инфраструктуры». Дополнительные сведения см. в 6.1.5.5. Роль FSMO инфраструктуры.
Передача/захват ролей FSMO на другой контроллер домена Active Directory
В этой статье мы рассмотрим, как определить контроллеры домена с ролями FSMO в Active Directory, способы передачи одной или нескольких FSMO ролей другому контроллеру домена (дополнительному), а также способ принудительного захвата FSMO ролей в случае выхода из строя контроллера домена, которой является владельцем роли.
Для чего нужны FSMO роли в домене Active Directory?
Кратко попытаюсь напомнить для чего нужный роли FSMO (Flexible Single Master Operation, операции с одним исполнителем) в домене Active Directory.
Не секрет, что в Active Directory большинство стандартных операций (таких как заведение новых учетных записей пользователей, групп безопасности, добавление компьютера в домен) можно выполнять на любом контроллере домена. За распространение этих изменений по всему каталогу AD отвечает служба репликации AD. Различные конфликты (например, одновременное переименование пользователя на нескольких контроллерах домена) разрешаются по простому принципу — кто последний тот и прав. Однако есть ряд операций, при выполнении которых недопустимо наличие конфликта (например, при создании нового дочернего домена/леса, изменении схемы AD и т.д). Для выполнения операций, требующих обязательной уникальности нужны контроллеры домена с ролями FSMO. Основная задача ролей FSMO – не допустить конфликты такого рода
Всего в домене Active Directory может быть пять ролей FSMO.
Две уникальные роли для леса AD:
- Хозяин схемы (Schema master) – отвечает за внесение изменение в схему Active Directory, например, при расширении с помощью команды adprep /forestprep (для управления ролью нужны права “Schema admins”);
- Хозяин именования домена (Domain naming master) – обеспечивает уникальность имен для всех создаваемых доменов и разделов приложений в лесу AD (для управления нужны права “Enterprise admins”);
И три роли для каждого домена (для управления этими ролями ваша учетная запись должна состоять в группе “Domain Admins”):
- Эмулятор PDC (PDC emulator) – является основным обозревателем в сети Windows (Domain Master Browser – нужен для нормального отображения компьютеров в сетевом окружении); отслеживает блокировки пользователей при неправильно введенном пароле, является главным NTP сервером в домене, используется для совместимости с клиентами Windows 2000/NT, используется корневыми серверами DFS для обновления информации о пространстве имён;
- Хозяин инфраструктуры (Infrastructure Master) — отвечает за обновление в междоменных объектных ссылок, также на нем выполняется команда adprep /domainprep;.
- Хозяин RID (RID Master) —сервер раздает другим контроллерам домена идентификаторы RID (пачками по 500 штук) для создания уникальных идентификаторов объектов — SID.
Просмотр владельцев FSMO ролей в домене
Как определить какой контролер домена является хозяином/владельцем конкретной FSMO роли?
Чтобы найти всех владельцев FSMO ролей в домене AD, выполните команду:
netdom query fsmo
Можно просмотреть FSMO роли для другого домена:
netdom query fsmo /domain:contoso.com
В этом примере видно, что все FSMO роли расположены на контроллере домена DC01. При развертывании нового леса AD (домена), все FSMO роли помещаются на первый DC. Любой контроллер домена кроме RODC может быть хозяином любой FSMO роли. Соответственно, администратора домена может передать любую FSMO роль на любой другой контроллер домен.
Можно получить информацию о FSMO ролях в домене через PowerShell с помощью Get-ADDomainController (должен быть установлен модуль Active Directory для PowerShell из состава RSAT):
Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles |Where-Object
Или можно получить FSMO роли уровня леса и уровня домена так:
Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator
Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster
Общие рекомендации Microsoft по размещении FSMO ролей на контроллерах домена:
- Роли уровня леса (Schema master и Domain naming master) нужно расположить на контроллере корневого домена, который одновременно является сервером глобального каталога (Global Catalog);
- Все 3 доменные FSMO роли нужно разместить на одном DC с достаточной производительностью;
- Все DC в лесу должны быть серверами глобального каталога, т.к. это повышает надежность и производительность AD, при этом роль Infrastructure Master фактически не нужна. Если у вас в домене есть DC без роли Global Catalog, нужно поместить FSMO роль Infrastructure Master именно на него;
- Не размешайте другие задачи на DC, владельцах FSMO ролей.
В Active Directory вы можете передать FSMO роли несколькими способами: с помощью графических mmc оснасток AD, с помощью утилиты ntdsutil.exe или через PowerShell. О переносе ролей FSMO обычно задумываются при оптимизации инфраструктуры AD, при выводе из эксплуатации или поломке контроллера домена с ролью FSMO. Есть два способа передачи FSMO ролей: добровольный (когда оба DC доступны) или принудительный (когда DC с ролью FSMO недоступен/вышел из строя)
Передача FSMO ролей с помощью PowerShell
Самый простой и быстрый способ передачи FSMO ролей в домене – PowerShell командлет Move-ADDirectoryServerOperationMasterRole.
Вы можете передать на указанный DC одну или несколько FSMO ролей за раз. Следующая команда выполнит передачу двух ролей на DC02:
Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole PDCEmulator, RIDMaster
В аргументе OperationMasterRole можно указать как имя FSMO роли, так и ее индекс в соответствии с таблицей:
PDCEmulator | 0 |
RIDMaster | 1 |
InfrastructureMaster | 2 |
SchemaMaster | 3 |
DomainNamingMaster | 4 |
Предыдущая команда в более коротком виде выглядит так:
Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole 0,1
А чтобы передать сразу все FSMO роли на дополнительный контроллер домена, выполните:
Move-ADDirectoryServerOperationMasterRole -Identity dc03 -OperationMasterRole 0,1,2,3,4
Передача FSMO ролей из графических оснасток Active Directory
Для переноса FSMO ролей можно использовать стандартные графические оснастки Active Directory. Операцию переноса желательно выполнять на DC с FSMO ролью. Если же консоль сервера не доступна, необходимо выполнить команду Change Domain Controller и выбрать контроллер домена в mmc-оснастке.
Передача ролей RID Master, PDC Emulator и Infrastructure Master
Для передачи ролей уровня домена (RID, PDC, Infrastructure Master) используется стандартная консоль Active Directory Users and Computers (DSA.msc)
- Откройте консоль Active Directory Users and Computers;
- Щелкните правой кнопкой мыши по имени вашего домена и выберите пункт Operations Master;
- Перед вами появится окно с тремя вкладками (RID, PDC, Infrastructure), на каждой из которых можно передать соответствующую роль, указав нового владельца FSMO роли и нажав кнопку Change.
Передача роли Schema Master
Для переноса FSMO уровня леса Schema Master используется оснастка Active Directory Schema.
- Перед запуском оснастки нужно зарегистрировать библиотеку schmmgmt.dll, выполнив в командной строке команду: regsvr32 schmmgmt.dll
2. Откройте консоль MMC, набрав MMC в командной строке;
3. В меню выберите пункт File ->Add/Remove snap-in и добавьте консоль Active Directory Schema;
4. Щелкните правой кнопкой по корню консоли (Active Directory Schema) и выберите пункт Operations Master;
5. Введите имя контроллера, которому передается роль хозяина схемы, нажмите кнопку Change и OK. Если кнопка недоступна, проверьте что ваша учетная запись входит в группу Schema admins.
Передача FSMO роли Domain naming master
- Для передачи FSMO роли хозяина именования домена, откройте консоль управления доменами и доверием Active Directory Domains and Trusts;
- Щелкните правой кнопкой по имени вашего домена и выберите опцию Operations Master;
- Нажмите кнопку Change, укажите имя контроллера домена и нажмите OK.
Передача FSMO ролей из командной строки с помощью утилиты ntdsutil
- На контроллере домена откройте командную строку и введите команду: ntdsutil
- Наберите команду: roles
- Затем: connections
- Затем нужно подключиться к DC, на который вы хотите передать роль. Для этого наберите: connect to server
- Введите q и нажмите Enter.
- Для передачи FSMO роли используется команда: transfer role , где это роль которую вы хотите передать. Например: transfer schema master , transfer RID и т.д.
- Подтвердите перенос FSMO роли;
- После переноса ролей нажмите q и Enter, чтобы завершить работу с ntdsutil.exe;
- Перезагрузите контроллер домена.
Принудительный захват FSMO ролей Active Directory
Если DC с одной из FSMO ролью вышел из строя (и его не возможно восстановить), или недоступен длительное время, вы можете принудительно перехватить у него любую из FSMO ролей. Но при этом крайне важно убедиться, что сервер, у которого забрали FSMO роль никогда не должен появится в сети, если вы не хотите новых проблем с AD (даже если вы позднее восстановите DC из резервной копии). Если вы захотите вернуть потерянный сервер в домен, единственный правильный способ – удаление его из AD, чистая переустановка Windows под новым именем, установка роли ADDS и повышение сервера до контроллера домена
Вы можете принудительно захватить FSMO роли с помощью PowerShell или утилиты NTDSUtil.
Проще всего захватить FSMO роль через PowerShell. Для этого используется тот-же самый командлет Move-ADDirectoryServerOperationMasterRole, что и для переноса роли, но добавляется параметр –Force.
Например, чтобы захватить роль PDCEmulator и принудительно передать ее на DC02, выполните:
Move-ADDirectoryServerOperationMasterRole -Identity DC2 -OperationMasterRole PDCEmulator –Force
Также вы можете перенести роли FSMO на сервер DC02 с помощью утилиты ntdsutil. Процедура захвата роли через ntdsutil похожа на обычную передачу. Используйте следующие команды:
ntdsutil
roles
connections
connect to server DC02 (на этот сервер вы перенесете роль)
quit
Для захвата различных ролей FSMO используйте команды:
seize schema master
seize naming master
seize rid master
seize pdc
seize infrastructure master
quit