Hyper-V Live Migration без кластера

Технология Live Migration в Hyper-V до версии Windows Server 2012 была доступна только между узлами кластера (Failover Cluster). Начиная с Hyper-V 3.0 этого ограничения нет и виртуальные машины могу мигрировать в режиме реального времени без роли кластера. Отказаться от кластеризации в данной задаче удалось благодаря технологии Shared-nothing live migration. Именно Shared-nothing позволило отвязаться от общих хранилищ кластеров и перемещать виртуальные машины с «необщими дисками».

Есть и свои ограничения по миграции VM:

  • На ВМ не должно быть pass-through дисков (иначе как переносить);
  • Одинаковая архитектура процессоров (после миграции ВМ будет использовать процессорные мощности другого хоста);
  • Хосты, между которыми идет процесс миграции должны быть членами одного домена Active Directory, либо в доменах с двустороннем доверием (это для обеспечения безопасности через Kerberos);
  • Cеть 1Gbs;
  • Виртуальные свитчи с одинаковым названием (чтобы не настраивать руками);
  • версия ВМ не ниже 5.0.

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

Для настройки Live Migration в Hyper-V у нас должно быть от 2-х хостов на Windows Server 2012 и выше.

В настройках наших хост серверов Hyper–V настраиваем Live Migration (на каждом)

и выбираем протокол аутентификации Kerberos (Use Kerberos).

Или через PowerShell:

Enable-VMMigration
Set-VMMigrationNetwork 192.168.1.2 192.168.1.4
Set-VMHost -VirtualMachineMigrationAuthenticationType

Разрешаем аутентификацию Kerberos

В свойствах учетной записи хостов Hyper-V -> Delegation -> Trust this computer for delegation to specified services only -> Use Kerberos only и Add.

Далее Users and Computers -> имя другого сервера Hyper V -> Microsoft Virtual System Migration Service.

Аналогичные настройки надо выполнить на всех серверах участниках Live Migration.

После можно приступать к миграции ВМ

Указываем имя хост машины Hyper-V куда мигрируем ВМ

И выбираем нужный вариант миграции ВМ

Вводим требуемые данные в зависимости от выбора варианта и ждем миграции ВМ на другой хост Hyper-V.

Также миграцию ВМ можно запустить с помощью PowerShell:

Move-VM vm1 host1 -IncludeStorage -DestinationStoragePath c:\vm\vm1

где:
vm1 — перемещаемая ВМ
host1 — хост Hyper-V гуда перемещается vm1
c:\vm\vm1 — путь для размещения данных для vm1 на host1

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

На выключенной ВМ данная опция будет активна.

Или через PowerShell

 Set-VMProcessor vm1 -CompatibilityForMigrationEnabled $true
Top