Управляете ли вы виртуальными машинами (VM) Hyper-V и хотите создать план аварийного восстановления? Вы можете начать с репликации Hyper-V. Вещи могут идти не так, как задумано, и, скорее всего, так и случится. И если у вас есть только одна копия ваших виртуальных машин, то вы готовитесь к мукам.
Иметь одну или несколько реплик ваших ВМ, особенно критически важных, не обязательно сложно и дорого. Компания Microsoft встроила в Hyper-V функцию встроенной репликации, которую вы можете настроить без введения стороннего программного обеспечения или устройства в вашу инфраструктуру.
Если вы готовы узнать, как включить репликацию Hyper-V и быть готовыми предотвратить возможную катастрофическую потерю данных, то давайте начнем!
Предварительные требования
Это руководство будет практической демонстрацией. Если вы хотите следовать за ним, убедитесь, что у вас есть следующее:
Два сервера-хоста Hyper-V. Эти два хоста могут быть в домене Active Directory (AD) или рабочей группе. В этом руководстве будут использоваться два сервера с следующими данными.
Hostname | IP Address | Designation | Location | Operating System |
hyperv-ny | 10.1.0.4 | Primary Server | Primary Site | Windows Server 2019 Datacenter (version 1809) |
hyperv-wa | 10.0.0.4 | Replica Server | Secondary Site | Windows Server 2019 Datacenter (version 1809) |
У основного хоста Hyper-V должна быть хотя бы одна гостевая виртуальная машина для репликации. В этом руководстве на основном хосте будет одна гостевая ВМ с именем webserver.
Для получения более подробной информации о требованиях к системе Hyper-V обратитесь к Требования к системе для Hyper-V на Windows Server.
Подготовка хостов для репликации Hyper-V
Предполагая, что у вас уже есть все необходимые предпосылки, не думайте о запуске репликации Hyper-V. Перед репликацией виртуальных машин вам нужно выполнить несколько подготовительных действий. Ниже приведены общие пункты, которые вам нужно отметить, прежде чем все будет готово.
Разрешение трафика репликации Hyper-V
Этот раздел применим только при использовании брандмауэра Windows на ваших хостах Hyper-V. В противном случае вы можете перейти к следующей части.
Или, если вы в настоящее время используете брандмауэр Windows и хотите полностью его отключить, прочтите Как отключить брандмауэр Windows (все способы).
При установке роли Hyper-V на сервер, Windows создает два дополнительных входящих правила в брандмауэре Windows. Эти два правила управляют разрешением трафика репликации Hyper-V, и они следующие:
- Слушатель Hyper-V Replica HTTP (TCP-In) – Входящее правило для прослушивания Hyper-V Replica для принятия подключения HTTP для репликации (через порт 80, не зашифровано).
- Слушатель Hyper-V Replica HTTPS (TCP-In) – Входное правило для слушателя Hyper-V Replica для принятия HTTPS-соединения для репликации (через порт 443, зашифрованное сертификатом).
По умолчанию эти брандмауэры Windows отключены, что фактически блокирует трафик репликации Hyper-V на хост. Но основное внимание в этом руководстве уделяется настройке репликации Hyper-V только через HTTPS, а не HTTP.
Чтобы включить правило брандмауэра репликации Hyper-V, выполните следующие действия.
1. Войдите в сервер реплики и откройте PowerShell от имени администратора.
2. Запустите команду Enable-Netfirewallrule
ниже в PowerShell, чтобы включить правило.
3. Наконец, чтобы подтвердить успешное включение правил брандмауэра репликации Hyper-V, выполните команду ниже.
Если все прошло хорошо, вы должны увидеть результат, аналогичный скриншоту ниже.

Настройка записей хоста Hyper-V
Если ваши хосты Hyper-V могут разрешать имена друг друга через DNS-запрос, вы можете пропустить этот раздел.
Когда придет время включить репликацию Hyper-V, вы укажете имя сервера реплики во время конфигурации. Возможность Hyper-V найти вторичный сервер по имени зависит от правильного разрешения имени.
Чтобы гарантировать, что узлы Hyper-V смогут находить имена друг друга в сети, вам потребуется отредактировать файл hosts на обоих серверах и добавить соответствующие имена и IP-адреса. Для этого выполните следующие действия.
- На основном сервере откройте PowerShell от имени администратора.
2. Выполните следующую команду, чтобы открыть файл hosts в редакторе notepad.exe
для редактирования.
3. Когда файл hosts откроется, прокрутите его до конца и добавьте IP-адрес и имя сервера реплики следующим образом.
Убедитесь, что вы используете свой IP-адрес и имя сервера.
4. После редактирования файла нажмите CTRL+S
или щелкните Файл —> Сохранить, чтобы сохранить изменения.
5. Повторите те же шаги на сервере реплики и добавьте имя и IP-адрес сервера основного в файл hosts реплики. На скриншоте ниже показан конечный результат для обоих файлов hosts серверов.

Создание самоподписанных сертификатов
Этот раздел применяется только в случае, если репликация Hyper-V будет использовать аутентификацию на основе сертификатов (HTTPS). Если хосты Hyper-V присоединены к домену и будут использовать аутентификацию Kerberos (HTTP), этот раздел можно пропустить.
Для репликации Hyper-V через HTTPS требуется, чтобы и основной, и реплицирующий хосты использовали сертификат, выданный общим эмитентом. Hyper-V использует эти сертификаты для аутентификации основного сервера на реплицирующем сервере.
Вместо покупки сертификатов у внешнего поставщика сертификатов, такого как DigiCert или NameCheap, вы можете бесплатно создать самоподписанные сертификаты для использования с репликацией Hyper-V.
Для аутентификации на основе сертификатов между двумя хостами Hyper-V вам понадобятся три сертификата. Корневой сертификат и сертификат сервера для каждого хоста. Следуйте нижеуказанным шагам, чтобы создать эти сертификаты.
1. На основном сервере хоста откройте PowerShell от имени администратора.
2. Затем определите следующие переменные, запустив команды ниже в PowerShell. Обратитесь к встроенным комментариям, чтобы понять каждую переменную, и замените их значения при необходимости.
3. После определения переменных сертификата выполните нижеприведенную команду для создания корневого сертификата. Эта команда создает самоподписанный корневой сертификат, используя командлет New-SelfSignedCertificate
в хранилище Сертификаты личного сервера.
4. Чтобы сервер доверял самоподписанному корневому сертификату, скопируйте его в Хранилище сертификатов доверенных корневых центров сертификации, выполнив команду ниже.
5. Затем выполните нижеприведенную команду, чтобы экспортировать корневой сертификат в файл с использованием командлета Export-PfxCertificate
. Вам нужно экспортировать сертификат, чтобы затем скопировать его на сервер реплики.

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

7. Наконец, скопируйте файл корневого сертификата (Hyper-V Root CA.pfx
) и файл сертификата сервера реплики (hyperv-wa.pfx
) на сервер реплики.

Установка сертификатов на хост реплики
Чтобы обеспечить работу аутентификации на основе сертификатов между двумя хостами Hyper-V, тот же корневой сертификат и сертификат сервера должны присутствовать также на хосте реплики. Выполните следующие шаги для установки корневого и серверного сертификатов.
1. На хосте реплики откройте PowerShell от имени администратора.
Чтобы установить корневой сертификат в хранилище доверенных центров сертификации, выполните команду Import-PfxCertificate
, приведенную ниже. Убедитесь в изменении значений переменных по необходимости.

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

4. Наконец, настройте реестр Hyper-V для отключения проверки отзыва сертификата. Для этого Hyper-V не будет пытаться проверить сведения о отзыве сертификата, которые отсутствуют в самоподписанном сертификате. Выполните следующую команду PowerShell New-ItemProperty
.
Настройка репликации Hyper-V
Вы завершили подготовку ваших хостов Hyper-V. Теперь вы можете начать включение репликации Hyper-V и начать репликацию виртуальных машин.
Включение хоста в качестве сервера реплики
Прежде чем хост Hyper-V сможет размещать реплики ВМ, сначала необходимо включить хост в качестве сервера реплики. Для этого выполните следующие действия.
- На хосте реплики откройте Менеджер Hyper-V. Для этого выполните команду
virtmgmt.msc
в PowerShell. - Находясь в окне Менеджера Hyper-V, щелкните правой кнопкой мыши имя сервера реплики и выберите параметры Hyper-V.

Затем, на окне параметров Hyper-V, щелкните Конфигурация репликации в левой панели.
На правой панели отметьте флажок Включить этот компьютер в качестве сервера репликации. Это позволит включить все другие параметры конфигурации ниже.
В разделе Аутентификация и порты отметьте флажок Аутентификация на основе пользовательского сертификата (HTTPS). Оставьте значение номера порта как 443.

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

После выбора сертификата вы должны увидеть, что поле Укажите сертификат теперь отображает детали сертификата.

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

5. Затем, в разделе Авторизация и хранение, выберите Разрешить репликацию с любого аутентифицированного сервера. Это позволит любому серверу Hyper-V реплицировать виртуальные машины на этот сервер, при условии успешной аутентификации на основе сертификата.
Чтобы разрешить репликацию только с определенных серверов, выберите опцию Разрешить репликацию с указанных серверов и добавьте данные каждого сервера вместо этого.
Введите или просмотрите местоположение для хранения файлов реплики. В этом примере место хранения – C:\Hyper-V\Виртуальные жесткие диски. Убедитесь, что выбрано место с достаточным пространством для хранения файлов реплики виртуальных машин.
Наконец, нажмите ОК, чтобы сохранить изменения.

Включение репликации виртуальной машины
На этом этапе вы разрешили хосту реплицировать входящую репликацию Hyper-V для виртуальных машин. Теперь вы готовы разрешить репликацию виртуальной машины. Следуйте нижеуказанным шагам для продолжения.
1. На основном хосте откройте окно диспетчера Hyper-V.
2. Затем щелкните сервер Hyper-V в левой панели. В списке виртуальных машин щелкните виртуальную машину, которую вы собираетесь реплицировать, и щелкните Включить репликацию в разделе Действия.

3. На всплывающем окне Включить репликацию для <Имя ВМ> щелкните Далее на странице Прежде чем начать.
4. На странице Укажите сервер реплики введите имя хоста сервера реплики в поле Сервер реплики и щелкните Далее.

5. Теперь, на странице Укажите параметры подключения, измените номер порта Сервера реплики на 443.
В разделе Тип аутентификации щелкните, чтобы выбрать Аутентификация на основе пользовательского сертификата (HTTPS).
На этом этапе информация о сертификате пуста. Чтобы выбрать сертификат, щелкните Выбрать сертификат.

6. Затем, на диалоговом окне Выбор сертификата, щелкните, чтобы выбрать сертификат, который вы ранее создали и который содержит имя сервера основного хоста. После выбора сертификата, щелкните OK.

7. После выбора сертификата вы должны увидеть информацию о сертификате, как показано ниже. Щелкните Далее, чтобы продолжить.

8. Затем выберите, какие Виртуальные жесткие диски (VHD) включить в репликацию. Если есть более одного VHD, убедитесь, что выбран VHD, содержащий операционную систему ВМ. В приведенном ниже примере есть только один VHD. После выбора сделайте, щелкните Далее.

9. На следующей странице выберите интервал репликации из раскрывающегося списка. Это значение определяет, с какой частотой Hyper-V отправляет изменения на сервер реплики. Интервал по умолчанию – 5 минут. Другие доступные варианты – 30 секунд и 15 минут. Нажмите Далее.

10. На странице Настройка дополнительных точек восстановления выберите вариант Сохранять только последнюю точку восстановления.
При выборе этого варианта Hyper-V будет хранить только последнюю точку восстановления или состояние ВМ на сервере реплики. Этот вариант использует наименьшее количество места, но позволяет восстановить только одну точку во времени. Щелкните Далее, чтобы продолжить.

11. На странице Выбор метода начальной репликации есть три варианта, как вы хотите отправить первоначальную копию VHD на сервер реплики:
- Отправить первоначальную копию через сеть. Этот вариант копирует VHD через сеть.
- Отправить первоначальную копию с помощью внешнего носителя. При выборе этого варианта вы можете сохранить копию VHD на внешнем носителе, например на внешнем жестком диске. Затем вы можете физически перенести носитель и подключить его к серверу реплики для копирования.
- Использовать существующую виртуальную машину на сервере реплики в качестве первоначальной копии. Этот вариант применим только в том случае, если вы уже восстановили копию ВМ на сервер реплики.
Какой вариант выбрать в реальной жизни зависит от ваших оценок. Но для этого руководства выберите Отправить первоначальную копию через сеть.
Далее выберите Начать репликацию немедленно, чтобы запустить процесс репликации сразу после завершения настройки.

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

13. Дождитесь подтверждающего сообщения о том, что Репликация успешно включена. Нажмите Закрыть, чтобы вернуться к окну Менеджера Hyper-V.
Репликация Hyper-V копирует виртуальную машину, ее конфигурацию и VHD-диски. Однако результирующая копия на сервере-репликанте не подключена. Как видно ниже, вам все равно нужно настроить сетевое подключение реплики виртуальной машины.

Проверка состояния репликации
Итак, вы включили репликацию Hyper-V для выбранной виртуальной машины. Как узнать, идет ли репликация Hyper-V, завершена ли она или произошла ошибка? К счастью, Hyper-V предоставляет вам удобство проверки состояния репликации прямо в Менеджере Hyper-V.
Чтобы проверить состояние репликации виртуальной машины, выполните следующие действия.
Щелкните правой кнопкой мыши на имени виртуальной машины в окне Менеджера Hyper-V основного хоста —> Репликация —> Просмотр состояния репликации.

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

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

И все! Вы успешно настроили репликацию Hyper-V для вашей виртуальной машины.
Заключение
В конце концов, настройка репликации Hyper-V – это то, что администраторы систем должны учитывать при планировании и внедрении восстановления после катастрофы. Это может быть дешевле, чем потеря данных или продленное простое обслуживание. Представьте, если ваш сервер бухгалтерии отключится?
Вы использовали репликацию Hyper-V? Что вы думаете? Вы бы порекомендовали это другим, или есть какие-то причины, по которым вы считаете, что организации должны избегать этого?