Udostępnij za pomocą


Uruchamianie Hyper-V w środowisku maszynie wirtualnej z użyciem wirtualizacji zagnieżdżonej

Wirtualizacja zagnieżdżona umożliwia uruchamianie Hyper-V wewnątrz maszyny wirtualnej, co umożliwia emulowanie złożonych środowisk bez konieczności używania wielu hostów fizycznych. W tym artykule wyjaśniono, jak skonfigurować i używać wirtualizacji zagnieżdżonej na obsługiwanych platformach Windows, w tym wymagania wstępne, kroki instalacji i opcje sieciowe. Skorzystaj z tego artykułu, aby przetestować scenariusze, uruchomić emulatory lub opracowywać rozwiązania wymagające wielu warstw wirtualizacji.

Aby dowiedzieć się więcej na temat wirtualizacji zagnieżdżonej i obsługiwanych scenariuszy, zobacz Co to jest wirtualizacja zagnieżdżona dla funkcji Hyper-V?.

Prerequisites

Procesor Intel z technologią VT-x i EPT

  • Host Hyper-V musi być systemem Windows Server 2016 lub nowszym albo Windows 10 lub nowszym.
  • Konfiguracja maszyny wirtualnej w wersji 8.0 lub nowszej.

Procesor AMD EPYC/Ryzen lub nowszy

  • Host Hyper-V musi być systemem Windows Server 2022 lub nowszym albo Windows 11 lub nowszym.
  • Konfiguracja maszyny wirtualnej w wersji 9.3 lub nowszej.

Note

Gościem może być dowolny system operacyjny kompatybilny z Windows. Niektóre nowsze wersje systemu Windows mogą korzystać z dodatkowych funkcji procesora CPU, które zwiększają wydajność. Aby włączyć wirtualizację zagnieżdżoną na maszynie wirtualnej platformy Azure, upewnij się, że ustawiono typ zabezpieczeń jako "Standardowy".

Włączanie wirtualizacji zagnieżdżonej

Aby włączyć wirtualizację zagnieżdżoną, wykonaj następujące kroki:

  1. Utwórz maszynę wirtualną. Zapoznaj się z wymaganiami wstępnymi dotyczącymi wymaganych wersji systemu operacyjnego i maszyny wirtualnej.

  2. Gdy maszyna wirtualna jest w stanie wyłączonym, uruchom następujące polecenie na hoście fizycznym Hyper-V, aby włączyć wirtualizację zagnieżdżoną dla tej maszyny wirtualnej.

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    
  3. Uruchom maszynę wirtualną.

  4. Zainstaluj Hyper-V na maszynie wirtualnej, tak jak w przypadku serwera fizycznego. Aby uzyskać więcej informacji na temat instalowania funkcji Hyper-V, zobacz Install Hyper-V.

Note

W systemie Windows Server 2019 i starszych jako maszyna wirtualna pierwszego poziomu liczba procesorów wirtualnych powinna być 225 lub mniejsza. Aby dowiedzieć się więcej na temat limitów maszyn wirtualnych, zobacz Maksymalna liczba maszyn wirtualnych.

Wyłącz wirtualizację zagnieżdżoną

Aby wyłączyć wirtualizację zagnieżdżoną dla zatrzymanej maszyny wirtualnej, można użyć następującego polecenia programu PowerShell:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false

Opcje sieci

Istnieją dwie opcje sieciowania dla zagnieżdżonych maszyn wirtualnych.

  1. Fałszowanie adresów MAC
  2. Sieciowanie NAT

Fałszowanie adresów MAC

Aby pakiety sieciowe mogły być kierowane przez dwa przełączniki wirtualne, fałszowanie adresów MAC musi być włączone na pierwszym poziomie przełącznika wirtualnego (L1). Aby włączyć fałszowanie adresów MAC, uruchom następujące polecenie programu PowerShell.

Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On

Translacja adresów sieciowych (NAT)

Druga opcja opiera się na translatorze adresów sieciowych (NAT). Takie podejście najlepiej nadaje się w przypadkach, w których fałszowanie adresów MAC nie jest możliwe, jak w środowisku chmury publicznej.

Najpierw należy utworzyć wirtualny przełącznik NAT na wirtualnej maszynie głównej (maszynie wirtualnej "środkowej"). Poniższy przykład tworzy nowy przełącznik wewnętrzny o nazwie VmNAT i tworzy obiekt NAT dla wszystkich adresów IP w podsieci 192.168.100.0/24.

New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”

Następnie przypisz adres IP do karty sieciowej:

Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24

Każda zagnieżdżona maszyna wirtualna musi mieć przypisany adres IP i bramę. Adres IP bramy musi wskazywać na adapter NAT z poprzedniego kroku. Możesz również przypisać serwer DNS:

Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.2 -DefaultGateway 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Netsh interface ip add dnsserver “vEthernet (VmNat)” address=<my DNS server>

Dalsze kroki