Wizualizacja zagnieżdżona w Hyper-V – wyjaśnienie

Wirtualizacja zagnieżdżona w Hyper-V to funkcja wydana po raz pierwszy w systemach Windows Server 2016 i Windows 10, dostępna zarówno na stacjach roboczych, jak i serwerach. Wraz z wydaniem 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 omówiono przypadki użycia, wymagania i ograniczenia tej funkcji w Microsoft Hyper-V.

NAKIVO do tworzenia kopii zapasowej Hyper-V

NAKIVO do tworzenia kopii zapasowej Hyper-V

Kopie zapasowe bezagentowe spójne z aplikacją dla Hyper-V. Ochrona przed oprogramowaniem wymuszającym okup, natychmiastowe uruchamianie maszyn wirtualnych z kopii zapasowej, wsparcie dla innych platform wirtualnych i fizycznych oraz wiele innych funkcji.

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 środowisku VMware środowiska.

A schema of nested virtualization in Hyper-V

Przypadki użycia

Poniżej przedstawiono kilka przypadków użycia wirtualizacji zagnieżdżonej w środowiskach wirtualnych:

  • Creating isolated environments. Funkcji tej można używać do tworzenia zagnieżdżonych maszyn wirtualnych, które są połączone ze sobą za pośrednictwem izolowanej sieci wirtualnej. W ten sposób można stworzyć w pełni izolowane środowisko, które nie ma 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) i 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. Można dodawać pamięć i wirtualne karty sieciowe do maszyn wirtualnych, na których zainstalowano Hyper-V, korzystając z 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 mieć kompatybilny procesor, który obsługuje 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 Hyper-V.
    • Najnowsze wersje systemu Windows obsługują zarówno procesory AMD, jak i Intel.
  • Musi być wystarczająca ilość pamięci fizycznej do uruchomienia maszyn wirtualnych.
  • Maszyna wirtualna nie powinna być z wykorzystaniem pamięci dynamicznej.

Niektóre ograniczenia dotyczą maszyn wirtualnych hostujących zagnieżdżone maszyny wirtualne (zagnieżdżone maszyny wirtualne można nazwać „najbardziej wewnętrznymi gośćmi”):

  • Punkty kontrolne nie można zastosować do uruchomionej maszyny wirtualnej.
  • Migracja na żywo dla 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 najbardziej wewnętrznych.

Czym jest zagnieżdżony 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 używanej do zagnieżdżania. Tylko 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:

  1. Przygotuj serwer fizyczny z kompatybilnym procesorem, wystarczającą ilością pamięci i odpowiednią pojemnością pamięci masowej.
  2. Sprawdź, czy funkcje wirtualizacji procesora, takie jak Intel VT-x, są włączone w BIOS-ie.
  3. Zainstaluj Hyper-V Server 2019, Windows Server 2019 lub system operacyjny Windows 10.
  4. Dodaj rolę serwera Hyper-V jeśli korzystasz z pełnej wersji systemu operacyjnego Windows (lub Włącz usługę Hyper-V w systemie Windows 10). Możesz również użyć graficznego interfejsu użytkownika (GUI) i Menedżera serwera.

Wdrażanie maszyny wirtualnej gościa

Następnie musisz utworzyć maszynę wirtualną i zainstalować system operacyjny gościa:

  1. Utwórz maszynę wirtualną Hyper-V w systemie Windows Server utwórz maszynę wirtualną w systemie Windows 10
  2. lub nowszą albo system Windows Server 2016 lub nowszy. W niniejszym przewodniku wykorzystano system Windows Server 2016. Można używać nowszych wersji systemu Windows. Konfigurowanie maszyny wirtualnej gościa Domyślnie wsparcie dla wirtualizacji sprzętowej jest wyłączone dla maszyny wirtualnej gościa. System operacyjny wyświetla błąd, 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. Wykonaj następujące polecenie w systemie operacyjnym hosta (zainstalowanym na komputerze fizycznym): Wstaw nazwę swojej maszyny wirtualnej zamiast vm_name. W naszym przykładzie nazwa maszyny wirtualnej to Server2016. WIN2018 to nazwa komputera reprezentująca komputer fizyczny, na którym zainstalowany jest system Windows wraz z rolą Hyper-V. Aby włączyć wirtualizację sprzętową wewnątrz maszyny wirtualnej gościa, należy najpierw zatrzymać maszynę wirtualną, a następnie zastosować następujące polecenie: Jeśli wszystko jest w porządku, po wprowadzeniu polecenia nie powinien pojawić się żaden komunikat. Jeśli maszyna wirtualna działa, wyświetlany jest następujący komunikat o błędzie: Połączenie sieciowe maszyny wirtualnej Teraz należy skonfigurować ustawienia sieciowe dla maszyny wirtualnej. Istnieją dwa sposoby podłączenia zagnieżdżonych maszyn wirtualnych do sieci: oraz . Jeśli sieć dla zagnieżdżonych maszyn wirtualnych 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ę (opcja ta jest domyślnie wyłączona). W przypadku wdrażania pseudo-prywatnej chmury nie można używać spoofingu adresów MAC do sieci maszyn wirtualnych i w tym przypadku należy skonfigurować . Uwaga: Obie metody zostały omówione poniżej, ale użyjemy metody NAT do skonfigurowania naszej maszyny wirtualnej Hyper-V do korzystania z wirtualizacji zagnieżdżonej Hyper-V. Konfiguracja spoofingu adresów MAC Jeśli używasz spoofingu adresów MAC, włącz go na karcie sieciowej wirtualnego hosta Hyper-V:

This error message is displayed when hardware virtualization is disabled for a guest VM

  1. Get-VMProcessor -VMName vm_name | fl *

    Hyper-V nested virtualization - checking if hardware virtualization is enabled for a VM

  1. Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $true

    Hyper-V enable nested virtualization - enabling processor virtualization features for a VM

MAC spoofing NAT

  • MAC address spoofing
  • NAT

  • 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 On

    Wpisz nazwę swojej maszyny wirtualnej zamiast vm_name. W naszym przypadku jest to Server2016, jak wspomniano powyżej.

    Enabling MAC address spoofing for a VM in 
PowerShell for Hyper-V nested virtualization

  • Jeśli wolisz korzystać z interfejsu graficznego, przejdź do VM Settings > Network adapter > Advanced features i zaznacz pole wyboru Enable MAC address spoofing , a następnie kliknij OK.

    Enabling MAC address spoofing for a VM to use the network with Hyper-V nested virtualization

Konfiguracja NAT

Funkcję NAT można włączyć wyłącznie za pomocą programu PowerShell. Podczas gdy poprzednie polecenia były wykonywane 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:

  1. Najpierw utwórz nowy przełącznik wirtualny.

    New-VMSwitch -Name "SwitchName" -SwitchType Internal

    Zamiast SwitchNameużyj nazwy swojego przełącznika. W tym przewodniku używamy NAT-Switch .

    Creating a new virtual switch to connect VMs through NAT for using networking with Hyper-V nested virtualization

  1. 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 to 192.168.2.0/24

    New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'

    Defining a network address for the network used for NAT

  1. Następnie przypisz adres IP dla 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 -Autosize

    Displaying a list of virtual switches and checking the name of the recently created virtual switch

    W tym przykładzie nazwa wirtualnej karty sieciowej podłączonej do utworzonego wcześniej przełącznika wirtualnego to vEthernet (NAT-Switch).

  1. Teraz należy zdefiniować adres IP dla tej wirtualnej karty sieciowej, który musi należeć do utworzonej sieci. Zagnieżdżone maszyny wirtualne będą używać adresu IP tego interfejsu sieciowego jako bramy. W naszym przykładzie ten adres IP to 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

    Setting the IP address for the network interface used for NAT

Konfigurowanie zagnieżdżonej maszyny wirtualnej

Teraz możesz utworzyć i skonfigurować zagnieżdżoną maszynę wirtualną. W tym przewodniku jako maszynę wirtualną zagnieżdżoną wykorzystano maszynę wirtualną z systemem Windows Server 2016.

  1. Wybierz przełącznik wirtualny (który niedawno utworzyłeś) w ustawieniach sieciowych maszyny wirtualnej w Menedżer Hyper-V.

Selecting the virtual switch created to connect the VMs through NAT

  1. Skonfiguruj ustawienia TCP/IP w Network Adapter Properties maszyny 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.

Hyper-V nested virtualization networking - setting the IP address for the nested VM

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. Running a nested VM - Hyper-V nested virtualization networking works fine

Ochrona maszyn wirtualnych za pomocą NAKIVO Backup & Replication

Aby zapewnić niezawodność środowiska wirtualnego Hyper-V, należy wykonać kopie zapasowe wszystkich maszyn wirtualnych, w tym maszyn zagnieżdżonych. Rozwiązanie NAKIVO Backup & Replication zapewnia niezawodna kopia zapasowa Hyper-V szybkie przyrostowe kopie zapasowe oparte na obrazach, wykorzystujące natywną technologię Hyper-V Resilient Change Tracking (RCT). Dzięki tym kopiom zapasowym można między innymi odzyskiwać obiekty i pliki aplikacji, natychmiast uruchamiać maszyny wirtualne lub odzyskiwać maszyny wirtualne Hyper-V jako maszyny wirtualne VMware vSphere.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby poznać wszystkie funkcje rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie trzeba podawać danych karty kredytowej.

People also read