
Technologia Live Migration w systemie wirtualizacji Hyper-V pozwala przenosić uruchomioną maszynę wirtualną między hostami Hyper-V bez przerywania jej działania i dostępności usług. We wcześniejszych wersjach Hyper-V maszynę wirtualną można było przenosić tylko za pomocą migracji na żywo między węzłami klastra (klaster pracy awaryjnej). Hyper-V 3.0 (Windows Server 2012) i nowsze wersje nie mają już tego ograniczenia ze względu na technologię Migracja na żywo dla Nothing Shared. W tym artykule pokażemy, jak włączyć migrację na żywo i przenieść działającą maszynę wirtualną między autonomicznymi serwerami Hyper-V opartymi na systemie Windows Server 2016.
Wymagania dotyczące migracji na żywo w trybie Shared Nothing:
- Przenoszenie jest możliwe między serwerami z następującymi wersjami systemu operacyjnego: Windows Server 2012 R2 lub Windows Server 2016
- Wersja maszyny wirtualnej musi mieć co najmniej 5
- Oba komputery muszą należeć do tej samej domeny Active Directory lub domen z dwukierunkowym zaufaniem
- Użytkownik konfiguracji musi mieć uprawnienia administratora Hyper-V. Podczas konfigurowania ograniczonego delegowania protokołu Kerberos użytkownik musi mieć uprawnienia administratora domeny (lub muszą mieć uprawnienia do kont serwerów w AD)
Załóżmy, że mamy 2 serwery z systemem Windows Server 2016 z zainstalowaną rolą HyperV: Srv01 i Srv03. Oba serwery znajdują się w domenie Active Directory i nie są zgrupowane w klastrze WSFC (klaster pracy awaryjnej systemu Windows Server). Uruchom konsolę Hyper-V Manager na dowolnym serwerze i dodaj do niej oba serwery.
Następnie w ustawieniach obu serwerów Hyper-V musisz włączyć Live Migration. Aby to zrobić, kliknij prawym przyciskiem myszy serwer Hyper-V i wybierz Hyper-V. Ustawienia. Przejdź do sekcji Migracja na żywo i włącz opcję Włącz przychodzące i wychodzące migracje na żywo. Ogranicz listę migracji do adresów IP dwóch hostów Hyper-V.
Następnie w sekcji ustawień Zaawansowane Funkcje wybierz protokół uwierzytelniania Kerberos (Użyj Kerberos).
Powyższe kroki można wykonać za pomocą następujących poleceń programu PowerShell:
Włącz migrację VMM
Zestaw VMMigrationNetwork 192.168.10.41 192.168.10.21
Ustaw-VMHost -VirtualMachineMigrationAuthenticationType
Aby przeprowadzić migrację maszyn wirtualnych przy użyciu uwierzytelniania Kerberos, administrator nie musi logować się na serwerze, ale należy skonfigurować ograniczoną delegację w usłudze Active Directory (KCD - ograniczona delegacja Kerberos)
Uruchom przystawkę ADUC, znajdź konto pierwszego serwera Hyper-V, otwórz jego właściwości i przejdź do karty Delegowanie.
Wybierz opcje: Ufaj temu komputerowi w kwestii delegowania tylko do określonych usług i Używaj tylko Kerberos i kliknij przycisk Dodaj.
W następnym oknie kliknij przycisk Użytkownicy i Komputery i podaj nazwę drugiego serwera Hyper V. Na liście dostępnych usług wybierz Microsoft Wirtualny System Migracja Service.
Zapisz ustawienia delegowania. Wykonaj te same ustawienia z kontem drugiego serwera Hyper-V.
Pozostaje czekać na replikację zmian w AD i ponowne wydanie biletu Kerboros, i możesz spróbować przeprowadzić migrację na żywo maszyny wirtualnej. Kliknij maszynę wirtualną prawym przyciskiem myszy i wybierz Rusz się. Jako typ migracji wybierz Przenieś maszynę wirtualną.
Podaj nazwę hosta Hyper-V, na który chcesz przeprowadzić migrację.
Następnie określ katalog na hoście docelowym, w którym powinny zostać umieszczone pliki maszyny wirtualnej (katalog musi istnieć).
Kliknij przycisk Zakończ i poczekaj na zakończenie procesu migracji na żywo maszyny wirtualnej na drugi serwer Hyper-V.
Wskazówka. Migrację maszyn wirtualnych można rozpocząć za pomocą następującego polecenia programu PowerShell:
Move-VM srvapp1 Srv01 -IncludeStorage -DestinationStoragePath c: \ hyperv \ vm
W przypadku, gdy tryb zgodności procesora nie jest włączony w ustawieniach maszyny wirtualnej, migracja zakończy się niepowodzeniem z błędem:
Maszyny wirtualnej nie można przenieść na komputer docelowy. Sprzęt na komputerze docelowym nie jest zgodny z wymaganiami sprzętowymi tej maszyny wirtualnej.
Aby rozwiązać problem, musisz wyłączyć maszynę wirtualną i włączyć tryb zgodności procesora:
Set-VMProcessor srvapp1 -CompatibilityForMigrationEnabled $ true