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

 

Hyper-V Replica в действии
Рисунок 1. Hyper-V Replica в действии

В первую очередь следует отметить, что Hyper-V Replica представляет собой решение для восстановления после аварии и не обеспечивает высокой доступности. Для запуска автономных реплик виртуальной машины в случае отказа требуется вмешательство оператора. В решении с высоким уровнем доступности (с использованием отказоустойчивой кластеризации со многими сайтами) в случае отказа основного сайта запуск автономных виртуальных машин происходит автоматически без участия оператора. Об этом меня спрашивают довольно часто, поэтому хотелось бы развеять ложные представления о возможностях Hyper-V Replica.

Hyper-V Replica отслеживает операции записи в основной виртуальной машине и реплицирует эти изменения на сервере-реплике через каждые пять минут. Сетевое соединение между двумя серверами устанавливается с использованием протокола HTTP или HTTPS и обеспечивает как интегрированную проверку, так и проверку подлинности на основе сертификатов. Таким образом, в любой момент запаздывание «реплики» составляет не более пяти минут.

Минимальные требования

Решение Hyper-V Replica доступно по цене и не требует сложной настройки. При условии, что оба сайта работают с Server 2012 Hyper-V и связаны через сеть, такой способ восстановления после аварии, несомненно, заслуживает внимания. Hyper-V Replica функционирует только с Server 2012, но не с клиентом (Windows 8) Hyper-V. Для использования Hyper-V Replica необходимо выполнить следующие минимальные условия:

* оборудование должно поддерживать роль Hyper-V в Server 2012;

* основной сервер и серверы-реплики должны располагать достаточным хранилищем данных и физической памятью для размещения виртуальных машин;

* местоположения основного сервера и серверов-реплик должны быть связаны через сеть;

* в правилах брандмауэра должна быть разрешена репликация между основным сайтом и сайтами реплик;

* требуется сертификат X.509v3 для взаимной проверки подлинности с использованием сертификатов (при необходимости).

Настройка Hyper-V Replica

Чтобы настроить Hyper-V Replica, необходимо обратиться к параметрам Hyper-V в диспетчере Hyper-V Manager. Заданные настройки репликации отображаются в правой части диалогового окна, показанного на экране 1. По умолчанию эта конфигурация не активна.

 

Конфигурация репликации
Экран 1. Конфигурация репликации

Необходимо включить репликацию на обоих серверах, а настройки должны быть согласованы. В первую очередь следует рассмотреть параметр Authentication and ports (проверка подлинности и порты). Можно использовать Kerberos (HTTP) через порт 80 или выполнить проверку подлинности (HTTPS) через порт 443. Эти порты задействованы по умолчанию, но можно выбрать и любые другие. Если изменить порты, то потребуется также изменить номера портов в правиле брандмауэра.

Другой вариант — Authorization and storage (авторизация и хранилище). Этот параметр определяет, какие серверы будут участвовать в Hyper-V Replica. Также указывается локальная папка, в которой будут находиться файлы реплики. Можно использовать любой сервер, прошедший проверку подлинности, или определенные серверы. Если выбран произвольный сервер, местоположение папки можно указать здесь. Если выбраны определенные серверы, то указать сервер и папку можно с помощью кнопки Add.

После того, как выполнены настройки и нажата кнопка OK, появляется окно с уведомлением Inbound traffic needs to be allowed in the Firewall («требуется разрешить входящий трафик на брандмауэре»). Существует два входящих правила брандмауэра на сервере-реплике: Hyper-V Replica HTTP Listener (TCP-In) и Hyper-V Replica HTTPS Listener (TCP-In). Правило, определяемое выбранным значением Authentication and ports, отображается в диалоговом окне. Эти правила автоматически не включаются. Если правило не активизировать, основной сервер не сможет установить соединение с сервером-репликой. Если соединение от реплики установить не удается, следует в первую очередь проверить правило брандмауэра и настройки реплики. Необходимо применить нужное правило и настроить используемый порт. Поэтому если используется брандмауэр, поставляемый с другим продуктом, необходимо убедиться, что порт открыт. То же относится к любым маршрутизаторам или шлюзам между серверами.

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

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

1. На основном сервере Hyper-V щелкните виртуальную машину правой кнопкой мыши и выберите пункт Enable Replication («Включить репликацию») из раскрывающегося списка, чтобы запустить мастер Enable Replication для виртуальной машины.

2. На экране Specify Replica Server введите имя NetBIOS или имя FQDN для сервера-реплики в поле Replica server, а затем нажмите кнопку Next.

3. На экране Specify Connection Parameters введите порт и тип проверки подлинности. Если включен режим удаленного доступа к WMI, эти параметры будут заполнены автоматически. Перепроверьте их, поскольку если они неточны, будет выдано сообщение об ошибке и реплика окажется неработоспособной.

4. На экране Choose Replication VHDs вы увидите список всех VHD-файлов, имеющихся у виртуальной машины. Можно выбрать диск или диски, которые нужно реплицировать для виртуальной машины, а затем нажать кнопку Next. Помните, что если нужно обратиться к реплике, то ранее не выбранные VHD-файлы показаны не будут. Если диск содержит важные для виртуальной машины данные, то они окажутся недоступными.

5. Изменения репликации передаются на сервер-реплику через каждые пять минут. На экране Configure Recovery History (экран 2) укажите число и типы точек восстановления, отправляемых на сервер-реплику. Если выбрать только Only the latest recovery point («Только последняя точка восстановления»), лишь родительский VHD будет передан во время первоначальной репликации, и все изменения будут внесены в этот VHD. Если выбрано Additional recovery points («Дополнительные точки восстановления»), то необходимо задать число дополнительных точек восстановления (стандартных реплик), которые будут сохранены на сервере-реплике.

6. На экране Choose Initial Replication Method (экран 3) доступно несколько методов для начальной репликации виртуальной машины на сервер-реплику. Метод по умолчанию — Send initial copy over the network (Передать начальную копию по сети). В этом режиме немедленно запускается репликация через сеть на сервер-реплику. Если вы не хотите выполнять немедленную репликацию, можно запланировать ее на определенное время и дату. Если вы не хотите пересылать начальную копию через сеть, можно выбрать режим Send initial copy using external media (Передать начальную копию с помощью внешнего носителя). В этом режиме можно копировать данные виртуальной машины на внешний накопитель, DVD, USB-накопитель или другой носитель и переместить его на сервер-реплику.

 

Экран журнала настройки восстановления
Экран 2. Экран журнала настройки восстановления

 

Экран выбора метода начальной репликации
Экран 3. Экран выбора метода начальной репликации

Нажмите кнопку Finish. Если порт брандмауэра не открыт, то будет выдано сообщение об ошибке.

После завершения работы мастера в консоли Hyper-V Manager отображается имя виртуальной машины на основном сервере и сервере-реплике. Имя можно изменить. Hyper-V Replica отслеживает виртуальную машину по идентификатору виртуальной машины. Поэтому на основном сервере ее можно назвать Windows8, а на сервере-реплике — Windows8-Replica. Виртуальная машина на сервере-реплике будет отключена. Машины реплики нельзя запустить. Если попытаться включить виртуальную машину, то появляется сообщение об ошибке, показанное на экране 4.

 

Ошибка диспетчера Hyper-V
Экран 4. Ошибка диспетчера Hyper-V

Мне часто задают вопрос, можно ли подготовить несколько реплик. Этого сделать нельзя, так как могут существовать только один основной сервер, на котором работает виртуальная машина, и один сервер-реплика с копией виртуальной машины. Однако в реплике могут участвовать несколько серверов Hyper-V. Например, если имеется сервер Hyper-V с именем HyperV1, на котором работают две виртуальные машины (Acct-File-Server и HR-File-Server). Могут также существовать два других сервера Hyper-V с именами HyperV2 и HyperV3.

Чтобы этого добиться, необходимо обратиться к настройкам Hyper-V на всех физических компьютерах. В приведенном выше примере на экране 1 все будет в порядке, если настроен режим Allow replication from any authenticated server («Разрешить репликацию с любого прошедшего проверку сервера»). Если выбран режим Allow replication from the specified servers («Разрешить репликацию с любого прошедшего проверку сервера»), то необходимо, чтобы оба других компьютера были в списке. При выполнении мастера Enable Replication for Acct-File-Server на странице Specify Replica Server («Укажите сервер-реплику») будет показан сервер HyperV2. В мастере Enable Replication for HR-File-Server на странице Specify Replica Server будет показан сервер HyperV3. Эту ситуацию иллюстрирует рисунок 2.

 

Несколько реплик
Рисунок 2. Несколько реплик

Выполнив все настройки, можно переходить к следующей задаче. Если щелкнуть по имени виртуальной машины правой кнопкой мыши, то появляется раскрывающийся список Replication с несколькими вариантами, зависящими от того, где вы находитесь — на основном сервере или сервере-реплике. На основном сервере отображаются варианты Planned Failover («Плановая отработка отказа»), Pause Replication («Приостановить репликацию»), View Replication Health («Просмотреть состояние работоспособности репликации») и Remove Replication («Удалить репликацию»). На сервере-реплике вы увидите Failover («Отработка отказа»), Test Failover («Тестовая отработка отказа»), Pause Replication, View Replication Health и Remove Replication.

Плановая отработка отказа. Плановая отработка отказа — контролируемое действие, которое выполняется, если известно, что основной сервер или сайт Hyper-V прекратит работу. После плановой отработки отказа сервер-реплика станет основным, и наоборот. Действие доступно только на основном сервере-реплике. Ниже перечислены несколько проверок перед плановой отработкой отказа и ряд действий, выполняемых в процессе.

Предварительные проверки:

* убедитесь, что виртуальная машина отключена;

* проверьте конфигурацию, чтобы разрешить обратную репликацию.

Действия:

* отправить не реплицированные данные на сервер-реплику;

* переключиться на сервер-реплику;

* изменить направление репликации;

* запустить виртуальную машину реплики.

Отработка отказа. Отработка отказа — действие, выполняемое в случае незапланированного отключения. В случае отказа основного сайта необходимо выбрать отработку со вторичного сервера-реплики на виртуальную машину, чтобы он стал основным сайтом и начал работать. После того, как работоспособность основного сайта будет восстановлена, следует выбрать плановую отработку отказа, чтобы восстановить исходное состояние. Этот пункт доступен только на сервере-реплике. Дополнительная проверка покажет допустимость этого действия. Будет предпринята попытка установить контакт с основным сервером. Если связаться не удалось, то попытки будут продолжаться. Если связь установлена, нужно определить, включена ли виртуальная машина. Если да, то процесс продолжается. Если отработка отказа выбрана случайно, можно выбрать команду Cancel Failover («Отменить отработку отказа») на вторичном сервере-реплике из раскрывающегося списка Replication. Отмена отработки отказа приведет к потере любых изменений, сделанных в реплике виртуальной машины после начала операции отработки отказа.

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

Приостановить репликацию. Это контролируемое действие, которое выполняется, если известно, что сервер-реплика будет отключен. После того, как сервер-реплика запущен, можно выбрать команду Resume Replication («Возобновить репликацию»). Это действие применимо как на основном сервере, так и на сервере-реплике.

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

* состояние репликации;

* тип репликации;

* текущий основной сервер;

* текущий сервер-реплика;

* состояние работоспособности репликации;

* статистические данные:

— время начала;

— время окончания;

— средний размер;

— максимальный размер;

— средняя задержка;

— обнаруженные ошибки;

— успешные циклы репликации;

* ожидание репликации;

— размер данных, которые еще предстоит реплицировать;

— время последней синхронизации.

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

Hyper-V Replica на отказоустойчивом кластере

Hyper-V Replica также можно использовать на отказоустойчивом кластере Server 2012. Чтобы подготовить отказоустойчивый кластер, необходимо создать роль Replica Broker Role («Брокер реплики Hyper-V») в Failover Management. В результате будет создана группа в кластере, для которой формируется точка доступа клиента (CAP), содержащая имя, к которому будет выполнено подключение. Эта возможность обеспечивает дополнительное преимущество высокой доступности для реплики или основного сайта.

При запуске Hyper-V Replica на отказоустойчивом кластере какие-либо изменения в консоль Hyper-V Manager внести не удастся. При переходе в Hyper-V Manager, Hyper-V Settings и Enable Replication все варианты затеняются. В нижней части окна содержится сообщение This server is part of a failover cluster. Use the Failover Cluster Manager to change replication settings («Этот сервер является частью отказоустойчивого кластера. Для изменения параметров репликации используйте диспетчер отказоустойчивости кластеров»). При запуске на отказоустойчивом кластере любые настройки Replica Configuration необходимы только на одном из узлов кластера. Поскольку ресурс кластерный, все изменения будут реплицированы на другие узлы.

IP-адресация

В завершение стоит рассмотреть сеть, в которой размещаются виртуальные машины. Необходимо принять во внимание схему IP-адресации основных сайтов/серверов и реплик в сети. Например, предположим, что схема IP-адресации основного сервера-реплики — 1.x, а схема IP-адресации вторичного сервера-реплики — 192.168.x. Если в сетях применяется протокол DHCP, и виртуальная машина использует DHCP, то виртуальную машину получит адрес с DHCP-сервера. Это рекомендуемый подход при размещении серверов Hyper-V Replica в различных сетях. Если для виртуальной машины используются статические IP-адреса, то виртуальной машине нужно назначить несколько IP-адресов (по одному для каждой сети, в которой она участвует). Если заглянуть в свойства виртуальной машины, то можно обнаружить новый параметр Failover TCP/IP («Отработка отказа TCP/IP») в разделе Network Adapter, как показано на экране 5.

 

Отработка отказа TCP/IP
Экран 5. Отработка отказа TCP/IP

Это необходимо, чтобы установить связь виртуальной машины с сетью. В приведенном выше примере, если имеется виртуальная машина с IP-адресом 1.1.1.1 (на основном сервере-реплике), а адрес вторичного сервера-реплики — 192.168.1.1, то связь с сетью становится проблематичной. У нее будут другой шлюз, DNS-сервер и т.д., и с ними, возможно, не удастся установить связь. Кроме того, клиенты не всегда смогут подключиться к виртуальной машине.

Эти настройки TCP/IP отработки отказов виртуальной машины следует назначить для сервера/сайта реплики. Те же службы Integration Services должны выполняться как на основном сервере, так и на сервере-реплике, чтобы настройки TCP/IP отработки отказов содержали нужный IP-адрес для виртуальной машины в зависимости от сервера, на котором она выполняется в данный момент. Если виртуальная машина находится на основном сайте, то назначается обычный IP-адрес. Если виртуальная машина перемещается на сайт-реплику и запускается, то будет использована информация об адресе, заданная в разделе Failover TCP/IP.

Экономичный выбор

Помните о нескольких факторах. Hyper-V Replica — экономичный вариант аварийного восстановления виртуальных машин. Это не автоматическая отработка отказа для запуска реплики; речь идет о действиях, выполняемых администратором вручную. Убедитесь в наличии достаточной памяти и места на диске и учтите соответствие схемы сети параметрам виртуальной машины, запускаемой на сервере-реплике. Hyper-V Replica функционирует только на Server 2012, но не на Windows 8 Hyper-V. Можно перейти с автономного Hyper-V Server к другому автономному серверу. Можно переключаться между отказоустойчивым кластером с Hyper-V и другим отказоустойчивым кластером с Hyper-V. Или можно сочетать автономный сервер Hyper-V с отказоустойчивым кластером, работающим с Hyper-V. Наконец, помните о том, что существуют только основной сервер и сервер-реплика. Иметь несколько реплик для отдельной виртуальной машины нельзя.