O que é Virtualização Aninhada?

A virtualização aninhada é um recurso que permite executar o Hyper-V em uma VM (máquina virtual) do Hyper-V. Ao longo dos anos, o hardware melhorou e os casos de uso da Virtualização Aninhada se expandiram. Por exemplo, a Virtualização Aninhada pode ser útil para:

  • Executar aplicativos ou emuladores em uma VM aninhada
  • Testar versões de software em VMs
  • Reduzir os tempos de implantação para ambientes de treinamento
  • Usar o isolamento do Hyper-V para contêineres

Os processadores modernos incluem recursos de hardware que tornam a virtualização mais rápida e mais segura. O Hyper-V conta com essas extensões de processador para executar máquinas virtuais (por exemplo, Intel VT-x e AMD-V). A virtualização aninhada torna esse suporte a hardware disponível para máquinas virtuais convidadas.

O diagrama a seguir mostra o Hyper-V sem aninhamento. O hipervisor do Hyper-V assume o controle total dos recursos de virtualização de hardware (seta laranja) e não os expõe ao sistema operacional convidado.

Diagrama dos níveis do Hyper V com virtualização aninhada desabilitada.

Em contrapartida, o diagrama a seguir mostra o Hyper-V com a virtualização aninhada habilitada. Nesse caso, o Hyper-V expõe as extensões de virtualização de hardware para suas máquinas virtuais. Com o aninhamento habilitado, uma máquina virtual convidada pode instalar seu próprio hipervisor e executar suas próprias VMs convidadas.

Diagrama dos níveis do Hyper V com virtualização aninhada habilitada.

Redimensionamento de Memória de Runtime e Memória Dinâmica

Quando o Hyper-V está em execução em uma máquina virtual, a máquina virtual deve ser desativada para ajustar sua memória. Isso significa que mesmo se a memória dinâmica estiver habilitada, a quantidade de memória não varia. Habilitar a virtualização aninhada não tem efeito na memória dinâmica ou redimensionamento de memória de runtime.

Para máquinas virtuais sem memória dinâmica habilitada, a tentativa de ajustar a quantidade de memória enquanto ela estiver em execução falhará. A incompatibilidade ocorre somente enquanto o Hyper-V está em execução na VM.

Aplicativos de virtualização de terceiros

Aplicativos de virtualização diferentes do Hyper-V não tem suporte em máquinas virtuais do Hyper-V e provavelmente falharão. Os aplicativos de virtualização incluem qualquer software que exija extensões de virtualização de hardware.

Cenários com suporte

O uso de uma VM do Hyper-V aninhada em produção é compatível com o Azure e o local nos cenários a seguir. Também recomendamos que você verifique se seus serviços e aplicativos também têm suporte.

A Virtualização Aninhada não é adequada para Clustering de Failover do Windows Server e aplicativos sensíveis ao desempenho. Recomendamos que você avalie totalmente os serviços e aplicativos.

VMs do Hyper-V em VMs do Hyper-V

Executar VMs do Hyper-V aninhadas em VMs do Hyper-V é ótimo para laboratórios de teste e ambientes de avaliação. Especialmente quando as configurações podem ser facilmente modificadas e os estados salvos podem ser usados na reversão para configurações específicas. Os laboratórios de teste normalmente não exigem o mesmo SLA (contrato de nível de serviço) que os ambientes de produção.

Há suporte para ambientes de produção que executam VMs do Hyper-V em execução em VMs do Hyper-V. No entanto, é recomendável garantir que seus serviços e aplicativos também sejam compatíveis. Se você usar uma VM aninhada do Hyper-V em produção, é recomendável avaliar totalmente se os serviços ou aplicativos fornecem o comportamento esperado.

Para saber mais sobre como configurar a Virtualização Aninhada no Azure, consulte nosso blog da Tech Community Como configurar a virtualização aninhada para VM/VHD do Azure.

Virtualização de terceiros na virtualização do Hyper-V

Embora possa ser possível que a virtualização de terceiros seja executada no Hyper-V, a Microsoft não testa esse cenário. Não há suporte para virtualização de terceiros na virtualização do Hyper-V. Verifique se o fornecedor do hipervisor dá suporte a esse cenário.

Virtualização do Hyper-V na virtualização de terceiros

Embora possa ser possível que a virtualização do Hyper-V seja executada na virtualização de terceiros, a Microsoft não testa esse cenário. Não há suporte para a virtualização do Hyper-V na virtualização de terceiros, verifique se o fornecedor do hipervisor dá suporte a esse cenário.

Azure Stack HCI aninhado em VMs do Hyper-V

O Azure Stack HCI foi projetado e testado para ser executado em hardware físico validado. O Azure Stack HCI pode ser executado aninhado em uma máquina virtual para avaliação, mas não há suporte para ambientes de produção em uma configuração aninhada.

Para saber mais sobre o Azure Stack HCI aninhado em VMs do Hyper-V, consulte Virtualização aninhada no Azure Stack HCI.

Contêineres isolados do Hyper-V em execução aninhados no Hyper-V

A Microsoft oferece isolamento do Hyper-V para contêineres. Esse modo de isolamento oferece segurança aprimorada e maior compatibilidade entre as versões do host e do contêiner. Com o isolamento do Hyper-V, várias instâncias de contêiner são executadas simultaneamente em um host. Cada contêiner é executado dentro de uma máquina virtual altamente otimizada e obtém efetivamente seu próprio kernel. Como um contêiner isolado do Hyper-C oferece isolamento por meio de uma camada do hipervisor entre si e o host do contêiner, quando o host do contêiner é uma máquina virtual baseada no Hyper-V, há uma sobrecarga de desempenho. A sobrecarga de desempenho associada ocorre em termos de tempo de inicialização do contêiner, armazenamento, rede e operações de CPU.

Quando um contêiner isolado do Hyper-V é executado em uma VM do Hyper-V, ele está em execução aninhado. O uso de uma VM do Hyper-V abre muitos cenários úteis, mas também aumenta a latência, pois há dois níveis de hipervisores em execução acima do host físico.

Há suporte para a execução de contêineres isolados do Hyper-V aninhados no Hyper-V.

Para saber mais sobre contêineres aninhados do Hyper-V, consulte Ajuste de desempenho em contêineres do Windows Server.

Executando o WSL2 em uma VM do Hyper-V em execução aninhada no Hyper-V

O Subsistema do Windows para Linux (WSL) é um recurso do sistema operacional do Windows que permite executar um sistema de arquivos Linux, juntamente com ferramentas de linha de comando do Linux e aplicativos GUI, diretamente no Windows.

Há suporte para a execução do WSL2 em uma VM Hyper-V aninhada no Hyper-V.

Para saber mais sobre como habilitar o WSL 2 para execução em uma VM, consulte Perguntas frequentes sobre o Subsistema do Windows para Linux.

Próxima etapa