Delen via


Hyper-V uitvoeren op een virtuele machine met geneste virtualisatie

Met geneste virtualisatie kunt u Hyper-V uitvoeren in een virtuele machine, zodat u complexe omgevingen kunt emuleren zonder dat u meerdere fysieke hosts nodig hebt. In dit artikel wordt uitgelegd hoe u geneste virtualisatie configureert en gebruikt op ondersteunde Windows-platforms, waaronder vereisten, installatiestappen en netwerkopties. Gebruik dit artikel om scenario's te testen, emulators uit te voeren of oplossingen te ontwikkelen waarvoor meerdere lagen virtualisatie nodig zijn.

Voor meer informatie over geneste virtualisatie en ondersteunde scenario's, zie Wat is Geneste Virtualisatie voor Hyper-V?.

Voorwaarden

Intel-processor met VT-x- en EPT-technologie

  • De Hyper-V host moet Windows Server 2016 of hoger of Windows 10 of hoger zijn.
  • VM-configuratieversie 8.0 of hoger.

AMD EPYC /Ryzen processor of hoger

  • De Hyper-V host moet Windows Server 2022 of hoger of Windows 11 of hoger zijn.
  • VM-configuratieversie 9.3 of hoger.

Notitie

De gast kan elk door Windows ondersteund gastbesturingssysteem zijn. Sommige nieuwere versies van Windows kunnen gebruikmaken van extra CPU-functies die de prestaties verbeteren. Als u Geneste virtualisatie in een Azure-VM wilt inschakelen, moet u het beveiligingstype instellen als 'Standard'-.

Geneste virtualisatie inschakelen

Volg deze stappen om geneste virtualisatie in te schakelen:

  1. Een virtuele machine maken. Zie de vereisten voor de vereiste besturingssysteem- en VM-versies.

  2. Terwijl de virtuele machine de status UIT heeft, voert u de volgende opdracht uit op de fysieke Hyper-V host om geneste virtualisatie voor de virtuele machine in te schakelen.

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    
  3. Start de virtuele machine.

  4. Installeer Hyper-V in de virtuele machine, net zoals voor een fysieke server. Zie Hyper-V-installeren voor meer informatie over het installeren van Hyper-V.

Notitie

Met Windows Server 2019 en of eerder als VM op het eerste niveau moet het aantal vCPU's 225 of minder zijn. Zie Maximumwaarden voor virtuele machines voor meer informatie over limieten voor virtuele machines.

Geneste virtualisatie uitschakelen

U kunt geneste virtualisatie uitschakelen voor een gestopte virtuele machine met behulp van de volgende PowerShell-opdracht:

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

Netwerkopties

Er zijn twee opties voor netwerken met geneste virtuele machines:

  1. MAC-adresvervalsing
  2. NAT-netwerken

MAC-adresvervalsing

Om ervoor te zorgen dat netwerkpakketten worden gerouteerd via twee virtuele switches, moet MAC-adresvervalsing zijn ingeschakeld op het eerste niveau van de virtuele switch (L1). Voer de volgende PowerShell-opdracht uit om adresvervalsing van MAC in te schakelen.

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

Network Address Translation (NAT)

De tweede optie is afhankelijk van NAT (Network Address Translation). Deze aanpak is het meest geschikt voor gevallen waarin ADRESvervalsing van MAC niet mogelijk is, zoals in een openbare cloudomgeving.

Eerst moet er een virtuele NAT-switch worden gemaakt op de virtuele hostmachine (de 'middle'-VM). In het volgende voorbeeld wordt een nieuwe interne switch met de naam VmNAT gemaakt en wordt een NAT-object gemaakt voor alle IP-adressen in het 192.168.100.0/24 subnet.

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

Wijs vervolgens een IP-adres toe aan de netadapter:

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

Aan elke geneste virtuele machine moet een IP-adres en gateway zijn toegewezen. Het IP-adres van de gateway moet verwijzen naar de NAT-adapter uit de vorige stap. U kunt ook een DNS-server toewijzen:

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>

Volgende stappen