Wyjaśnienie zagnieżdżonej wirtualizacji Hyper-V
Wirtualizacja zagnieżdżona w Hyper-V to funkcja, która po raz pierwszy została wydana w systemach Windows Server 2016 i Windows 10 i jest dostępna zarówno na stacjach roboczych, jak i serwerach. Wraz z wprowadzeniem tej funkcji rozszerzono zakres zastosowań hiperwizora Microsoft Hyper-V. W tym wpisie na blogu wyjaśniono, czym jest wirtualizacja zagnieżdżona, a także przedstawiono przypadki użycia, wymagania i ograniczenia związane z wirtualizacją zagnieżdżoną w Microsoft Hyper-V.
Czym jest wirtualizacja zagnieżdżona?
Wirtualizacja zagnieżdżona w Microsoft Hyper-V to funkcja umożliwiająca tworzenie maszyn wirtualnych (VM) wewnątrz innych maszyn wirtualnych Hyper-V działających na hoście Hyper-V. Te maszyny wirtualne działające wewnątrz innych maszyn wirtualnych nazywane są maszynami wirtualnymi zagnieżdżonymi. Należy pamiętać, że Wirtualizację zagnieżdżoną można również skonfigurować w VMware środowiska.
Przypadki użycia
Poniżej przedstawiono kilka przypadków użycia wirtualizacji zagnieżdżonej w środowiskach wirtualnych:
Creating isolated environments. Funkcja ta pozwala tworzyć zagnieżdżone maszyny wirtualne połączone ze sobą za pośrednictwem izolowanej sieci wirtualnej. W ten sposób można stworzyć całkowicie izolowane środowisko, które nie ma żadnego wpływu na zwykłe maszyny wirtualne i sieć.Training/testing/development. Szkolenia są przydatne do zapoznania nowych użytkowników lub administratorów z oprogramowaniem (lub do zapoznania obecnych użytkowników lub administratorów z nowym oprogramowaniem). Jednak szkolenia w środowiskach produkcyjnych mogą prowadzić do niestabilności, a nawet awarii. Dzięki wirtualizacji zagnieżdżonej można symulować środowisko produkcyjne na zagnieżdżonych maszynach wirtualnych bez żadnego wpływu na rzeczywiste środowisko produkcyjne.Oprócz szkoleń dla administratorów tego typu środowisko może być potrzebne specjalistom ds. kontroli jakości (testerom) oraz programistom do celów testowych lub programistycznych. Zaletą jest to, że do tych celów można wykorzystać zagnieżdżone maszyny wirtualne w istniejących środowiskach wirtualnych bez konieczności zakupu dodatkowego dedykowanego sprzętu.
Building a private cloud. Wdrażanie prawdziwej chmury prywatnej z portalem samoobsługowym dla użytkowników może być kosztowne i pracochłonne. Dzięki wirtualizacji zagnieżdżonej można wdrożyć pseudo-chmurę prywatną o identycznej funkcji jak ten typ chmury. Na przykład można utworzyć maszynę wirtualną z zainstalowanym serwerem Hyper-V i przydzielić jej 256 GB pamięci RAM.Użytkownicy mogą tworzyć i konfigurować zagnieżdżone maszyny wirtualne wewnątrz maszyny wirtualnej z zainstalowanym Hyper-V w zależności od swoich potrzeb, ale nie mogą przekroczyć limitu pamięci i zużywać więcej niż 256 GB pamięci RAM. Do maszyn wirtualnych, na których zainstalowano Hyper-V, można dodawać pamięć i wirtualne karty sieciowe za pomocą funkcji dodawania na gorąco bez żadnych przestojów.
Wymagania i ograniczenia
Aby wdrożyć wirtualizację zagnieżdżoną w Hyper-V, należy spełnić następujące wymagania:
- System operacyjny hosta musi być Windows Server 2016 lub Windows 10 (aktualizacja rocznicowa) lub nowszy.
- Maszyna wirtualna Hyper-V musi być w wersji 8 lub wyższej.
- Serwer fizyczny musi posiadać kompatybilny Procesor obsługujący odpowiednie funkcje wirtualizacji.
- Tylko procesory Intel wyposażone w technologie VT-x i EPT obsługują wirtualizację zagnieżdżoną w systemach Windows Server 2016, Windows Server 2019 i Windows 10.
- Jeśli korzystasz z procesorów AMD wyposażonych w funkcje wirtualizacji AMD-V, musisz używać systemu Windows Server 2022 lub Windows 11, aby uzyskać wsparcie dla wirtualizacji zagnieżdżonej w Hyper-V.
- Najnowsze wersje systemu Windows obsługują zarówno procesory AMD, jak i Intel.
- Musi być dostępna wystarczająca ilość pamięci fizycznej do uruchomienia maszyn wirtualnych.
- Maszyna wirtualna nie powinna być z wykorzystaniem pamięci dynamicznej.
- Chociaż nie jest to wymaganie, zaleca się stosowanie dysków SSD w celu zwiększyć wydajność maszyn wirtualnych, ponieważ niska prędkość dysku znacznie obniża wydajność.
Istnieją pewne ograniczenia dotyczące maszyn wirtualnych hostujących zagnieżdżone maszyny wirtualne (zagnieżdżone maszyny wirtualne mogą być określane jako „najbardziej wewnętrzne systemy-goście”):
- Punkty kontrolne nie można zastosować do uruchomionej maszyny wirtualnej.
- Migracja na żywo dla tej maszyny wirtualnej kończy się niepowodzeniem.
- Zmiana rozmiaru pamięci w czasie wykonywania nie działa.
Uwaga: Funkcje związane z powyższymi trzema ograniczeniami mogą być używane dla gości najgłębszych.
Czym jest zagnieżdżona technologia VT-x/AMD-V?
Intel VT-x i AMD-V to zestawy instrukcji dla procesorów, które umożliwiają wirtualizację sprzętową. W przypadku korzystania z wirtualizacji zagnieżdżonej należy włączyć jedną z tych funkcji dla maszyny wirtualnej wykorzystywanej do zagnieżdżania. Dopiero wtedy maszyna wirtualna może korzystać z funkcji wirtualizacji sprzętowej procesora w celu uruchamiania zagnieżdżonych maszyn wirtualnych.
Jak włączyć zagnieżdżoną wirtualizację Hyper-V i utworzyć zagnieżdżoną maszynę wirtualną
W tej sekcji omówiono czynności związane z konfiguracją zagnieżdżonej wirtualizacji Hyper-V w systemie Windows Server 2019. Proces konfiguracji jest taki sam dla systemów Windows Server 2016 i Windows Server 2022.
Konfiguracja hosta Hyper-V
Najpierw należy skonfigurować hosta Hyper-V:
- Przygotuj serwer fizyczny z kompatybilnym Procesorem, wystarczającą ilością pamięci i odpowiednią pojemnością pamięci masowej.
- Sprawdź, czy w BIOS-ie są włączone funkcje wirtualizacji Procesora, takie jak Intel VT-x.
- Zainstaluj system Hyper-V Server 2019, Windows Server 2019 lub system operacyjny Windows 10.
- Dodaj rolę serwera Hyper-V jeśli korzystasz z pełnej funkcji systemu operacyjnego Windows (lub Włącz Hyper-V w systemie Windows 10). Możesz również skorzystać z graficznego interfejsu użytkownika (GUI) i Menedżera serwera.
Wdrażanie maszyny wirtualnej gościa
Następnie należy utworzyć maszynę wirtualną i zainstalować system operacyjny gościa:
- Utwórz maszynę wirtualną Hyper-V w systemie Windows Server lub utworzyć maszynę wirtualną w systemie Windows 10.
- Zainstaluj na maszynie wirtualnej gościa system operacyjny obsługujący wirtualizację zagnieżdżoną dla Hyper-V, czyli zainstaluj system Windows 10 w wersji Anniversary Update lub nowszej albo system Windows Server 2016 lub nowszy.
W niniejszym przewodniku wykorzystano system Windows Server 2016. Można użyć nowszych wersji systemu Windows.
Konfiguracja maszyny wirtualnej gościa
Domyślnie wsparcie dla wirtualizacji sprzętowej jest wyłączone dla maszyny wirtualnej gościa. System operacyjny wyświetla komunikat o błędzie, jeśli spróbujesz dodać rolę Hyper-V dla tej maszyny wirtualnej.
Wirtualizację sprzętową dla hiperwizora gościa można włączyć wyłącznie za pomocą programu PowerShell. Należy pamiętać, że maszyna wirtualna gościa musi być wyłączona, aby można było zastosować poniższe polecenia.
- Najpierw sprawdź, czy wirtualizacja sprzętowa jest włączona dla maszyny wirtualnej gościa. W systemie operacyjnym hosta (zainstalowanym na komputerze fizycznym) należy wykonać następujące polecenie:
Get-VMProcessor -VMName vm_name | fl *W miejsce vm_name należy wpisać nazwę swojej maszyny wirtualnej. W naszym przykładzie nazwa maszyny wirtualnej to Server2016. WIN2018 to nazwa komputera reprezentująca komputer fizyczny, na którym zainstalowano system Windows wraz z rolą Hyper-V.
- Aby włączyć wirtualizację sprzętową w maszynie wirtualnej gościa, należy najpierw zatrzymać maszynę wirtualną, a następnie zastosować następujące polecenie:
Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $trueJeśli wszystko jest w porządku, po wprowadzeniu polecenia nie powinien pojawić się żaden komunikat. Jeśli maszyna wirtualna jest uruchomiona, wyświetli się następujący komunikat o błędzie:
Połączenie sieciowe maszyny wirtualnej
Teraz należy skonfigurować ustawienia sieciowe maszyny wirtualnej. Istnieją dwa sposoby podłączenia maszyn wirtualnych zagnieżdżonych do sieci: MAC spoofing oraz NAT.
- Jeśli sieć dla maszyn wirtualnych zagnieżdżonych jest skonfigurowana poprzez zapewnienie dostępu do rzeczywistej sieci lokalnej (LAN), wówczas jedna karta sieciowa na komputerze hosta będzie obsługiwać wiele adresów MAC – co może potencjalnie powodować problemy z siecią. Dlatego należy aktywować opcję
MAC address spoofing(opcja ta jest domyślnie wyłączona). - W przypadku wdrażania pseudo-chmury prywatnej nie można stosować fałszowania adresów MAC w sieciach maszyn wirtualnych i w takiej sytuacji należy skonfigurować
NAT.
Uwaga: Obie metody zostały omówione poniżej, ale do skonfigurowania naszej maszyny wirtualnej Hyper-V z wykorzystaniem wirtualizacji zagnieżdżonej Hyper-V użyjemy metody NAT.
Konfiguracja fałszowania adresów MAC
Jeśli korzystasz z fałszowania adresów MAC, włącz tę funkcję na karcie sieciowej wirtualnego hosta Hyper-V:
- Na komputerze fizycznym z zainstalowanym Hyper-V Server wpisz następujące polecenie, aby włączyć fałszowanie adresu MAC:
Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing OnWstaw nazwę swojej maszyny wirtualnej zamiast
vm_name. W naszym przypadku jest toServer2016, jak wspomniano powyżej.
- Jeśli wolisz korzystać z interfejsu graficznego, przejdź do
VM Settings>Network adapter>Advanced features, zaznacz pole wyboruEnable MAC address spoofingi kliknij OK.
Konfiguracja NAT
Funkcję NAT można włączyć wyłącznie za pomocą programu PowerShell. Podczas gdy poprzednie polecenia zostały wykonane w systemie operacyjnym hosta, poniższe polecenia należy wykonać w systemie operacyjnym gościa.
Aby włączyć funkcję NAT dla połączenia sieciowego maszyny wirtualnej:
- Najpierw utwórz nowy przełącznik wirtualny.
New-VMSwitch -Name "SwitchName" -SwitchType InternalZamiast
SwitchNamenależy użyć nazwy własnego przełącznika. W tym przewodniku używamyNAT-Switch.
- Zdefiniuj podsieć za NAT i włącz funkcję NAT. Adres sieciowy nie może pokrywać się z adresami IP w istniejącej sieci. W tym przykładzie nazwa sieci to
NAT-net, a adres sieci to192.168.2.0/24New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'
- Następnie przypisz adres IP do interfejsu, na którym włączono NAT.
Wygeneruj listę dostępnych kart sieciowych, aby sprawdzić ich nazwy, za pomocą następującego polecenia:
Get-NetAdapter | ft -AutosizeW tym przykładzie nazwa wirtualnej karty sieciowej podłączonej do utworzonego wcześniej przełącznika wirtualnego to
vEthernet (NAT-Switch).
- Teraz należy zdefiniować adres IP dla tej wirtualnej karty sieciowej, który musi należeć do utworzonej sieci. Maszyny wirtualne zagnieżdżone będą używać adresu IP tego interfejsu sieciowego jako bramy. W naszym przykładzie adresem tym jest 192.168.2.1 — należy on do sieci 192.168.2.0/24
Get-NetAdapter "adapter_name" | New-NetIPAddress -IPAddress ip_address -AddressFamily IPv4 -PrefixLength mask_number
Konfiguracja maszyny wirtualnej zagnieżdżonej
Teraz można utworzyć i skonfigurować maszynę wirtualną zagnieżdżoną. W tym przewodniku jako maszynę wirtualną zagnieżdżoną wykorzystano maszynę wirtualną z systemem Windows Server 2016.
- Wybierz przełącznik wirtualny (który niedawno utworzyłeś) w ustawieniach sieciowych maszyny wirtualnej w Menedżer Hyper-V.
- Skonfiguruj ustawienia TCP/IP w
Network Adapter Propertiesmaszyny wirtualnej zagnieżdżonej. Jeśli w sieci wirtualnej nie ma serwerów DHCP, przypisz adres IP, maskę podsieci, bramę domyślną i serwer DNS ręcznie.
Uwaga: Sprawdź ustawienia zapory sieciowej, ponieważ zapory mogą blokować połączenia sieciowe.
Twoja zagnieżdżona maszyna wirtualna ma teraz skonfigurowaną sieć i jest gotowa do działania. 
Ochrona maszyn wirtualnych za pomocą NAKIVO Backup & Replication
Aby zapewnić niezawodność środowiska wirtualnego Hyper-V, należy wykonać kopię zapasową wszystkich maszyn wirtualnych, w tym maszyn zagnieżdżonych. Rozwiązanie NAKIVO Backup & Replication zapewnia niezawodna kopia zapasowa Hyper-V dzięki szybkim, przyrostowym kopiom zapasowym opartym na obrazach, wykorzystującym natywną technologię Hyper-V Resilient Change Tracking (RCT). Korzystając z kopii zapasowych, można między innymi odzyskiwać obiekty i pliki aplikacji, natychmiast uruchamiać maszyny wirtualne lub odtwarzać maszyny wirtualne Hyper-V jako maszyny wirtualne VMware vSphere.











