Перенос/замена контроллера домена

Доброго времени суток, господа)

Сегодня я расскажу Вам об одной достаточно распространенной проблеме,с которой сталкивается каждый админ, работающий с Windows серверных изданий, а точнее о путях ее решения. Проблема эта – замена контроллера домена или перенос его на другую машину.

Практически каждый администратор, работающий с серверами на базе Windows, рано или поздно сталкивается с необходимостью замены полностью устаревшего основного контроллера домена, дальше апгрейдить который больше не имеет смысла, на новый и более современный. Бывают ситуации и хуже – контроллер домена просто-напросто приходит в негодность из-за поломок на уровне железа, а резервные копии и образы устарели, или потерялись…

Далее будет приведена поэтапная инструкция по переносу/замене контроллера домена, которая была составлена при обобщении горького опыта автора . Ну, поехали…

Подготовка серверов к повышению/понижению роли.

В данном этапе мы просто запускаем на одном из серверов службу dcpromo, создаём контроллер домена в существующем домене (резервный контроллер). Проделываем соответствующие манипуляции и получаем развернутую службу каталогов AD (Active Directory) на нашем дополнительном сервере. Далее для удобства будем называть резервный контроллер rserv, а основной – oserv.

Далее  (если dcpromo сам не предложил) запускаем установку DNS сервера. Никаких настроек изменять не надо, зону создавать также не надо – она хранится в AD, и все записи автоматически реплицируются на резервный контроллер. Внимание – основная зона в DNS появится только после репликации, для ускорения которой сервер можно перезагрузить. В настройках TCP/IP сетевой карты резервного контроллера домена адресом первичного DNS сервера должен быть указан ip-адрес основного контроллер домена.

Далее для  проверки работоспособности нашего rserv можем создать пользака на одном из серверов и, если он через некоторое время вследствие репликации появится на другом сервере, значит все работает и мы молодцы)

Ну, вроде бы, исправную схему взаимодействия контроллеров мы создали.Но! есть еще такая штука, как роли FSMO, без передачи которых при отказе основного контроллера можно будет смело кричать: «Все пропало,шеф, все пропало!!!!»

Немного теории

Нужно знать, что контроллеры домена Active Directory исполняют несколько видов ролей. Эти роли называются FSMO (Flexible single-master operations):

- Schema Master (Хозяин схемы) – роль отвечает за возможность изменения схемы – например разворачивания Exchange server или ISA server. Если владелец роли будет недоступен – схему существующего домена вы изменить не сможете;

- Domain Naming Master (Хозяин операции именования доменов) – роль необходима в том случае, если в вашем доменном лесу есть несколько доменов или поддоменов. Без неё не получится создавать и удалять домены в едином доменном лесу;

- Relative ID Master (Хозяин относительных идентификаторов) – отвечает за создание уникального ID для каждого объекта AD;

- Primary Domain Controller Emulator (Эмулятор основного контроллера домена) – именно он отвечает за работу с учётными записями пользователей и политику безопасности. Отсутствие связи с ним позволяет входить на рабочие станции со старым паролем, который нельзя сменить, если контроллер домена «упал»;

- Infrastructure Master (Хозяин Инфраструктуры) – роль отвечает за передачу информации об объектах AD прочим контроллерам домена в рамках всего леса.

Об этих ролях достаточно подробно написано во многих базах знаний, но основную роль практически всегда забывают – это роль Global Catalog (Глобального Каталога). По сути, этот каталог просто запускает LDAP сервис на порту 3268, но именно его недоступность не позволит доменным пользователям входить в систему. Что примечательно – роль глобального каталога могут иметь все контроллеры домена одновременно.

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

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

dsquery server –hasfsmo schema

dsquery server – hasfsmo name

dsquery server – hasfsmo rid

dsquery server – hasfsmo pdc

dsquery server – hasfsmo infrdsquery server –forest -isgc

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

Вся информация, необходимая для передачи роли основного контроллера домена у нас есть. Для начала убеждаемся, что наша учётка входит в группы «Администраторы домена», «Администраторы схемы» и «Администраторы предприятия», а после приступаем к традиционному методу передачи ролей fsmo – управлению доменом через консоли Active Directory.

Для передачи роли “хозяина именования домена” выполняем следующие шаги:

- открываем «Active Directory Домены и Доверие» на том контроллере домена, с которого мы хотим передать роль. Если мы работаем с AD на том контроллере домена, которому мы хотим передать роль, то следующий пункт пропускаем;

- щёлкаем правой кнопкой мыши на значке Active Directory — домены и доверие и выбираем команду Подключение к контроллеру домена. Выбираем тот контроллер домена, которому хотим передать роль;

- щелкаем правой кнопкой мыши компонент Active Directory — домены и доверие и выбираем команду Хозяева операций;

- в диалоговом окне Изменение хозяина операций нажимаем кнопку Изменить.

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

Аналогично, при помощи консоли «Active Directory — пользователи и компьютеры» можно передать роли «хозяин RID», «основной контроллер домена» и «хозяин инфраструктуры».

Для передачи роли «хозяина схемы» необходимо предварительно зарегистрировать в системе библиотеку управления схемой Active Directory:

regsvr32 schmmgmt.dll

Далее в консоль mmc необходимо добавить оснастку «Схема Active Directory», в которой, аналогично предыдущим пунктам, можно изменить владельца роли.

После того как все роли переданы остаётся разобраться с оставшейся опцией – хранителем глобального каталога. Заходим в Active Directory: «Сайты и Службы», сайт по умолчанию, сервера, находим контроллер домена, ставший основным, и в свойствах его NTDS settings ставим галочку напротив global catalog.
Ну вот, мы поменяли хозяев ролей для нашего домена. Кому нужно окончательно избавиться от старого контроллера домена – понижаем его до рядового сервера. Однако простота проделанных действий окупается тем, что их выполнение в ряде ситуаций невозможно, или оканчивается ошибкой. В этих случаях нам поможет ntdsutil.exe.

Добровольная передача ролей FSMO при помощи консолей ntdsutil.exe.

На случай, если передача ролей fsmo при помощи консолей AD не удалась, Microsoft создал очень удобную утилиту – ntdsutil.exe – программа обслуживания каталога Active Directory. Этот инструмент позволяет выполнять чрезвычайно полезные действия – вплоть до восстановления всей базы данных AD из резервной копии, которую эта утилита сама создала во время последнего изменения в AD. Со всеми её возможностями можно ознакомиться в базе знаний Microsoft (Код статьи: 255504). В данном случае мы говорим о том, что утилита ntdsutil.exe позволяет как передавать роли, так и «отбирать» их.

Если мы хотим передать роль от существующего «основного» контроллера домена к «резервному» – мы заходим в систему на «основной» контроллер и начинаем передавать роли (команда transfer).

Если у нас по каким-то причинам отсутствует основной контролер домена, или мы не можем войти под административной учетной записью – мы входим в систему на резервный контроллер домена и начинаем «отбирать» роли (команда seize).

Итак первый случай – основной контроллер домена существует и функционирует нормально. Тогда мы заходим на основной контроллер домена и набираем следующие команды:

ntdsutil.exe

roles

connectionsconnect to server имя_сервера (того кому хотим отдать роль)q

Если выскакивают ошибки – нужно проверить связь с тем контроллером домена, к которому мы пытаемся подключиться. Если ошибок нет – значит мы успешно подключились к указанному контроллеру домена с правами того пользователя, от имени которого вводим команды.

Полный список команд доступен после запроса fsmo maintenance стандартным знаком ? . Пришла пора передавать роли. Я сходу, не задумываясь, решил передавать роли в том порядке, в каком они указаны в инструкции к ntdsutil и пришёл к тому, что не смог передать роль хозяина инфраструктуры. Мне, в ответ на запрос о передаче роли, возвращалась ошибка: «невозможно связаться с текущим владельцем роли fsmo». Я долго искал информацию в сети и обнаружил, что большинство людей дошедших до этапа передачи ролей сталкиваются с этой ошибкой. Часть из них пытается отобрать эту роль принудительно (не выходит), часть оставляет всё как есть – и благополучно живёт без этой роли.

Я же путём проб и ошибок выяснил, что при передаче ролей в данном порядке гарантируется корректное завершение всех шагов:

- хозяин идентификаторов;- хозяин схемы;- хозяин именования;- хозяин инфраструктуры;- контроллер домена;

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

- transfer domain naming master- transfer infrastructure master- transfer rid master- transfer schema master- transfer pdc master

После выполнения каждой команды должен выходить запрос о том – действительно ли мы хотим передать указанную роль указанному серверу.Роль хранителя глобального каталога передаётся способом, описанным в предыдущем разделе.

Принудительное присваивание ролей FSMO при помощи ntdsutil.exe.

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

seize naming masterseize infrastructure masterseize rid masterseize schema masterseize pdc


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

Ну, вот так мы общими усилиями перенесли контроллер) Единственное НО – после всего этого, как правило, приходится еще исправлять кое-какие нюансы ( изменить адрес DNS сервера, синхронизировать время, настроить архтвацию глобального каталога и т.д.), но это уже совсем другая история…

Вооооооооот…

Специально для Берлоги ;-)

Вы можете оставить отзыв, или трекбек со своего сайта.

Есть 3 коммент. на “Перенос/замена контроллера домена”

  1. Спасибо мне очень помогло

  2. Петр:

    БЛя все сука умные хуй кто нормально распишет как перенести домен!!!

Оставьте отзыв