[Artigo] Habilitando o Recurso Nested Virtualization no Windows Server 2016 e Windows 10

Bom dia!

O Windows Server 2016 e o Windows 10, estão trazendo um novo recurso do Hyper-V que é muito bem vindo para quem gosta, e precisa, fazer testes de clusterização, como eu, e não tem acesso a uma infraestrutura física (servidores, storages, etc.) que a possibilite. Por isso que a virtualização aninhada (nested virtualization), que é o novo recurso do Hyper-V, pode ajudar, e muito!

Sendo direto, nested virtualization é executar uma VM host com o Hyper-V, dentro de uma VM host com o Hyper-V. Ficou confuso? Vamos lá, que te vou mostrar!

Primeiramente, você pode usar um computador físico (ou notebook) com o Windows Server 2016 RTM ou o Windows 10 (versão 1607). No meu caso, usei o meu notebook com o Windows 10 para fazer o laboratório deste artigo. Estou com o Hyper-V instalado e a VM que eu vou habilitar o recurso, chama-se W2K16. Vide imagens abaixo:

Outro ponto importante, são os requerimentos para utilizar esse recurso:

  • A VM deve estar desligada, antes de fazer as configurações para habilitar o recurso;
  • Todo Save State deve ser apagado;
  • Memória dinâmica deve ser desativada e a VM deve ter a quantidade de memória RAM suficiente para executar a VM e o host, sem prejudicar muito a performance;
  • MAC address spoofing é necessária, caso a VM, que esteja rodando dentro da VM, precise utilizar a rede;
  • O mais importante, e a causa de muitos erros, as extensões de virtualização devem ser ativadas na VM que vai rodar dentro da VM. 🙂

Habilitando a Virtualização Aninhada (Nested Virtualization)

No host com o Hyper-V, você cria uma VM do Windows Server 2016, conforme imagem abaixo:

Quando finalizar a instalação, acesse a VM e faça as configurações básicas, como renomear o servidor, colocar IP, etc. Vide imagem abaixo:

Agora, desligue a VM.

Vou mostrar o erro que ocorre, quando se tenta instalar a função Hyper-V em uma VM sem o recurso nested virtualization habilitado:

Com a VM ainda desligada, vamos executar o comando para habilitar as extensões de virtualização, na VM que vai executar o Hyper-V, dentro da VM host. O comando deve ser executado no Windows PowerShell, com privilégios administrativos:

  • Set-VMProcessor -VMname <nome da VM> -ExposeVirtualizationExtensions $true

Agora, vamos habilitar o MAC address spoofing, com o seguinte comando:

  • Get-VMNetworkAdapter -VMName <nome da VM> | Set-VMNetworkAdapter -MacAddressSpoofing On

Neste momento, a VM está habilitada para executar o Hyper-V.

A função Hyper-V pode ser instalada via Server Manager ou através de dois comandos PowerShell, conforme abaixo:

  • Add-WindowsFeature Hyper-V
  • Add-WindowsFeature RSAT-Hyper-V-Tools

Depois de instalado, reinicie a VM para aplicar as mudanças.

Então, deu certo? Se não deu, repita as operações acima, pode ter escapado algum detalhe! 😉

A imagem abaixo, mostra a VM NanoServer sendo executada no Hyper-V da VM W2K16, que está sendo executado no Hyper-V do Windows 10, no meu notebook Eddie! Legal, né! 🙂

Até a próxima e fiquem com Deus!!

Jorge Barata

Leave a Reply

Your email address will not be published. Required fields are marked *