Развертывание и настройка виртуализированного контроллера домена

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

В этой статье рассматриваются следующие вопросы.

Рекомендации по установке

Для виртуализированных контроллеров домена не требуется установка специального компонента или роли; все контроллеры домена автоматически получают возможности клонирования и безопасного восстановления. Вы не можете удалить или отключить эти возможности.

Для использования контроллеров домена Windows Server 2012 требуется схема доменных служб Active Directory версии 56 или выше Windows Server 2012, а также режим работы леса, соответствующий основному режиму Windows Server 2003 или выше.

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

Внимание

Во время начала клонирования владелец роли FSMO эмулятора PDC должен работать.

Требования к платформе

Виртуализированный контроллер домен предъявляет следующие требования:

  • Роль FSMO эмулятора PDC размещается на контроллере домена Windows Server 2012

  • Эмулятор PDC доступен во время выполнения операций клонирования

Как клонирование, так и безопасное восстановление предъявляет следующие требования:

  • Виртуализированные гости Windows Server 2012

  • Платформа узла виртуализации, поддерживающая ИД создания виртуальной машины (VMGID)

Просмотрите приведенную ниже таблицу с продуктами виртуализации, чтобы узнать, поддерживают ли они виртуализированные контроллеры домена и ИД создания виртуальной машины.

Продукт виртуализации Поддерживает виртуализированные контроллеры домена и VMGID
Сервер Microsoft Windows Server 2012 с функцией Hyper-V Да
Microsoft Windows Server 2012 Hyper-V Server Да
Microsoft Windows 8 с компонентом клиента Hyper-V Да
Windows Server 2008 R2 и Windows Server 2008 No
Решения виртуализации, отличные от Майкрософт Обратитесь к поставщику

Несмотря на то, что Корпорация Майкрософт поддерживает виртуальный компьютер Windows 7, виртуальный компьютер 2007, виртуальный компьютер 2004 и Виртуальный сервер 2005, они не могут запускать 64-разрядные гости и не поддерживают vm-GenerationID.

Чтобы получить справку по сторонним продуктам виртуализации и узнать, поддерживают ли они виртуализированные контроллеры домена, обратитесь непосредственно к их поставщику.

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

Важные замечания

Виртуализированные контроллеры домена не поддерживают безопасное восстановление следующих элементов:

  • Файлы VHD и VHDX, вручную скопированные поверх существующих файлов VHD.

  • Файлы VHD и VHDX, восстановленные с помощью программного обеспечения резервного копирования файлов или целых дисков.

Примечание.

Файлы VHDX появились Windows Server 2012 Hyper-V впервые.

Ни один из этих операций не рассматривается в семантике VM-GenerationID и поэтому не изменяет идентификатор создания виртуальной машины. Восстановление контроллеров домена с помощью этих методов может привести как к откату номера последовательного обновления, так и к карантину домена либо к появлению устаревших объектов и потребности выполнения очистки на уровне леса.

Предупреждение

Безопасное восстановление виртуализированного контроллера домена не является заменой резервных копий состояния системы и корзины доменных служб Active Directory.

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

Дополнительные сведения о нарушениях последовательности в номерах последовательного обновления и устаревших объектах см. в разделе Устранение неполадок с операциями Active Directory, завершающимися с ошибкой 8606: «Задано недостаточно атрибутов для создания объекта».

Клонирование виртуализированного контроллера домена

Клонирование виртуализированного контроллера домена при использовании как графических средств, так и Windows PowerShell состоит из нескольких этапов. При наиболее общем рассмотрении можно выделить три этапа:

Подготовка среды

  • Шаг 1. Проверка поддержки ИД создания виртуальной машины и клонирования гипервизором.

  • Шаг 2. Убедитесь, что роль эмулятора PDC размещается контроллером домена, который запускает Windows Server 2012, и что он подключен клонированного контроллера домена во время клонирования.

Подготовка исходного контроллера домена

  • Шаг 3. Авторизация исходного контроллера домена для клонирования.

  • Шаг 4. Удаление несовместимых служб или программ либо их добавление в файл CustomDCCloneAllowList.xml.

  • Шаг 5. Создание файла DCCloneConfig.xml.

  • Шаг 6. Перевод исходного контроллера домена в автономный режим.

Создание клонированного контроллера домена

  • Шаг 7. Копирование или экспорт исходной виртуальной машины и добавление XML, если это еще не сделано.

  • Шаг 8. Создание новой виртуальной машины из копии.

  • Шаг 9. Запуск новой виртуальной машины для начала клонирования.

Процедура выполнения операции при использовании графических средств, таких как консоль управления Hyper-V, и программ командной строки, таких как Windows PowerShell, не различается, поэтому шаги перечислены всего один раз для обоих интерфейсов. В этом разделе приведены примеры Windows PowerShell для изучения комплексной автоматизации процесса клонирования; Они не требуются для каких-либо действий. В состав Windows Server 2012 не включено никаких графических средств управления для визуализированных контроллеров домена.

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

На следующей схеме показан процесс клонирования виртуализированного контроллера домена, при котором домен уже существует.

Diagram that illustrates the virtualized domain controller cloning process, where the domain already exists.

Шаг 1. Проверка низкоуровневой оболочки

Изучите документацию поставщика, чтобы убедиться, что исходный контроллер домена выполняется в поддерживаемой низкоуровневой оболочке. Виртуализированные контроллеры домена не зависят от гипервизора и не требуют Hyper-V.

Если гипервизор является Microsoft Hyper-V, убедитесь, что он работает в Windows Server 2012. Это можно проверить с помощью диспетчера устройств.

Откройте Devmgmt.msc и просмотрите раздел Системные устройства на наличие установленных драйверов и устройств Microsoft Hyper-V. Для виртуализированного контроллера домена требуется системное устройство Microsoft Hyper-V Generation Counter (драйвер: vmgencounter.sys).

Screenshot that shows the details for the Microsoft Hyper-V Generation Counter.

Шаг 2. Проверка роли PDCE FSMO

Прежде чем пытаться клонировать контроллер домена, вам следует убедиться, что контроллер домена, где размещается эмулятор основного контроллера домена FSMO, работает под управлением Windows Server 2012. Эмулятор PDC (PDCE) необходим по нескольким причинам:

  1. PDCE создает специальную группу Клонируемые контроллеры домена и задает для нее разрешение корня, чтобы позволить контроллеру домена клонировать самого себя.

  2. Клонирующий контроллер домена обращается к PDCE напрямую, используя протокол RPC DRSUAPI, чтобы создать объекты-компьютеры для клонированного контроллера домена.

    Примечание.

    Windows Server 2012 расширяет возможности имеющегося удаленного протокола (UUID E3514235-4B06-11D1-AB04-00C04FC2DCD2) службы репликации каталогов (DRS), включая в него новый метод удаленного вызова процедур (RPC) IDL_DRSAddCloneDC (Opnum 28). Метод IDL_DRSAddCloneDC создает новый объект контроллера домена, копируя атрибуты из имеющегося объекта контролера домена.

    Состояния контроллера домена включают объекты компьютера, серверы параметры NTDS, FRS, DFSR и подключение, сохраняемые для каждого контроллера домена. При дублировании объекта этот метод RPC заменяет все ссылки на исходный контроллер домена соответствующими объектами нового контроллера домена. Вызывающий объект должен иметь право управления доступом DS-Clone-Domain-Controller в контексте именования доменов.

    Для использования этого нового метода вызывающий объект всегда должен иметь прямой доступ к эмулятору PDC контроллера домена.

    Поскольку это новый метод, вашему программному обеспечению анализа сети требуются обновленные средства синтаксического анализа, чтобы включить поля для нового Opnum 28 в существующий UUID E3514235-4B06-11D1-AB04-00C04FC2DCD2. В противном случае невозможно проанализировать этот трафик.

    Дополнительные сведения см. в разделе 4.1.29 IDL_DRSAddCloneDC (Opnum 28).

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

Внимание

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

Метод для Пользователей и компьютеров Active Directory

  1. Используя оснастку Dsa.msc, щелкните правой кнопкой мыши домен и выберите пункт Хозяева операций. Запомните контроллер домена, указанный на вкладке PDC, и закройте диалоговое окно.

  2. Щелкните объект-компьютер этого контроллера домена правой кнопкой мыши и выберите пункт Свойства, а затем проверьте информацию об операционной системе.

Метод для Windows PowerShell

Вы можете совместить следующие командлеты модуля Windows PowerShell Active Directory, чтобы возвратить версию эмулятора PDC:

Get-adddomaincontroller
Get-adcomputer

Если домен не указан, эти командлеты используют домен того компьютера, где они запущены.

Следующая команда возвращает сведения о PDCE и операционной системе:

get-adcomputer(Get-ADDomainController -Discover -Service "PrimaryDC").name -property * | format-list dnshostname,operatingsystem,operatingsystemversion

Приведенный ниже пример показывает задание имени домена и фильтрацию возвращенных свойств перед конвейером Windows PowerShell:

Screenshot of a terminal window that demonstrates specifying the domain name and filtering the returned properties before the Windows PowerShell pipeline.

Шаг 3. Авторизация исходного контроллера домена

Исходный контроллер домена должен иметь право управления доступом Разрешить контроллеру домена клонировать себя в заголовке контекста именования домена. По умолчанию известная группа Клонируемые контроллеры домена имеет такое разрешение и не содержит членов. PDCE создает эту группу, когда роль переносится FSMO на контроллер домена Windows Server 2012.

Метод для центра администрирования Active Directory

  1. Запустите Dsac.exe и перейдите к исходному контроллеру домена, а затем откройте страницу сведений о нем.

  2. В разделе Член групп добавьте группу Клонируемые контроллеры домена для этого домена.

Метод для Windows PowerShell

Вы можете совместить следующие командлеты модуля Windows PowerShell Active Directory get-adcomputer и add-adgroupmember, чтобы добавить контроллер домена в группу Клонируемые контроллеры домена:

Get-adcomputer <dc name> | %{add-adgroupmember "cloneable domain controllers" $_.samaccountname}

Например, эта команда добавляет DC1 сервера в группу, не требуя указывать различающееся имя члена группы:

Screenshot of a terminal window that shows the command for adding a server to a group

Повторное создание разрешений по умолчанию

Если удалить разрешение из заголовка домена, клонирование завершается с ошибкой. Вы можете воссоздать разрешение с помощью центра администрирования Active Directory или Windows PowerShell.

Метод для центра администрирования Active Directory
  1. Откройте Центр администрирования Active Directory, щелкните заголовок домена правой кнопкой мыши, выберите Свойства, откройте вкладку Расширения, щелкните Безопасность и Дополнительно. Щелкните только для этого объекта.

  2. Щелкните Добавить, в поле Введите имена выбираемых объектов введите имя группы Клонируемые контроллеры домена.

  3. В области "Разрешения" щелкните Разрешить контроллеру домена клонировать себя и нажмите кнопку ОК.

Примечание.

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

Метод для Windows PowerShell

Используйте следующие команды в командной строке консоли Windows PowerShell для администратора с повышенными правами. Эти команды определяют имя домена и добавляют разрешения по умолчанию:

import-module activedirectory
cd ad:
$domainNC = get-addomain
$dcgroup = get-adgroup "Cloneable Domain Controllers"
$sid1 = (get-adgroup $dcgroup).sid
$acl = get-acl $domainNC
$objectguid = new-object Guid 3e0f7e18-2c7a-4c10-ba82-4d926db99a3e
$ace1 = new-object System.DirectoryServices.ActiveDirectoryAccessRule $sid1,"ExtendedRight","Allow",$objectguid
$acl.AddAccessRule($ace1)
set-acl -aclobject $acl $domainNC
cd c:

Кроме того, запустите образец FixVDCPermissions.ps1 в консоли Windows PowerShell, при этом консоль должна запускаться для администратора с повышенными правами на контроллере домена в требуемом домене. Он устанавливает разрешения автоматически. Этот пример находится в приложении данного модуля.

Шаг 4. Удаление несовместимых приложений или служб (если не используется CustomDCCloneAllowList.xml)

Любые программы или службы, которые были возвращены Get-ADDCCloningExcludedApplicationList и не были добавлены в CustomDCCloneAllowList.xml, перед копированием необходимо удалить. Рекомендуется удалить приложение или службу.

Предупреждение

Любые несовместимые программы или службы, которые не были удалены или добавлены в CustomDCCloneAllowList.xml, препятствуют выполнению клонирования.

Используйте командлет Get-AdComputerServiceAccount, чтобы определить, имеются ли в домене автономные управляемые учетные записи службы и использует ли какую-либо из них данный компьютер. При наличии установленных управляемых учетных записей службы используйте командлет Uninstall-ADServiceAccount для удаления локально установленной учетной записи службы. После завершения работы с контроллером исходного домена в автономном режиме на шаге 6 вы можете повторно добавить MSA с помощью Install-ADServiceAccount, когда сервер снова подключен к сети. Дополнительные сведения см. в разделе Uninstall-ADServiceAccount.

Внимание

Автономные управляемые учетные записи службы, которые впервые появились в Windows Server 2008 R2, в Windows Server 2012 были заменены на групповые управляемые учетные записи службы. Групповые управляемые учетные записи службы поддерживают клонирование.

Шаг 5. Создание DCCloneConfig.xml

Файл DcCloneConfig.xml требуется для клонирования контроллеров домена. Его содержимое позволяет указать уникальные сведения, такие как имя и IP-адрес нового компьютера.

Файл CustomDCCloneAllowList.xml необязателен к использованию, если только вы не устанавливаете приложения и потенциально несовместимые службы Windows на исходном контроллере домена. Для этих файлов требуется в точности соблюдать правила именования, форматирования и размещения, в противном случае клонирование завершится со сбоем.

Поэтому вам всегда следует создавать файлы XML с помощью командлетов Windows PowerShell и помещать их в правильное расположение.

Создание с помощью New-ADDCCloneConfigFile

Модуль Windows PowerShell Active Directory в Windows Server 2012 содержит новый командлет:

New-ADDCCloneConfigFile

Вы запускаете этот командлет на исходном контроллере домена, который хотите клонировать. Командлет поддерживает несколько аргументов и при использовании, всегда проверяет компьютер и среду, где она выполняется, если не указать аргумент -offline.

ActiveDirectory

Командлет

Аргументы Описание
New-ADDCCloneConfigFile <аргумент не указан> Создает пустой файл DcCloneConfig.xml в рабочем каталоге DSA (расположение по умолчанию: %systemroot%\ntds).
-CloneComputerName Указывает имя компьютера клонированного контроллера домена. Строковый тип данных.
-Path Указывает папку для создания DcCloneConfig.xml. Если значение не задано, выполняет запись в рабочий каталог DSA (расположение по умолчанию: %systemroot%\ntds). Строковый тип данных.
-SiteName Указывает имя логического сайта Active Directory для присоединения во время создания учетной записи клонированного компьютера. Строковый тип данных.
-IPv4Address Указывает статический IPv4-адрес клонированного компьютера. Строковый тип данных.
-IPv4SubnetMask Указывает маску подсети для статического IPv4-адреса клонированного компьютера. Строковый тип данных.
-IPv4DefaultGateway Указывает адрес шлюза по умолчанию для статического IPv4-адреса клонированного компьютера. Строковый тип данных.
-IPv4DNSResolver Указывает DNS-записи для статического IPv4-адреса клонированного компьютера в виде списка с разделителями-запятыми. Тип данных — массив. Можно задать до четырех записей.
-PreferredWINSServer Указывает статический IPv4-адрес основного WINS-сервера. Строковый тип данных.
-AlternateWINSServer Указывает статический IPv4-адрес дополнительного WINS-сервера. Строковый тип данных.
-IPv6DNSResolver Указывает DNS-записи для статического IPv6-адреса клонированного компьютера в виде списка с разделителями-запятыми. Не существует способа указать статическую информацию Ipv6-адреса при клонировании виртуализированного контроллера домена. Тип данных — массив.
-Offline Не выполняет проверочные тесты и перезаписывает любой имеющийся файл dccloneconfig.xml. Не имеет параметров.
-Статический Требуется при указании аргументов статического IP-адреса IPv4SubnetMask, IPv4SubnetMask или IPv4DefaultGateway. Не имеет параметров.

Тесты, выполняемые при работе в :

  • Эмулятор PDC работает в Windows Server 2012 или более поздней версии

  • Исходный контроллер домена является членом группы "Клонируемые контроллеры домена"

  • Исходный контроллер домена не содержит никаких исключенных приложений или служб

  • Исходный контроллер домена уже не содержит файл DcCloneConfig.xml по указанному пути

Screenshot of a terminal window that shows the tests that are run.

Шаг 6. Перевод исходного контроллера домена в автономный режим

Вы не можете скопировать работающий исходный контроллер домена; оно должно быть корректно завершено. Не клонируйте контроллер домена, остановленный безнамерной потерей питания.

Графический метод

Используйте кнопку завершения работы в выполняемом контроллере домена или кнопку завершения работы в диспетчере Hyper-V.

Screenshot that shows the Shut down button within the running DC.

Screenshot that shows the Hyper-V Manager Shut Down button.

Метод для Windows PowerShell

Вы можете завершить работу виртуальной машины с помощью одного из следующих командлетов:

Stop-computer
Stop-vm

Stop-computer — это командлет, поддерживающий завершение работы компьютеров без учета виртуализации, он аналогичен устаревшей служебной программе Shutdown.exe. Stop-vm — это новый командлет в модуле Windows PowerShell Windows Server 2012 Hyper-V, который по возможностям аналогичен диспетчеру Hyper-V. Второй командлет удобно использовать в лабораторных средах, где контроллер домена часто работает в частной виртуализированной сети.

Screenshot of a terminal window that shows how to use the stop-computer cmdlet.

Screenshot of a terminal window that shows how to use the stop-vm cmdlet.

Шаг 7. Копирование дисков

На этапе копирование необходимо принять решение административного характера:

  • Копирование дисков вручную без использования Hyper-V

  • Экспорт виртуальной машины с помощью Hyper-V

  • Экспорт объединенных дисков с помощью Hyper-V

Необходимо скопировать все диски виртуальной машины, а не только системный диск. Если исходный контроллер домена использует разностные диски и вы планируете переместить клонированный контроллер домена на другой узел Hyper-V, необходимо выполнить экспорт.

Рекомендуется копировать диски вручную, если исходный контроллер домена имеет только один диск. Экспорт/импорт рекомендуется для виртуальных машин с несколькими дисками или другими сложными настройками виртуализированного оборудования, например несколькими сетевыми картами.

Перед началом ручного копирования файлов удалите все моментальные снимки. При экспорте виртуальной машины удалите моментальные снимки перед экспортом или уже после него из новой виртуальной машины.

Предупреждение

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

Копирование дисков вручную

Метод для диспетчера Hyper-V

Используйте оснастку диспетчера Hyper-V, чтобы определить, какие диски сопоставлены с данным исходным контроллером домена. Используйте параметр "Проверить", чтобы проверить, использует ли контроллер домена разностные диски (что также требует копирования родительского диска).

Screenshot that shows how to use the Inspect option.

Чтобы удалить моментальные снимки, выберите виртуальную машину и удалите поддерево снимков.

Screenshot that shows how to delete a snapshot.

После этого вы можете вручную скопировать файлы VHD или VHDX с помощью проводника, Xcopy.exe или Robocopy.exe. Никакие специальные действия при этом не требуются. Рекомендуется изменить имена файлов даже при переходе в другую папку.

Примечание.

Если копирование осуществляется между главными компьютерами по локальной сети (со скоростью 1 Гбит/с или выше), параметр Xcopy.exe /J позволяет копировать файлы VHD/VHDX значительно быстрее, чем в любом другом средстве, за счет существенно более интенсивного использования пропускной способности.

Метод для Windows PowerShell

Чтобы определить диски с помощью Windows PowerShell, используйте модули Hyper-V:

Get-vmidecontroller
Get-vmscsicontroller
Get-vmfibrechannelhba
Get-vmharddiskdrive

Например, вы можете возвратить все жесткие диски IDE из виртуальной машины с именем DC2 с помощью следующего примера:

Screenshot that shows how to return all IDE hard drives from a VM named DC2.

Если путь к диску указывает на ФАЙЛ AVHD или AVHDX, это моментальный снимок. Чтобы удалить сопоставленные с диском моментальные снимки и объединить все в реальный файл VHD или VHDX, используйте следующие командлеты:

Get-VMSnapshot
Remove-VMSnapshot

Например, чтобы удалить все снимки из виртуальной машины с именем DC2-SOURCECLONE, используйте следующее:

Screenshot that shows how to delete all snapshots from a VM named DC2-SOURCECLONE.

Чтобы скопировать файлы с помощью Windows PowerShell, используйте следующий командлет:

Copy-Item

Совместите с командлетами виртуальной машины в конвейерах, чтобы упростить автоматизацию. Конвейер — это канал, используемый несколькими командлетами для обмена данными. Например, чтобы скопировать диск автономного исходного контроллера домена с именем DC2-SOURCECLONE на новый диск c:\temp\copy.vhd, не зная точный путь к системному диску, используйте следующее:

Get-VMIdeController dc2-sourceclone | Get-VMHardDiskDrive | select-Object {copy-item -path $_.path -destination c:\temp\copy.vhd}

Screenshot that shows to copy the drive of an offline source domain controller named DC2-SOURCECLONE to a new disk called c:\temp\copy.vhd without the need to know the exact path to its system drive.

Внимание

Не удается использовать диски passthru с клонированием, так как они не используют файл виртуального диска, а фактический жесткий диск.

Примечание.

Дополнительные сведения о других операциях Windows PowerShell с конвейерами см. в разделе Конвейерная передача и конвейер в Windows PowerShell.

Экспорт виртуальной машины

В качестве альтернативы копированию дисков вы можете экспортировать всю виртуальную машину Hyper-V в виде копии. При экспорте автоматически создается папка с именем для этой виртуальной машины, содержащая все диски и сведения о конфигурации.

Screenshot that shows where you can export the entire Hyper-V VM as a copy.

Метод для диспетчера Hyper-V

Порядок экспорта виртуальной машины с помощью диспетчера Hyper-V:

  1. Щелкните исходный контроллер домена правой кнопкой мыши и выберите пункт Экспорт.

  2. Выберите существующую папку в качестве контейнера экспорта.

  3. Дождитесь, пока в столбце "Состояние" не пропадет слово Экспорт.

Метод для Windows PowerShell

Чтобы экспортировать виртуальную машину с помощью модуля Windows PowerShell Hyper-V, используйте командлет:

Export-vm

Например, для экспорта виртуальной машины с именем DC2-SOURCECLONE в папку C:\VM:

Screenshot that shows how to export a VM named DC2-SOURCECLONE to a folder named C:\VM.

Примечание.

Windows Server 2012 Hyper-V поддерживает новые возможности импорта и экспорта, выходящие за рамки данного материала. Дополнительные сведения см. в статьях на сайте TechNet.

Экспорт объединенных дисков с помощью Hyper-V

Последний вариант — использовать параметры слияния и преобразования разделов внутри Hyper-V. Это позволяет создать копию имеющейся структуры диска — даже при включении в нее файлов моментальных снимков AVHD/AVHDX — в виде одного нового диска. Как и сценарий ручного копирования дисков, этот способ предназначен в основном для простых виртуальных машин, имеющих один диск, например диск C:\. Единственное его преимущество по сравнению с ручным копированием заключается в том, что вам не нужно предварительно удалять моментальные снимки. Данная операция неизбежно будет выполняться дольше простого удаления снимков и копирования дисков.

Метод для диспетчера Hyper-V

Порядок создания объединенного диска с использованием диспетчера Hyper-V:

  1. Нажмите кнопку "Изменить диск".

  2. Найдите дочерний диск самого нижнего уровня. Например, если вы используете разностный диск, дочерний диск является самым низким дочерним. Если виртуальная машина содержит моментальный снимок (или несколько таких снимков), дочерним диском нижнего уровня является выбранный в данный момент моментальный снимок.

  3. Выберите параметр Объединить, чтобы создать отдельный диск из всей структуры родительских и дочерних элементов.

  4. Выберите новый виртуальный жесткий диск и укажите путь. При этом имеющиеся файлы VHD/VHDX комбинируются в новый отдельный портативный блок, который не подвержен риску восстановления предыдущих снимков.

Метод для Windows PowerShell

Чтобы создать объединенный диск из комплексного набора родительских элементов с помощью модуля Windows PowerShell Hyper-V, используйте командлет:

Convert-vm

Например, для экспорта всей цепочки снимков дисков виртуальной машины (на этот раз без разностных дисков) и родительского диска в новый отдельный диск с именем DC4-CLONED.VHDX используйте следующее:

Screenshot of a terminal window that shows how to export the entire chain of a VM's disk snapshots and parent disk into a new single disk named DC4-CLONED.VHDX

Добавление XML в автономный системный диск

Если вы скопировали Dccloneconfig.xml на работающий исходный контроллер домена, теперь необходимо скопировать обновленный файл dccloneconfig.xml на автономный скопированный/экспортированный системный диск. В зависимости от того, какие приложения ранее обнаружил Get-ADDCCloningExcludedApplicationList, вам также может потребоваться скопировать на этот диск файл CustomDCCloneAllowList.xml.

Файл DcCloneConfig.xml может находиться в следующих расположениях:

  1. Рабочая папка DSA

  2. %windir%\NTDS

  3. Съемные носители с возможностью чтения и записи в порядке букв дисков; в корне диска

Эти пути не настраивается. После начала клонирования соответствующая операция проверяет эти расположения в указанном порядке и использует первый найденный файл DcCloneConfig.xml независимо от содержимого других папок.

Файл CustomDCCloneAllowList.xml может находиться в следующих расположениях:

  1. HKey_Local_Machine\System\CurrentControlSet\Services\NTDS\Parameters

    AllowListFolder (REG_SZ)

  2. Рабочая папка DSA

  3. %windir%\NTDS

  4. Съемные носители с возможностью чтения и записи в порядке букв дисков; в корне диска

Вы можете запустить New-ADDCCloneConfigFile с аргументом -offline (это также называется автономным режимом), чтобы создать файл DcCloneConfig.xml и поместить его в подходящее расположение. В следующих примерах показано, как запустить New-ADDCCloneConfigFile в автономном режиме.

Чтобы создать клон контроллер домена с именем CloneDC1 в автономном режиме, на сайте с статическим IPv4-адресом введите:

New-ADDCCloneConfigFile -Offline -CloneComputerName CloneDC1 -SiteName REDMOND -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.0.0" -IPv4DefaultGateway "10.0.0.1" -Static -Path F:\Windows\NTDS

Чтобы создать клонированный контроллер домена с именем Clone2 в автономном режиме со статическим адресом IPv4 и статическими параметрами IPv6, введите следующее.

New-ADDCCloneConfigFile -Offline -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.0.0" -Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -CloneComputerName "Clone2" -PreferredWINSServer "10.0.0.1" -AlternateWINSServer "10.0.0.3" -Path F:\Windows\NTDS

Чтобы создать клонированный контроллер домена с именем Clone2 в автономном режиме со статическим IPv4 и динамическими параметрами IPv6, а также указать несколько DNS-серверов для параметров распознавателя DNS, введите следующее.

New-ADDCCloneConfigFile -Offline -IPv4Address "10.0.0.10" -IPv4SubnetMask "255.255.0.0" -IPv4DefaultGateway "10.0.0.1" -IPv4DNSResolver @( "10.0.0.1","10.0.0.2" ) -Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -Path F:\Windows\NTDS

Чтобы создать клонированный контроллер домена с именем Clone1 в автономном режиме с динамическим адресом IPv4 и статическими параметрами IPv6, введите следующее.

New-ADDCCloneConfigFile -Offline -Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -CloneComputerName "Clone1" -PreferredWINSServer "10.0.0.1" -AlternateWINSServer "10.0.0.3" -SiteName "REDMOND" -Path F:\Windows\NTDS

Чтобы создать клонированный контроллер домена в автономном режиме с динамическим адресом IPv4 и динамическими параметрами IPv6, введите следующее.

New-ADDCCloneConfigFile -Offline -IPv4DNSResolver "10.0.0.1" -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -Path F:\Windows\NTDS

Метод для проводника

Windows Server 2012 теперь предоставляет графические средства для подключения файлов VHD и VHDX. Для этого требуется установить в Windows Server 2012 компонент "Возможности рабочего стола".

  1. Щелкните только что скопированный файл VHD/VHDX, содержащий системный диск исходного контроллера домена или папку рабочего каталога DSA, а затем щелкните Подключить в меню Средства работы с образами дисков.

  2. Скопируйте файлы XML в подходящее расположение на подключенном диске. Вы можете получить запрос на наличие разрешений для этой папки.

  3. Щелкните подключенный диск и выберите Извлечь в меню Средства работы с образами дисков.

Screenshot that shows the mounted harddrive.

Screenshot that shows the mounted harddrive details.

Screenshot that shows the ejected harddrive.

Метод для Windows PowerShell

Кроме того, вы можете подключить отключенный диск и скопировать файл XML с помощью командлетов Windows PowerShell:

mount-vhd
get-disk
get-partition
get-volume
Add-PartitionAccessPath
Copy-Item

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

mount-vhd <disk path> -passthru -nodriveletter | get-disk | get -partition | get-volume | get-partition | where {$_.partition number -eq 2} | Add-PartitionAccessPath -accesspath <drive letter>

copy-item <xml file path><destination path>\dccloneconfig.xml

dismount-vhd <disk path>

Например:

Screenshot that shows how a drive can be mounted with a specific drive letter, the file copied, and the drive dismounted.

Кроме того, вы можете использовать новый командлет Mount-DiskImage для подключения файла VHD (или ISO).

Шаг 8. Создание новой виртуальной машины

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

  1. Сопоставление новой виртуальной машины с копированным диском

  2. Импорт экспортированной виртуальной машины

Сопоставление новой виртуальной машины с копированными дисками

Если вы скопировали системный диск вручную, необходимо создать новую виртуальную машину, использующую скопированный диск. Низкоуровневая оболочка автоматически задает ИД создания виртуальной машины при создании новой виртуальной машины, вносить изменения в конфигурацию виртуальной машины или узла Hyper-V не требуется.

Screenshot that shows how to create a new virtual machine using the copied disk.

Метод для диспетчера Hyper-V
  1. Создайте новую виртуальную машину.

  2. Укажите имя, память и сеть виртуальной машины.

  3. Укажите скопированный системный диск на странице "Подключить виртуальный жесткий диск".

  4. Следуйте указаниям мастера, чтобы создать виртуальную машину.

При наличии нескольких дисков, сетевых адаптеров или других настраиваемых компонентов настройте их перед запуском контроллера домена. Метод копирования дисков "экспорт-импорт" рекомендуется применять для сложных виртуальных машин.

Метод для Windows PowerShell

Вы можете использовать модуль Windows PowerShell Hyper-V для автоматизации процесса создания виртуальной машины Windows Server 2012 с помощью следующего командлета:

New-VM

Например, здесь создается виртуальная машина DC4-CLONEDFROMDC2, которая использует 1 ГБ ОЗУ, загружается из файла c:\vm\dc4-systemdrive-clonedfromdc2.vhd и использует виртуальную сеть 10.0:

Screenshot that shows the details of the DC4-CLONEDFROMDC2 VM.

Импорт ВМ

Если ранее вы экспортировали виртуальную машину, теперь вам нужно импортировать ее обратно в качестве копии. При этом экспортированный файл XML используется для воссоздания компьютера со всеми предыдущими параметрами, дисками, сетями и настройками памяти.

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

Внимание

Важно использовать параметр "Копировать ", так как экспорт сохраняет все сведения из источника. Импорт сервера с помощью move или In Place приводит к столкновению сведений при выполнении на том же сервере узла Hyper-V.

Метод для диспетчера Hyper-V

Порядок импорта с помощью оснастки диспетчера Hyper-V:

  1. Щелкните Импорт виртуальной машины.

  2. На странице Выбор папки выберите файл определения экспортированной виртуальной машины с помощью кнопки "Обзор".

  3. На странице Выбор виртуальной машины щелкните исходный компьютер.

  4. На странице Выбор типа импорта щелкните Копировать виртуальную машину (создать новый уникальный идентификатор), а затем нажмите копку Готово.

  5. Переименуйте импортированную виртуальную машину, если импорт выполняется на тот же узел Hyper-V; в этом случае она будет иметь такое же имя, что и экспортированный исходный контроллер домена.

Screenshot that shows where to locate the folder where the VM is installed.

Screenshot that shows how to select which VM to import.

Screenshot that shows how to select the import type.

Не забудьте удалить все импортированные снимки с помощью оснастки управления Hyper-V:

Screenshot that shows how to remove any snapshots.

Предупреждение

Удаление импортированных снимков имеет большое значение, если они будут применены, клонированный контроллер домена вернется в состояние предыдущего — и, возможно, активного — контроллера домена, что приведет к сбою репликации, дублированию информации об IP-адресах и другим неполадкам.

Метод для Windows PowerShell

Вы можете использовать модуль Windows PowerShell Hyper-V для автоматизации процесса импорта виртуальной машины Windows Server 2012 с помощью следующих командлетов:

Import-VM
Rename-VM

Например, здесь экспортированная виртуальная машина DC2-CLONED импортируется с помощью автоматически определенного файла XML, а затем ей сразу же назначается новое имя DC5-CLONEDFROMDC2:

Screenshot of a terminal window that shows the renamed file.

Не забудьте удалить все импортированные снимки с помощью следующих командлетов:

Get-VMSnapshot
Remove-VMSnapshot

Например:

Screenshot of a terminal window that shows how to remove any imported snapshots.

Предупреждение

Убедитесь, что при импорте компьютера статические MAC-адреса не были назначены исходному контроллеру домена. Если клонируется исходный компьютер со статическим MAC-адресом, скопированные компьютеры не смогут правильно отправить или принимать сетевой трафик. В такой ситуации задайте новый уникальный статический или динамический MAC-адрес. Чтобы определить, использует ли виртуальная машина статический MAC-адрес, воспользуйтесь следующей командой:

Get-VM -VM -VMNametest-vm | Get-VMNetworkAdapter | Fl\*

Шаг 9. Клонирование новой виртуальной машины

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

Для начала клонирования просто запустите новую виртуальную машину. Процесс инициализируется автоматически, а после завершения клонирования контроллер домена автоматически перезапускается.

Внимание

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

Если для запуска виртуальной машины используется Windows PowerShell, в модуле Hyper-V доступен новый командлет:

Start-VM

Например:

Virtualized DC Deployment

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

Меры безопасности виртуализации

В отличие от клонирования виртуализированного контроллера домена меры безопасности виртуализации Windows Server 2012 не требуют настройки. Они работают без постороннего вмешательства, для этого достаточно выполнить простые условия:

  • Низкоуровневая оболочка поддерживает ИД создания виртуальной машины.

  • Имеется допустимый партнерский контроллер домена, с которого восстановленный контроллер домена может непринудительно реплицировать изменения.

Проверка низкоуровневой оболочки

Изучите документацию поставщика, чтобы убедиться, что исходный контроллер домена выполняется в поддерживаемой низкоуровневой оболочке. Виртуализированные контроллеры домена не зависят от гипервизора и не требуют Hyper-V.

Сведения об известной поддержке ИД создания виртуальной машины см. в предыдущем разделе Platform Requirements .

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

Исходная низкоуровневая оболочка Целевая низкоуровневая оболочка Результат
Поддерживает ИД создания виртуальной машины Не поддерживает ИД создания виртуальной машины Меры безопасности не активируются (если имеется файл DCCloneConfigFile.xml, контроллер домена загружается в режиме восстановления служб каталогов)
Не поддерживает ИД создания виртуальной машины Поддерживает ИД создания виртуальной машины Меры безопасности активируются
Поддерживает ИД создания виртуальной машины Поддерживает ИД создания виртуальной машины Меры безопасности не активируются, так как определение виртуальной машины не изменилось, а значит ИД создания виртуальной машины остался прежним

Проверка топологии репликации

Меры безопасности виртуализации инициируют непринудительную репликацию входящего трафика для разницы репликации Active Directory, а также непринудительную повторную синхронизацию всего содержимого SYSVOL. Благодаря этому контроллер домена возвращается из моментального снимка полнофункциональным и согласованным с остальной частью среды.

Эта новая возможность имеет несколько требований и ограничений:

  • Восстановленный контроллер домена должен иметь возможность взаимодействовать с доступным для записи контроллером домена.

  • Не следует одновременно восстанавливать все контроллеры домена в домене.

  • Все изменения, имевшие место на восстановленном контроллере домена, для которого еще не выполнена исходящая репликация, после получения моментального снимка, теряются навсегда.

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

Доступность контроллера домена, доступного для записи

При восстановлении контроллер домена должен иметь подключение к записываемому контроллеру домена; Контроллер домена только для чтения не может отправлять разностные обновления. Скорее всего, топология уже соответствует описанным принципам, так как доступному для записи контроллеру домена всегда требуется доступный для записи партнер. Однако в случае одновременного восстановления всех доступных для записи контроллеров домена ни один из них не сможет найти подходящий источник. То же самое происходит, если контроллеры домена с возможностью отключены для проведения обслуживания или недоступны по иным причинам.

Одновременное восстановление

Не восстанавливайте все контроллеры домена в одном домене одновременно. В случае одновременного восстановления всех моментальных снимков репликация Active Directory работает правильно, однако репликация SYSVOL прерывается. Архитектура восстановления для FRS и DFSR требует установки их экземпляра реплики в непринудительный режим синхронизации. Если все контроллеры домена восстанавливаются одновременно и каждый из них помечает себя в качестве не заслуживающего доверия для SYSVOL, все они попытаются синхронизировать групповые политики и скрипты с партнера, однако в этот момент все партнеры также будут не заслуживающими доверия.

Внимание

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

Использование раздела реестра BurFlags для повторной инициализации службы репликации файлов реплика наборов

Как принудительно принудить авторитетную и неавторитетную синхронизацию для DFSR-реплика sysVOL (например, D4/D2 для FRS)

Предупреждение

Не запускайте все контроллеры домена в лесу или домене на одном узле гипервизора. Это представляет собой единую точку сбоя, которая изнуряет AD DS, Exchange, SQL и другие корпоративные операции каждый раз, когда гипервизор переходит в автономный режим. Это ничем не отличается от использования одного контроллера домена для всего домена или леса. Несколько контроллеров домена на нескольких платформах помогают обеспечить избыточность и отказоустойчивость.

Репликация после получения моментального снимка

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

Используйте Repadmin.exe, чтобы отобразить все нереплицированные исходящие изменения между контроллером домена и его партнерами:

  1. Для возврата имен партнеров контроллера домена и GUID объектов DSA используйте следующее:

    Repadmin.exe /showrepl <DC Name of the partner> /repsto
    
  2. Для возврата ожидающей входящей репликации с партнерского контроллера домена на восстанавливаемый контроллер домена используйте следующее:

    Repadmin.exe /showchanges < Name of partner DC><DSA Object GUID of the domain controller being restored><naming context to compare>
    

Кроме того, можно просто просмотреть число нереплицированных изменений:

Repadmin.exe /showchanges <Name of partner DC><DSA Object GUID of the domain controller being restored><naming context to compare> /statistics

Например, здесь вы отображаете партнерства репликации контроллера домена DC4 (выходные данные изменены для облегчения восприятия, важные записи выделены курсивом):

C:\>repadmin.exe /showrepl dc4.corp.contoso.com /repsto

Default-First-Site-Name\DC4
DSA Options: IS_GC
Site Options: (none)
DSA object GUID: 5d083398-4bd3-48a4-a80d-fb2ebafb984f
DSA invocationID: 730fafec-b6d4-4911-88f2-5b64e48fc2f1

==== OUTBOUND NEIGHBORS FOR CHANGE NOTIFICATIONS ============

DC=corp,DC=contoso,DC=com
    Default-First-Site-Name\DC3 via RPC
        DSA object GUID: f62978a8-fcf7-40b5-ac00-40aa9c4f5ad3
        Last attempt @ 2011-11-11 15:04:12 was successful.
    Default-First-Site-Name\DC2 via RPC
        DSA object GUID: 3019137e-d223-4b62-baaa-e241a0c46a11
        Last attempt @ 2011-11-11 15:04:15 was successful.

Теперь вы знаете, что это реплика с DC2 и DC3. После этого вы отображаете список изменений, которые DC2 все еще не получил с DC4, и видите одну новую группу:

C:\>repadmin /showchanges dc2.corp.contoso.com 5d083398-4bd3-48a4-a80d-fb2ebafb984f dc=corp,dc=contoso,dc=com

==== SOURCE DSA: (null) ====
Objects returned: 1
(0) add CN=newgroup4,CN=Users,DC=corp,DC=contoso,DC=com
    1> parentGUID: 55fc995a-04f4-4774-b076-d6a48ac1af99
    1> objectGUID: 96b848a2-df1d-433c-a645-956cfbf44086
    2> objectClass: top; group
    1> instanceType: 0x4 = ( WRITE )
    1> whenCreated: 11/11/2011 3:03:57 PM Eastern Standard Time

Вы бы также проверили другого партнера, чтобы убедиться, что он еще не реплицирован.

Кроме того, если вас волнуют только оставшиеся объекты, а не то, какие объекты не были реплицированы, вы можете использовать параметр /statistics:

C:\>repadmin /showchanges dc2.corp.contoso.com 5d083398-4bd3-48a4-a80d-fb2ebafb984f dc=corp,dc=contoso,dc=com /statistics

***********************************************
********* Grand total *************************
Packets:              1
Objects:              1Object Additions:     1Object Modifications: 0Object Deletions:     0Object Moves:         0Attributes:           12Values:               13

Внимание

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

Не забудьте заметить все ошибки в реплика tion, показанные /showchanges и не продолжайте работу, пока они не будут исправлены.

Командлеты моментальных снимков Windows PowerShell

Следующие командлеты модуля Hyper-V Windows PowerShell реализуют возможности работы с моментальными снимками в Windows Server 2012:

Checkpoint-VM
Export-VMSnapshot
Get-VMSnapshot
Remove-VMSnapshot
Rename-VMSnapshot
Restore-VMSnapshot