Compartilhar via


Executar o Hyper-V em uma Máquina Virtual com a Virtualização Aninhada

A Virtualização Aninhada é um recurso que permite executar o Hyper-V dentro de uma máquina virtual (VM) do Hyper-V. A Virtualização Aninhada é útil para executar um emulador de telefone do Visual Studio em uma máquina virtual ou testar configurações que normalmente exigem vários hosts.

Para saber mais sobre a Virtualização Aninhada e os cenários com suporte, confira O que é Virtualização Aninhada para Hyper-V?.

Pré-requisitos

Processador Intel com a tecnologia VT-x e EPT

  • O host do Hyper-V deve ser Windows Server 2016 ou posterior ou Windows 10 ou posterior.
  • Configuração de VM versão 8.0 ou superior.

Processador AMD EPYC / Ryzen ou posterior

  • O host do Hyper-V deve ser Windows Server 2022 ou posterior ou Windows 11 ou posterior.
  • Configuração da VM versão 9.3 ou posterior.

Observação

O convidado pode ser qualquer sistema operacional convidado compatível com o Windows. Sistemas operacionais Windows mais novos podem dar suporte a esclarecimentos que aprimoram o desempenho. Para habilitar a Virtualização Aninhada em uma VM do Azure, certifique-se de definir o Tipo de Segurança como "Standard".

Configurar a Virtualização Aninhada

  1. Crie uma máquina virtual. Confira os pré-requisitos para as versões de SO e VM necessárias.

  2. Enquanto a máquina virtual estiver no estado OFF, execute o comando a seguir no host físico do Hyper-V para habilitar a virtualização aninhada para a máquina virtual.

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    
  3. Iniciar a máquina virtual.

  4. Instale o Hyper-V na máquina virtual, exatamente como você faria para um servidor físico. Para obter mais informações sobre como instalar o Hyper-V, confira Instalar o Hyper-V.

Observação

Ao usar o Windows Server 2019 como a VM de primeiro nível, o número de vCPUs deve ser 225 ou menos.

Desabilitar Virtualização Aninhada

Você pode desabilitar a virtualização aninhada para uma máquina virtual interrompida usando o seguinte comando do PowerShell:

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

Opções de rede

Há duas opções para redes com máquinas virtuais aninhadas:

  1. Falsificação de endereço MAC
  2. Rede NAT

Falsificação de endereço MAC

Para que os pacotes de rede sejam encaminhados por meio de dois comutadores virtuais, a falsificação de endereço MAC deverá ser habilitada no primeiro nível (L1) do comutador virtual. Para habilitar a falsificação de endereço MAC, execute o comando do PowerShell a seguir.

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

NAT (conversão de endereços de rede)

A segunda opção depende do NAT (conversão de endereços de rede). Essa abordagem é mais adequada para casos em que a falsificação de endereço MAC não é possível, como em um ambiente de nuvem pública.

Primeiro, é preciso criar um comutador NAT virtual na máquina virtual host (VM “intermediária”). O exemplo a seguir cria um novo switch interno nomeado VmNAT e cria um objeto NAT para todos os endereços IP na sub-rede192.168.100.0/24.

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

Em seguida, atribua um endereço IP ao adaptador de rede:

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

Cada máquina virtual aninhada deve ter um endereço IP e um gateway atribuído a ela. O IP do gateway deve apontar para o adaptador NAT da etapa anterior. Talvez você queira atribuir um servidor 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>

Próximas etapas