Одна из наиболее важных “фичей” у Hyper-V 2012 — функция репликации. Она позволяет в течение нескольких минут сделать работоспособную копию виртуальной машины (реплику) на другом сервере. В отличие от “классических” сценариев восстановлений после сбоя, реплика может быть использована для миграции виртуальной машины (ВМ) на новую инфраструктуру или в другой домен.
Но что если старый сервер работает на Windows Server 2008 R2? Как в таком случае переместить ВМ на новый Hyper-V 2012 R2? Если не хочется платить, то можно воспользоваться стандартной процедурой “экспорт/импорт”, но такая операция может потребовать нескольких минут для каждой ВМ в зависимости от скорости дисков, куда экспортируются данные.
Другой способ — это использование Veeam Backup & Replication, который позволяет создать задание для репликации ВМ (Replica Job) даже если версии ОС исходного и удаленного хостов различны.
Первый шаг — установить драйвер на каждый хост, который включает механизм Change Block Tracking (CBT). После этого можно приступить к созданию задания для репликации ВМ.
Далее нужно создать имя для задания, выбрать ВМ, которую(ые) необходимо копировать с исходного хоста.
УвеличитьЗатем нужно выбрать сервер назначения, куда осуществляется репликация и местоположение ВМ файлов.
УвеличитьДалее выбрать суффикс для имени реплики и количество точек восстановления, точку восстановления (точка может быть не самой последней, так как наша цель — мигрировать ВМ, а не восстановить последнюю рабочую версию).
После этого шага, нужно выбрать использовать ли сервис Volume Shadow Copy (VSS). Сервис нужен для обеспечения консистентности данных и критически важен при работе с ВМ, в которой используются приложения, проводящие транзакции с БД (SQL, Exchange, AD, итд…)
УвеличитьЗатем выбрать расписание работы и активировать задание. ВМ станет доступна через несколько минут на новом хосте (зависит от ее размера и производительности хостов). На этом все! Можно выключить ВМ на старом сервере, деактивировать задание для репликации и включить ВМ на новом хосте.
Идеальная реплика
Понятно, что классическая реплика недостаточно хороша, так как такую операцию нельзя произвести в течение рабочего дня, поэтому очень важно следовать правильной стратегии. Моя рекомендация здесь — использовать 2 задания для репликации: одно — рано утром, и второе — поздно ночью. Это позволит уменьшить репликационное “окно”. Важно помнить, что такая операция должна быть сделана вне рабочего времени, возможно, в течение выходных, когда есть больше времени разрешить неожиданные проблемы.
Реплика vs Резервная копия
Почему реплика лучше, чем резервная копия? Только потому, что реплика создает идеальную копию ВМ на новом хосте, и это может быть здорово, если планируется сменить основную инфраструктуру (сервера и СХД). Реплика также дает возможность сократить время выполнения операции, так как требуется только добавить вновь измененные блоки данных, когда для задания резервного копирования требуется время, чтобы восстановить ВМ на новых хост.
Автоматизация задания
Другая «фишка» в Veeam Backup & Replication — возможность использования
Windows PowerShell snap-in, позволяющего автоматизировать различные процессы без использования UI. Инструмент придется особенно к месту, когда в распоряжении находится много настроенных заданий или выполняются повторяющиеся действия.
Напоминаю, что Windows PowerShell snap-in – это отдельный компонент, требующий установки, так что если его нет, просто запустите инсталлятор и доустановите необходимый компонент.
С PowerShell можно создать скрипт для автоматизации описанных операций.
«Выключение ВМ», «запуск заданий реплики», «запуск ВМ на новом сервере», «деактивация заданий реплики» — все это возможно без использования основной консоли. Однако следует помнить, что для корректной работы скриптов PowerShell модули должны быть установлены на тот же сервер, где находится Veeam Backup & Replication. А также требуется использование тех же версий ОС для Veeam и Hyper-V хостов (например Windows Server 2012 для Veeam и Windows Server 2012 R2 для нового хоста).
Также важно включить PowerShell на Hyper-V 2008 R2 и импортировать PowerShell библиотеку модуль управления для Hyper-V, которую можно найти на CodePlex сайте:
pshyperv.codeplex.com.
Необходимо соблюдать следующие требования:
- Service Pack 1;
- Framework .NET 4;
- Windows Management Framework 3 (который содержит PowerShell v3);
Скопировать папку HyperV (из архива, загруженного с CodePlex) в
C:\windows\system32\windowsPowerShell\v1.0\modulesСледующий скрипт даст возможность выполнять такие операции как:
- Выключение ВМ на Hyper-V 2008 R2;
- Запуск задания для репликации (Replica Job) на Veeam Backup & Replication;
- Включение ВМ на Hyper-V 2012 R2;
- Деактивация задания для репликации (Replica Job).
Заключение
Скрипт сделан, чтобы сделать рутинные операции автоматически, а также воспользоваться cmdlets-ами, отключенными по умолчанию. Помните, для работы с Windows Server 2012 R2 необходимо использовать версию Veeam Backup & Replication не ниже
v7 R2!Таким образом, мы получили интересное решение для автоматизации. Когда стандартного функционала Veeam Backup & Replication v7 может не хватить, PowerShell snap-in предоставляет возможность для расширения. Если вы заинтересовались в Veeam Backup & Replication, то загрузите
триальную версию.
Дополнительные материалы