Одной из стратегических целей, которую преследует Microsoft в своих последних продуктах – виртуализация всего, что только возможно, что является естественным требованиям для тотальной миграции в облака. Специально для этого, в новых версиях Hyper-V и Active Directory, которые выходят в составе новой серверной ОС Windows Server 2012, был введен ряд существенных улучшений и дополнений. Например, Microsoft сообщает о том, что теперь в виртуальной машине Hyper-V можно запускать даже высоконагруженные сервера SQL. Кроме того Microsoft наконец-то реализовало возможность создавать полноценные виртуальные контроллеры домена.
Если вы помните, в Windows Server 2008 R2 существовали следующие проблемы с виртуализацией контроллеров домена Active Directory:
- Нельзя создавать снапшот виртуального контроллера домена (если быть боле точным снапшот создать можно, но смысла это не имеет)
- Виртуальный DC нельзя клонировать
- Невозможна онлайн миграция V2V контроллера также
- Восстановление виртуального DC средствами гипервизора невозможно
- Для работы кластера Windows Server 2008 R2 требуется физический контроллер домена
Большинство из этих проблем связано с работой механизма USN (update sequence numbers). Вкратце напомним, в чем же была загвоздка. Для отслеживания обновлений между партнерами по репликации в лесу Active Directory используются идентификаторы USN. С помощью USN и ID вызова любой контроллер домена однозначно определяет, когда нужно принять и применить изменения в AD от партнеров по репликации, а когда переслать свои изменения. С помощью этого механизма обеспечивается непротиворечивость и актуальность базы AD.
В том случае если создать снапшот виртуального контроллера домена, а потом восстановить сервер из него, то мы получим контроллер домена с устаревшим USN. В результате, изменения на таком контроллере не реплицируются на другие сервера в лесу, т.к. партнеры по репликации считают, что их копия базы Active Directory актуальна. В итого это может привести к проблемам несоответствия паролей, противоречивым значениям атрибутов и т.д.
В Windows Server 2012 контролеры домена теперь можно виртуализовать и работать с ними точно также, как с любой другой виртуальной машиной (можно делать снапшоты, клонировать DC и т.д.).
Данный функционал основывается на новой функции в Windows Server 2012 под названием VM-GenerationID. На данный момент эта функция поддерживается только в гипервизоре Hyper-V, но Microsoft рекомендует и другим производителям платформ виртуализации интегрировать данную функцию (в частности VMware уже заявила о поддержке технологии в следующей версии VSphere).
VM-Generation ID является функцией гипервизора и генерируется им при клонировании и или создании снапшота контроллера домена. VM-Generation ID представляет собой уникальный 128 битный идентификатор, который доступен приложениям через драйвер Windows Server 2012. Контроллер домена хранит значение VM-Generation ID в нереплицируемом атрибуте базы Active Directory. И перед применением изменений в базу Active Directory, контроллер домена сравнивает значение VM-Generation ID в своей базе AD со значением, полученным от гипервизора через драйвер Windows Server 2012. Если значения отличаются, осуществляется сброс параметров invocation ID и аннулирование RID. Таким образом контроллер домена определяет, что применен снапшот или контроллер домена клонирован, и актуализирует свою базу в соответствии с другими контроллерами домена AD.
Как клонировать виртуальный контроллер домена
Подготовка к клонированию DC
- Требуется сервер Windows Server 2012 с ролью Hyper-V (вероятно, в будущем и другие гипервизоры будут поддерживать VM-GenerationID)
- Установленный контроллер домена на Windows Server 2012 (физический или виртуальный) с ролью PDC. Найти сервер с ролью PDC можно с помощью команды:
Get-ADComputer (Get-ADDomainController –Discover –Service “PrimaryDC”).name –Property operatingsystemversion | fl
- Виртуальный контроллер домена с ОС Windows Server 2012 (не PDC), развернутый на сервере Windows Server 2012 Hyper-V server. Это тот самый контроллер домена.. который мы будем клонировать (пусть он будет называться VirtualDC1).
Чтобы контроллер домена можно было клонировать, его нужно добавить в группу Cloneable Domain Controllers. Сделать это можно с помощью консоли Active Directory Users and Computers, панели управления Active Directory Administrative Center или же команды PowerShell.
Команда PowerShell будет выглядеть так:
Add-ADGroupMember –Identity “CN=Cloneable Domain Controllers,CN=Users, DC=winitpro,DC=ru” –Member “CN=VirtualDC1,OU=Domain Controllers,DC=winitpro,DC=ru”
На исходном контролере домена (VirtualDC1) запустим команду New-ADDCCloneConfigFile , с помощью которой настраиваются IP адрес и имя нового виртуального контролера домена (клона). Пусть это будет VirtualDC2.
New-ADDCCloneConfigFile –Static -IPv4Address “10.2.2.2” -IPv4DNSResolver “10.2.2.1” -IPv4SubnetMask “255.255.0.0” -CloneComputerName “VirtualDC2” -IPv4DefaultGateway “10.2.0.1” -SiteName “Default-First-Site-Name”
Примечание: в данном случае новый контроллер домена будет находится в этом же сайте. Более подробно о других параметрах клонирования можно прочитать на TechNet-е ).
После этого из графического GUI Hyper-V Manager запускаем импорт виртуальной машины, выбрав в качестве параметра опцию Copy the virtual machine (create a new unique ID).
После окончания импорта переименуем виртуальную машину в VirtualDC2 и запустим ее. После ее загрузка запуститься процедура клонирования и через несколько мгновений в вашей сети появится новый виртуальный контроллер домена.
А что делать если на исходном DC при запуске New-ADDCCloneConfigFile выдаёт надпись:
WARNING: The cmdlet is running in local mode because the -Offline cmdlet flag was not specified. However, the local
machine is either not a domain controller or the directory service is currently unavailable. To run the cmdlet in local
mode, please run it directly on the domain controller you intend to use as the cloning source machine. Otherwise,
please specify the -Offline cmdlet flag to run the cmdlet in offline mode.
И больше ничего не происходит
В тексте ошибки говорится о том что, Вы запустили команду не на контроллере донена, либо служба каталогов недоступна..
А КАК ТАКОЕ ПРОВЕРНУТЬ ЕСЛИ КОНТРОЛЛЕР ДОМЕНА WINDOWS SERVER 2012 НО ЖИВЁТ НА ГИПЕРВИЗОРЕ EXSI 5.1 ?
добрый день. А почему у многих статей дата стала 2019 год хотя они явно старее?
В заголовке дата последней модификации в посте. Некоторые посты периодически актуализируются, убирается мусор, битые ссылки.
Здравствуйте. Это актуально для server 2016? Есть HV server на нем есть один КД на виртуальной машине. Как правильно(!) делать его бекап ?? Подскажите, пожалуйста.
Клонирование резервное копирование. Лучше посмотрите в сторону инструкции по резервному копированию контроллеров домена https://winitpro.ru/index.php/2019/10/10/nastraivaem-backup-active-directory/ (это бэкап изнутри)
Можно бэкапить снаружы, большинство средств резервного копирования для hyper-v корректно позволяют забекапить DC. Можно использовать veeam, там в бесплатной редакции можно бэкапить до 10 ВМ.