Como habilitar a virtualização aninhada no Microsoft Azure
Ready to See CloudLabs in Action?
Turn your ideas into hands-on experiences. Tell us what you're looking for, and team CloudLabs will help you find the right solution.
As tecnologias de nuvem e os programas de software estão passando por mudanças evolutivas ao longo dos anos. Embora tenhamos nos acostumado a usar alguns sistemas operacionais específicos de nossa escolha, como a série Windows, Linux ou macOS, agora temos a liberdade de executar diferentes SO (sistemas operacionais) simultaneamente para diferentes aplicações e aproveitar ao máximo os recursos disponíveis.
Isso é possível graças ao conceito de virtualização aninhada.
O que é virtualização aninhada?
A eficiência de instalar VMs dentro de uma VM é a virtualização aninhada. Para ser mais preciso, precisamos de um hipervisor sobreposto a um componente de hardware. Esse hipervisor, chamado de hipervisor host, extrai recursos do hardware do computador e cria máquinas virtuais que chamamos de convidado externo. Com a virtualização aninhada, você pode instalar um hipervisor dentro da VM que criou; este será chamado de hipervisor convidado e, a partir dele, você poderá gerar várias VMs dentro da VM existente.
Pré-requisitos para executar máquinas Hyper-V
A seguir estão os requisitos para executar hosts Hyper-V dentro de uma máquina virtual convidada:
- Tanto o host quanto o convidado Hyper-V devem ser Windows Server 2016 ou Windows 10 Anniversary update ou versão posterior
- O nível de configuração da VM deve ser 8.0 ou superior
- Atualmente, apenas processadores Intel são compatíveis, executando a tecnologia VT-x e EPT
Requisitos específicos do Azure
- Criar uma VM com Windows Server 2016
- Todas as máquinas virtuais v3 são compatíveis com a virtualização aninhada
Hipervisores e seus casos de uso
Existem dois tipos principais de hipervisores que você pode implementar em seus ambientes de sandbox:
Hipervisores de tipo 1: também conhecidos como hipervisores “bare metal”, são instalados diretamente no computador que hospedará os ambientes virtuais. Se você deseja executar diversos servidores virtuais em uma única máquina, esta é a melhor opção. Microsoft Hyper-V, Citrix XenServer e VMware ESXi são os hipervisores de tipo 1 mais comuns.
Hipervisores de tipo 2: a virtualização de rede na nuvem requer hipervisores “hospedados” de tipo 2. Os hipervisores são um tipo de software hospedado que é executado sobre o sistema anfitrião. Vários sistemas operacionais podem ser executados em um hipervisor de tipo 2. São a melhor opção para empresas que desejam testar uma variedade de sistemas operacionais. Microsoft VirtualPC, VMWare e VMWork são os hipervisores de tipo 2 mais comuns.
Virtualização no Azure
No que diz respeito ao Azure, você não só pode criar um contêiner Hyper-V com o Docker, como também pode criar uma VM dentro de uma VM usando a virtualização aninhada. Esse ambiente aninhado oferece muita versatilidade para atender às suas demandas em diferentes áreas, como desenvolvimento, testes, treinamento de clientes, demonstrações e assim por diante.
Por exemplo, suponha que hoje você tenha uma equipe de testes usando hosts Hyper-V no local. Ela agora pode migrar facilmente suas cargas de trabalho para o Azure usando VMs aninhadas como máquinas de teste virtualizadas. Os hosts de VM aninhadas serão usados para substituir os hosts Hyper-V físicos, e cada engenheiro de testes terá controle total sobre a funcionalidade do Hyper-V em seu próprio host de VM atribuído no Azure.
Vantagens de adotar a virtualização aninhada
A virtualização aninhada oferece maior flexibilidade e reduz os custos indiretos em comparação com as VMs tradicionais.
Executar um Hyper-V dentro de uma VM ajuda você a otimizar ainda mais os ambientes virtuais, resultando nas seguintes vantagens:
- Economia de custos: aumente o número de ferramentas que você pode usar e o número de cargas de trabalho que você pode executar sem precisar comprar novo hardware.
- Ganho de flexibilidade: você ganha flexibilidade ao poder executar vários hipervisores no mesmo servidor.
- Trabalhar com versões anteriores de software: execute software que exija uma versão anterior do Windows ou um sistema operacional diferente do Windows.
- Configurações para testes: crie e desinstale vários sistemas operacionais para ver qual funciona melhor para o negócio do seu cliente.
- Suporte a contêineres: combine a flexibilidade dos contêineres com a segurança das máquinas virtuais. Os contêineres significam menos sobrecarga e mais flexibilidade no desenvolvimento e na implantação de aplicativos.
Usos da virtualização aninhada no mundo real:
- Use a virtualização aninhada para criar instâncias de desenvolvimento ou de teste. Em vez de comprar um servidor físico dedicado, provisione um servidor com um hipervisor e crie VMs conforme necessário
- Use a virtualização aninhada para treinar/ensinar novos membros sobre o Hyper-V
- Use a virtualização aninhada como alternativa a uma nuvem privada. Construir uma nuvem privada pode ser desafiador e dispendioso
Criar uma VM Hyper-V no Azure:
- Na página https://portal.azure.com/, selecione Virtual machines na interface web.
- Na página Virtual machines (Home > Virtual Machine), clique em Create para criar uma máquina virtual.
- A página de criação da VM contém várias guias, e cada guia contém algumas seções.
- Primeiro, precisamos adicionar os detalhes da assinatura na guia de assinatura, rolando para baixo e selecionando onde queremos que fique nossa máquina virtual.
- Em seguida, precisamos selecionar um grupo de recursos ou criar um novo.
- Depois, precisamos atribuir um nome à nossa máquina virtual
- Em seguida, precisamos adicionar a região onde queremos que nossa máquina virtual fique.
- Selecione uma VM do Windows no tipo de imagem; podemos selecionar qualquer imagem do Windows, seja 206, 2019 ou 2022; aqui, na imagem, selecionamos a imagem 2022.
- Agora, precisamos selecionar o tamanho da máquina; escolhemos o tamanho de máquina D2s_V3.
Observação:
*Tamanhos de VM do Azure que suportam a virtualização aninhada * * *
*D_v3 * * *
*Ds_v3 *
-
E_v3 *
-
Es_v3 *
-
M *
-
F2s_v2 – F72s_v2*
- Em seguida, precisamos configurar o nome de usuário e a senha para a autenticação na VM.
- Agora, como é uma VM do Windows, precisamos garantir que habilitamos a porta 3389 para RDP (Remote Desktop Protocol) para a VM nas regras de entrada, conforme mencionado na imagem abaixo.
- Como aqui precisamos executar várias VMs convidadas no Hyper-V, é recomendável usar um disco Premium SSD. Portanto, estamos usando Premium SSD; o restante das configurações na guia de disco pode ser mantido como padrão.
- Clique em Next.
- Agora, precisamos adicionar uma rede e uma sub-rede onde nossa VM ficará.
- Podemos criar uma Virtual Network clicando em Create new
- Consulte a imagem abaixo para criar uma rede virtual para sua máquina virtual
- Deixe o restante das configurações como padrão.
- Dependendo dos requisitos, podemos desabilitar os diagnósticos, optar pela configuração padrão Enable with managed storage account, ou usar uma conta de armazenamento que já tenhamos criado, se houver. Veja a imagem abaixo como referência.
- O restante das configurações pode ser deixado como padrão.
- Agora, clique em Review and Create.
- Assim que a VM estiver pronta, podemos acessá-la usando o cliente RDP, conforme mencionado nas etapas abaixo.
Etapa 1: Copie o endereço IP público que você obteve da VM.
Etapa 2: Abra o cliente RDP, cole o IP público que você obteve e clique em conectar.
Etapa 3: Agora adicione as credenciais que você definiu para a autenticação e clique em conectar; você será redirecionado para a VM.
Instalar a função Hyper-V:
Assim que fizermos login usando o IP público da VM que acabamos de criar, podemos instalar a função Hyper-V usando o Server Manager e clicar em Add roles and features.
- Clique em Next na página Before you begin
- Em Installation Type, selecione Role-based or feature-based installation
[Text Wrapping Break]
- Agora selecione o Destination server no Server Pool
- Agora selecione a função Hyper-V que queremos instalar
- Clique em Add Feature para que todos os recursos exigidos pela função Hyper-V sejam instalados
- Agora, clique em next para prosseguir com a instalação da função Hyper-V
- Selecione o adaptador de rede Microsoft Hyper-V (Ethernet) que pode ser usado como External Switch para as VMs convidadas do Hyper-V
- Um comutador virtual do Hyper-V em modo externo permite as comunicações entre os adaptadores virtuais conectados às máquinas virtuais e o sistema operacional de gerenciamento. Ele usa adaptadores físicos individuais ou agrupados (teamed) para se conectar a um comutador físico, permitindo assim as comunicações com outros sistemas.
- Selecione os protocolos que você deseja usar para autenticar as migrações ao vivo.
No Windows Server, live migration é uma funcionalidade do Hyper-V. Ela permite realocar máquinas virtuais em execução de um host Hyper-V para outro sem causar qualquer tempo de inatividade perceptível. A principal vantagem da migração ao vivo é que as máquinas virtuais em execução não ficam vinculadas a uma única máquina host.
Isso possibilita atividades como esvaziar um host de máquinas virtuais antes de desativá-lo ou atualizá-lo. A migração ao vivo, quando combinada com o Windows Failover Clustering, permite o estabelecimento de um sistema altamente disponível e tolerante a falhas.
- Agora, selecione o local padrão dos arquivos de disco rígido virtual e dos arquivos de configuração da máquina virtual.
- Agora clique em install e reinicie a VM.
Configurar a rede no Hyper-V:
- Assim que a instalação for concluída, clique em Tools no Server Manager e clique em Hyper-V manager
- Agora, vamos criar um comutador Virtual NAT chamado Internal
- Depois que meu comutador for criado, executaremos o cmdlet abaixo para encontrar o número ifIndex do Virtual Switch, que é o número 17.
- Agora, vamos criar um endereço IP de Default Gateway
- Agora criaremos a sub-rede NAT com o espaço de endereços 192.168.100.0, o que significa que todas as VMs que eu criar precisarão estar no intervalo da sub-rede.
- Agora, vamos criar uma VM dentro do Hyper-V, clique em New -> Virtual Machine
- Na janela New Virtual Machine Wizard, na página Before You Begin, clique em Next.
- Na página Specify Name and Location, digite o nome da nova máquina virtual na caixa Name. Neste exemplo, o nome da VM é L1-VM.
Se você precisar alterar o local da nova VM, marque a caixa Store the virtual machine in a different location e, em seguida, navegue ou insira o caminho na caixa Location. Se o caminho da pasta que você especificar não existir, o assistente o criará.
- Em seguida, na página Specify Generation, escolha a versão de geração da VM.
As opções são:
- Generation 1: suporta sistemas operacionais convidados de 32 bits e 64 bits a partir do Windows 7 e do Windows Server 2008. Este exemplo usará uma VM de Generation 1.
- Generation 2: suporta apenas sistemas operacionais convidados de 64 bits a partir do Windows 8 e do Windows Server 2012. Esta geração também possui firmware baseado em UEFI. Depois de selecionar uma geração de VM, clique em Next.
- Na página Assign Memory, especifique quanta memória atribuir à VM. Este exemplo atribui 4 GB (4096 MB) de memória à VM.
Desmarque a caixa Use Dynamic Memory for this virtual machine. As VMs aninhadas do Hyper-V não suportam memória dinâmica. Depois de finalizar as configurações de memória, clique em Next
- Na página Configure Networking, selecione o adaptador de rede que você gostaria de anexar a esta VM. Nós anexamos aquele que criamos nas etapas anteriores.
- Em seguida, na página Connect Virtual Hard Disk, você tem a opção de:
- Create a virtual hard disk: esta opção cria um novo disco rígido virtual (VHD) e permite personalizar o nome, o local e o tamanho. O novo VHD estará vazio, e você terá que instalar um sistema operacional depois.
- Use an existing virtual hard disk: esta opção permite escolher um VHD existente (se você tiver um) que deseje anexar à VM em vez de criar um novo.
- Attach a virtual hard disk later: escolha esta opção se quiser pular esta etapa e continuar criando a VM sem um VHD. Você ainda poderá criar um novo VHD ou anexar um existente depois de ter criado a VM.
- Na página Installation Options, escolha como você deseja instalar o sistema operacional (SO); nós o instalamos usando a opção ISO (a iso foi baixada por nós pelo chrome, do windows 2016 (Windows) e do Ubuntu (Linux), que usaremos:
- Por fim, na página Completing the New Virtual Machine Wizard, revise a descrição da nova VM. Quando tiver certeza de que não pulou nenhuma etapa, clique em Finish.
- Agora, vamos até as configurações da VM que criamos e alteramos o adaptador de rede para InternalNATSwitch.
Observação: - Como já conectamos este comutador durante a criação da VM, podemos realizar esta etapa para verificar o comutador.
Agora, vamos configurar o endereço IP do adaptador de rede para que esteja na mesma sub-rede que a rede NAT, com o gateway padrão do NAT (192.168.100.11)
- Agora, podemos verificar a VM convidada, e a Internet estará habilitada.
Como também baixamos a ISO do Linux Ubuntu, agora configuraremos a Internet na VM convidada Linux:
Seguiremos as mesmas etapas acima para criar uma VM convidada e apenas adicionaremos a ISO do Ubuntu na seção iso e o nome da VM convidada, conforme mencionado abaixo: -
Agora, vamos configurar o endereço IP do adaptador de rede para que esteja na mesma sub-rede que a rede NAT, com o gateway padrão do NAT (192.168.100.12)
- Agora, podemos verificar a VM convidada Linux, e a Internet estará habilitada.
Conclusão:
A virtualização aninhada é um grande passo à frente para a plataforma Hyper-V da Microsoft executada no Azure. O Azure fornece uma poderosa plataforma de infraestrutura, disponível de qualquer lugar, que é executada sobre a infraestrutura de data center de classe mundial da Microsoft. Utilizar o Azure para executar VMs aninhadas é uma ótima maneira de provisionar recursos facilmente para casos de uso de DEV/TEST ou até mesmo de produção, como os contêineres Hyper-V. O provisionamento de máquinas virtuais aninhadas em execução no Azure é facilmente realizado com apenas algumas etapas, a maioria das quais pode ser feita usando o PowerShell. Isso oferece uma ótima ferramenta para os administradores de Hyper-V provisionarem recursos aninhados não apenas no local, mas também no ambiente de nuvem pública do Azure. Isso permite escalar recursos e ambientes de prod/dev/test de forma quase infinita.
Há uma série de razões para você usar a virtualização aninhada. Com flexibilidade avançada, gestão eficaz de cargas de trabalho, para fins de teste e treinamento e tudo isso sem a necessidade de hardware adicional. Pode haver alguns problemas de compatibilidade entre o hipervisor host e o hipervisor convidado ou o SO de suporte, mas, com a orientação adequada, você pode enfrentar esses desafios e aproveitar ao máximo uma tecnologia mais sofisticada.
Ready to See CloudLabs in Action?
Turn your ideas into hands-on experiences. Tell us what you're looking for, and team CloudLabs will help you find the right solution.




