Технологията на жива миграция в системата за виртуализация на Hyper-V ви позволява да местите работеща виртуална машина между хостове на Hyper-V, без да прекъсвате нейната работа и наличието на услуги. В по-ранните версии на Hyper-V виртуална машина може да бъде преместена само с помощта на Live Migration между клъстерни възли (Failover Cluster). Hyper-V 3.0 (Windows Server 2012) и по-късно вече няма това ограничение поради технологията Споделена нищо жива миграция. В тази статия ще покажем как да активираме Live Migration и да прехвърлим работещ VM между самостоятелни Hyper-V сървъри, базирани на Windows Server 2016.
Изисквания за извършване на споделена нищо на живо миграция:
- Преместването е възможно между сървъри със следните версии на ОС: Windows Server 2012 R2 или Windows Server 2016
- Версията на виртуалната машина трябва да е поне 5
- И двата компютъра трябва да са в един и същ домейн на Active Directory или в домейни с двупосочно доверие
- Потребителят на конфигурацията трябва да има администраторски права на Hyper-V. Когато конфигурирате ограничено делегиране на Kerberos, потребителят трябва да има права на администратор на домейн (или трябва да му бъдат предоставени права за сървърни акаунти в AD)
Да предположим, че имаме 2 сървъра, работещи под Windows Server 2016 с инсталирани роли HyperV: Srv01 и Srv03. И двата сървъра са включени в домейна на Active Directory и не са групирани в WSFC клъстер (Windows Server Failover Clustering). Стартирайте конзолата Hyper-V Manager на всеки от сървърите и добавете и двата сървъра към нея.
След това в настройките на двата сървъра Hyper-V трябва да активирате Live Migration. За да направите това, щракнете с десния бутон върху сървъра Hyper-V и изберете Hyper-V Настройки. Отидете в секцията Жива миграция и активирайте опцията Активирайте входящите и изходящите миграции на живо. Ограничете списъка с миграции до IP адресите на два хоста на Hyper-V.
След това в секцията с настройки напреднал Удобства изберете протокол за удостоверяване на Kerberos (Използвайте Kerberos).
Стъпките по-горе могат да бъдат изпълнени с помощта на тези команди PowerShell:
Активиране-VMMigration
Set-VMMigrationNetwork 192.168.10.41 192.168.10.21
Set-VMHost -VirtualMachineMigrationAuthenticationType
За да извърши миграция на VM с помощта на удостоверяване на Kerberos, администраторът не трябва да влиза в сървъра, но трябва да конфигурирате ограничено делегиране в Active Directory (KCD - ограничена Kerberos делегиране)
Стартирайте прихващането на ADUC, намерете акаунта на първия сървър на Hyper-V, отворете неговите свойства и отидете на раздела Делегиране.
Изберете опции: Доверете се на този компютър само за делегиране на определени услуги и Използвайте само Kerberos и кликнете върху бутона Добави.
В следващия прозорец кликнете върху бутона Потребители и Компютри и посочете името на втория сървър на Hyper V. В списъка на наличните услуги изберете Microsoft действителен система миграция обслужване.
съвет. Ако също трябва да мигрирате VM съхранението, трябва също да изберете протокола CIFSЗапазете настройките за делегиране. Извършете същите настройки с акаунта на втория сървър на Hyper-V.
Остава да изчакате репликацията на промените в AD и преиздаването на билета на Kerboros и можете да опитате да извършите миграция на живо на VM. Щракнете с десния бутон върху виртуалната машина и изберете ход. За типа миграция изберете Преместете виртуалната машина.
Посочете името на хоста на Hyper-V, към който искате да мигрирате.
След това посочете директорията на целевия хост, където трябва да се поставят VM файловете (директория трябва да съществува).
Щракнете върху бутона Finish и изчакайте процеса на миграция на живо на виртуалната машина към втория сървър на Hyper-V да приключи.
съвет. Миграцията на VM може да започне с помощта на следната команда PowerShell:
Move-VM srvapp1 Srv01 -IncludeStorage -DestinationStoragePath c: \ hyperv \ vm
В случай, че режимът на съвместимост на процесора не е активиран в настройките на VM, миграцията ще се провали с грешката:
Виртуалната машина не може да бъде преместена до целевия компютър. Хардуерът на целевия компютър не е съвместим с хардуерните изисквания на тази виртуална машина.
За да разрешите проблема, ще трябва да изключите VM и да активирате режима на съвместимост на процесора за него:
Set-VMProcessor srvapp1 -CompatibilityForMigrationEnabled $ true