Trabalhar com uma máquina virtual dentro da outra. Esta é a proposta da virtualização aninhada. Grande parte dos novos processadores (pelo menos os mais novos), incluem recursos de hardware que tornam a virtualização mais rápida, mais segura e consequentemente mais eficiente. O Hyper-V do Windows Server 2016 possui em seu acervo de recursos as extensões de processador para executar máquinas virtuais (por exemplo, Intel VT-x e AMD-V).
Por padrão, após o inicio do Hyper-V é impedido que outros softwares usem esses recursos de processador, como por exemplo o VMWare Workstations ou qualquer outra aplicação (incluindo as próprias máquinas virtuais). Isso impede que máquinas virtuais convidadas executem o Hyper-V. O que faremos neste post, é retirar essa limitação e permitir que as máquinas virtuais possam acessar recursos do processador. Para este processo funcionar como se deve, é necessário atender a alguns pré requisitos:
- O host do Hyper-V e o convidado devem ser ambos Windows Server 2016/Atualização de Aniversário do Windows 10 ou posterior.
- Configuração de VM versão 8.0 ou posterior.
- Um processador Intel com a tecnologia VT-x e EPT
É possível efetuar a Virtualização Aninhada para ajudar com os laboratórios mais complexos que envolvem virtualização com o Hyper-V, utilizando o Windows Server 2016. No dia 10 de Julho de 2018, gravei este vídeo com todos os passos para complementar este post.
OBS.: Para saber mais sobre alguns comandos de powershell no Windows Server, clique aqui.
1. Vamos usar o comando get-vm para visualizar as máquinas virtuais disponíveis e seus status. A máquina virtual que faremos todo o processo precisa estar desligada
get-vm
2. Aqui faremos a configuração para que a máquina virtual receba a configuração relacionada ao uso do processador. Antes de instalar o Hyper-V dentro da máquina virtual, precisamos permitir o compartilhamento do recurso físico.
set-vmprocessor -vmname MCSA01 -exposevirtualizationextensions $true
3. Desabilite a memória dinâmica da máquina virtual
set-vmmemory -vmname MCSA01 -dynamicmemoryenable $false
4. Deixe a máquina virtual com 02 processadores virtuais
set-vmprocessor -vmname MCSA01 -count 2
5. Habilite o MAC Address Spoofing na interface de rede da maquina virtual
set-vmnetworkadapter -vmname MCSA01 -name "network adapter" -macaddressspoofing on
6. Inicie a VM com o comando start-vm
Start-VM –MCSA01
Para saber mais sobre o assunto e localizar mais comandos do powershell que permitam atuar em cenários mais complexos, recomendo a leitura do artigo abaixo:
REF: https://docs.microsoft.com/pt-br/virtualization/hyper-v-on-windows/user-guide/nested-virtualization