Compartilhar via


Habilitar a virtualização aninhada no Azure Lab Services

A virtualização aninhada dá suporte a um laboratório no Azure Lab Services que contém um ambiente de várias VMs (máquinas virtuais). Você pode preparar um modelo de laboratório para seu ambiente de várias VMs. Os usuários não precisam habilitar a virtualização aninhada na VM de laboratório deles nem instalar as VMs aninhadas nela. Quando você publica o laboratório, cada usuário do laboratório tem uma VM de laboratório que já contém as VMs aninhadas.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Para obter conceitos, considerações e recomendações sobre virtualização aninhada, consulte a virtualização aninhada no Azure Lab Services.

Observação

Os aplicativos de virtualização diferentes do Hyper-V não são compatíveis com virtualização aninhada. Isso inclui todo software que exija as extensões de virtualização de hardware.

Importante

Selecione Grande (virtualização aninhada) ou Médio (virtualização aninhada) para o tamanho da máquina virtual ao criar o laboratório. Caso contrário, a virtualização aninhada não funcionará.

Habilitar a virtualização aninhada

Para habilitar a virtualização aninhada na VM de modelo, primeiro se conecte à VM usando um cliente RDP (área de trabalho remota). Em seguida, você pode aplicar as alterações de configuração executando um script do PowerShell ou usando ferramentas do Windows.

Importante

Recomendamos que você use a virtualização aninhada com o Windows 11. Você pode aproveitar o 'Comutador padrão' criado ao instalar o Hyper-V em um sistema operacional cliente Windows. Você deve usar a virtualização aninhada em sistemas operacionais do Windows Server quando precisar de controle adicional sobre as configurações de rede.

Você pode usar um script do PowerShell para configurar a virtualização aninhada em uma VM de modelo no Azure Lab Services. As etapas a seguir explicam como usar os scripts do Hyper-V relativos ao Lab Services. O script destina-se ao Windows 11.

  1. Siga estas etapas para se conectar com o computador de modelo e atualizá-lo.

  2. Inicie o PowerShell como um Administrador.

  3. Pode ser necessário alterar a política de execução para executar o script com sucesso. Execute o comando a seguir:

    Set-ExecutionPolicy bypass -force
    
  4. Baixe e execute o script para habilitar o recurso e as ferramentas do Hyper-V.

    Invoke-WebRequest 'https://aka.ms/azlabs/scripts/hyperV-powershell' -Outfile SetupForNestedVirtualization.ps1
    .\SetupForNestedVirtualization.ps1
    

    Observação

    O script pode exigir que você reinicie a VM. Caso exija, interrompa e inicie a VM de modelo no site do Azure Lab Services e execute o script novamente até que Script concluído seja exibido na saída.

  5. Não se esqueça de redefinir a política de execução.

    Set-ExecutionPolicy default -force
    

Agora a VM de modelo está configurada para ser usada com virtualização aninhada. Você pode criar VMs dentro dela. Use a opção especificada pelo script ao criar novas VMs do Hyper-V.

Conectar-se a uma VM aninhada em outra VM de laboratório

Há necessidade de configuração adicional para se conectar de uma VM aninhada em uma VM de laboratório a uma VM aninhada hospedada em outra VM de laboratório. Adicione um mapeamento estático à instância NAT com o cmdlet Add-NetNatStaticMapping do PowerShell.

Observação

Você não pode usar o comando ping para testar a conectividade de ou para uma VM aninhada.

Observação

O mapeamento estático só funciona ao usar endereços IP privados. A VM a partir da qual o usuário do laboratório está se conectando deve ser uma VM de laboratório ou a VM deve estar na mesma rede se estiver usando rede avançada.

Cenários de exemplo

Considere a configuração de laboratório de exemplo a seguir:

  • VM de laboratório 1 (Windows Server 2022, IP 10.0.0.8)

    • VM aninhada 1-1 (Ubuntu 20.04, IP 192.168.0.102, SSH permitido)
    • VM aninhada 1-2 (Windows 11, IP 192.168.0.103, área de trabalho remota habilitada e permitida)
  • VM de laboratório 2 (Windows Server 2022, IP 10.0.0.9)

    • VM aninhada 2-1 (Ubuntu 20.04, IP 192.168.0.102, SSH permitido)
    • VM aninhada 2-2 (Windows 11, IP 192.168.0.103, área de trabalho remota habilitada e permitida)

Habilite a conexão com o SSH da VM do laboratório 2 para a VM de laboratório aninhada 1-1:

  1. Na VM de laboratório 1, adicione um mapeamento estático:

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.102 -InternalPort 22 -ExternalPort 23
    
  2. Na VM de laboratório 2, conecte-se usando SSH:

    ssh user1@10.0.0.8 -p 23
    

Habilite a conexão com o RDP da VM 2 do laboratório ou suas VMs aninhadas para a VM de laboratório aninhada 1-2:

  1. Adicione um mapeamento estático na VM de laboratório 1.

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.103 -InternalPort 3389 -ExternalPort 3390
    
  2. Na VM de laboratório 2 ou em suas VMs aninhadas, conecte-se usando o RDP para 10.0.0.8:3390.

    Importante

    Inclua ~\ na frente do nome de usuário. Por exemplo, ~\Administrator ou ~\user1.

Solução de problemas

Essas sugestões podem resolver alguns problemas comuns.

A VM do Linux está mostrando apenas uma tela preta

Execute as seguintes etapas para verificar sua configuração de VM aninhada:

O Hyper-V não inicializa com o erro The virtual machine is using processor-specific xsave features not supported

  • Esse erro pode acontecer quando um usuário de laboratório deixa a VM do Hyper-V no estado salvo. Você pode selecionar a VM no Gerenciador do Hyper-V com o botão direito do mouse e selecionar Excluir estado salvo.

    Cuidado

    Excluir o estado salvo significa que qualquer trabalho não salvo é perdido, mas qualquer coisa salva no disco permanece intacta.

  • Esse erro pode acontecer quando a VM do Hyper-V está desativada e o arquivo VHDX está corrompido. Se o usuário do laboratório criou um backup do arquivo VDHX, será possível restaurar a VM a partir desse ponto.

Recomendamos que você defina a ação de desligamento automático definida para desligar em VMs Hyper-V.

O Hyper-V está muito lento

Aumente o número de vCPUs e memória atribuídas à VM do Hyper-V no Gerenciador do Hyper-V. O número total de vCPUs não pode exceder o número de núcleos da VM do host (VM de laboratório). Se você estiver usando memória variável, a opção padrão, aumente a quantidade mínima de memória atribuída à VM. A quantidade máxima de memória atribuída (se você estiver usando memória variável) pode exceder a quantidade de memória da VM do host. Essa abordagem permite maior flexibilidade ao ter que concluir operações intensivas em apenas uma das VMs do Hyper-V.

Se você estiver usando o tamanho Médio (Virtualização Aninhada) da VM para o laboratório, considere usar o tamanho Grande (Virtualização Aninhada) da VM a fim de ter mais recursos de computação para cada VM de laboratório.

A conectividade com a Internet não está funcionando para VMs aninhadas

  • Verifique se você seguiu as etapas anteriores para habilitar a virtualização aninhada. Considere usar a opção de script do PowerShell.

  • Verifique se a função DHCP está instalada na VM do host (VM de laboratório), se você estiver usando o Windows Server.

    Executar uma VM de laboratório como um servidor DHCP é um cenário sem suporte. Confira Posso implantar um servidor DHCP em uma rede virtual?. Alterar as configurações da VM de laboratório pode causar problemas com outras VMs de laboratório.

  • Verifique as configurações do adaptador de rede para a VM do Hyper-V.

    • Defina o endereço IP do servidor DNS e do servidor DHCP como 168.63.129.16.

    • Se o endereço IPv4 da VM convidada for definido manualmente, verifique se ele está no intervalo da rede NAT conectada ao comutador do Hyper-V.

    • Experimente habilitar a proteção do DHCP e a proteção do roteador do Hyper-V.

      Get-VMNetworkAdapter * | Set-VMNetworkAdapter -RouterGuard On -DhcpGuard On
      

Observação

Você não pode usar o comando ping de uma VM do Hyper-V para a VM do host. Para testar a conectividade com a Internet, inicie um navegador da Web e verifique se a página da Web carrega corretamente.

Não é possível inicializar VMs a partir do Hyper-V

Você pode optar por criar um usuário não administrador ao criar um laboratório. Para poder inicializar ou interromper VMs do Hyper-V, você precisa adicionar um usuário desse tipo ao grupo de Administradores do Hyper-V. Para obter mais informações sobre o Hyper-V e usuários não administradores, consulte Usuário não administrador.

Após você configurar a virtualização aninhada está configurada na VM de modelo, você pode criar máquinas virtuais aninhadas com o Hyper-V. Consulte o Centro de avaliação da Microsoft para conferir o software e os sistemas operacionais disponíveis.