Articles

Passos para implantar VMs Hyper-V em um VMware ESXi Server

Existem muitas coisas ótimas que você pode fazer sobre os modernos sistemas hypervisor de hoje em dia que fornecem uma ótima maneira de resolver problemas de negócios e desafios técnicos. Uma das coisas realmente legais que você pode fazer com os hypervisors atuais, como o VMware vSphere, é configurar a virtualização aninhada. Isso abre muitas possibilidades diferentes de testar e executar hypervisors dentro do VMware vSphere.

Um caso de uso comum que muitos encontraram para executar a virtualização aninhada dentro do VMware vSphere está executando o hipervisor Hyper-V da Microsoft para fins de teste e aprendizado.

Neste post, vamos dar uma olhada na configuração de VMs Hyper-V aninhadas em um VMware ESXi Server e ver como isso pode ser configurado para uso em um laboratório ou outro ambiente.

O que é Virtualização Aninhada

Antes de mergulhar em como configurar o VMware vSphere para habilitar a virtualização aninhada do Hyper-V dentro do servidor ESXi, vamos dar uma olhada no que é exatamente a virtualização aninhada. Quando pensamos em virtualização aninhada, estamos falando em executar um hipervisor dentro de um hipervisor. Isso significa que você pode executar hipervisores Tipo 1 como o VMware vSphere ESXi e o Hyper-V dentro de uma VM sobre, neste caso, o VMware vSphere ESXi.

O hypervisor rodando na VM em cima do servidor VMware vSphere ESXi simplesmente visualiza o hardware da VM como seu hardware host físico no qual ele pode rodar máquinas virtuais convidadas. Isso permite alguns cenários muito interessantes ao usar seu ambiente VMware vSphere para hospedar outros hypervisors como o Microsoft Hyper-V.

Um ponto importante a se fazer em relação ao VMware vSphere é a virtualização aninhada de outros hypervisors como o Hyper-V dentro de um VM vSphere não é um cenário suportado. Não são apenas outros hipervisores fora do VMware vSphere. Mesmo a execução do ESXi aninhado dentro de um ambiente host ESXi físico não é suportada. Isso é oficialmente observado pela VMware no artigo KB Suporte para executar o ESXi/ESX como uma solução de virtualização aninhada (2009916).

As seguintes configurações são tecnicamente possíveis ao executar o VMware ESXi dentro de outros produtos VMware hypervisor, mas não é suportado. Isso inclui o seguinte.

>

  • VMware ESXi/ESX rodando em VMware Workstation ou VMware Fusion
  • VMware ESXi/ESX rodando em VMware ESXi/ESX
  • VMware ESXi/ESX rodando em outras soluções hypervisor de terceiros

Obviamente, a execução do Hyper-V se enquadra nesse mesmo tipo de isenção de responsabilidade de suporte. Há apenas uma situação em que a virtualização aninhada é suportada e que é o aparelho aninhado vSAN Witness.

Para além deste caso de uso suportado com o aparelho vSAN Witness Appliance, a virtualização aninhada não é suportada para o ambiente de produção. Em outras palavras, se você encontrar problemas usando a virtualização aninhada, você está por conta própria com suporte.

Desde que você entenda o cenário de suporte com a virtualização aninhada, é um ótimo recurso para alavancar para outros propósitos. Ele pode ser usado com muita eficiência para ambientes de laboratório, dev, teste e outros tipos similares de cenários.

Por que executar Hyper-V Dentro do VMware

Por que você gostaria de executar um hipervisor dentro de outro hipervisor? Mais especificamente, por que você gostaria de rodar o Hyper-V dentro de um VMware ESXi VM? Como já mencionado, esta não é uma configuração suportada para uso em produção. Executar o Hyper-V dentro do VMware oferece muitas grandes vantagens. Vamos ver o seguinte:

  • Ambientes de laboratório
  • Não é necessário nenhum hardware ou equipamento de rede adicional
  • Provisionamento e desmontagem fácil de hosts Hyper-V

Ambientes de laboratório

Este é sem dúvida o caso de uso mais comum para o aprovisionamento de um host Hyper-V dentro de uma máquina virtual VMware. A virtualização aninhada permite o provisionamento de ambientes de laboratório, dev, teste, e outros casos de uso possível muito facilmente. Os laboratórios Hyper-V podem ser usados para:

  • Aprendizagem
  • Testes de software
  • POC’ing Hyper-V para várias partes de sua infraestrutura ou como substituto
  • Mimitar um ambiente Hyper-V em outra parte de sua infraestrutura
  • Testes de patch

Em muitos ambientes de pequeno e médio porte, pode haver apenas a disponibilidade de um ambiente VMware vSphere e nenhum host Hyper-V. Se os administradores quiserem colocar as mãos em um host Hyper-V para aprender e desenvolver suas habilidades fora do VMware ESXi hypervisor, os recursos de virtualização aninhados encontrados no VMware vSphere fornecem a maneira perfeita de fornecer um host Hyper-V dentro de um ambiente VMware vSphere.

Não é necessário nenhum hardware ou equipamento de rede adicional

Com essa capacidade de aninhar o Hyper-V dentro do VMware vSphere, não há necessidade de encontrar hardware adicional para um ambiente de laboratório ou POC de vários tipos. Tudo isso pode ser provisionado dentro do vSphere. Os robustos recursos de rede virtual encontrados dentro do vSphere também permitem o provisionamento de todas as redes especializadas que você precisará se decidir provisionar um cluster Hyper-V. Isto pode incluir Migração ao Vivo, Armazenamento e Redes de Cluster, para citar apenas alguns. Usando grupos de portas de switches virtuais, você pode facilmente simular as configurações que seriam realizadas com equipamentos físicos de rede de outra forma.

Provisionamento e destruição fácil de hosts Hyper-V

Esta vantagem não é específica da virtualização aninhada, mas da virtualização VMware vSphere em geral. A VMware possui conjuntos de ferramentas de automação muito ricos, incluindo o PowerCLI. Isso permite girar e destruir facilmente as VMs conforme você precisar. As construções de laboratório inteiras podem ser automatizadas para o provisionamento e o desprovisionamento. Isto serve para tornar a virtualização aninhada ainda mais útil com os recursos fáceis de automatizar sua infraestrutura.

Requisitos para VMs Hyper-V aninhadas em um VMware ESXi Server

Após você ter decidido fazer uso da virtualização aninhada, você pode simplesmente criar uma nova VM no vSphere ESXi e começar a carregar sua VM Hyper-V? Bem, não exatamente, entretanto, o processo ainda é muito fácil de usar quando você pensa na enorme complexidade exigida sob o “hood” para que a virtualização aninhada realmente funcione. Há realmente duas áreas principais a considerar com os requisitos para executar VMs Hyper-V aninhadas em um servidor VMware ESXi. Isto inclui:

  • Exposição da virtualização assistida por hardware para o SO convidado
  • Ativação de transmissões forjadas de endereço MAC

Vamos dar uma olhada em cada uma delas e sua importância para rodar VMs Hyper-V aninhadas em um VMware ESXi Server.

Exposição da Virtualização Assistida por Hardware para o SO Hóspede

Este primeiro requisito que você vai encontrar será absolutamente necessário. É uma configuração abaixo das configurações para a VM individual que você está usando para hospedar sua instalação do Hyper-V. Edite as configurações em sua VM Hyper-V aninhada, expanda a CPU e coloque uma caixa de seleção ao lado da Virtualização assistida por hardware exposta ao sistema operacional convidado.

Enabling hardware assisted virtualization in VMware for a Hyper-V VM

Activar a virtualização assistida por hardware no VMware para uma VM Hyper-V

O que acontece se não activar esta bandeira para virtualização assistida por hardware no VMware para a sua VM Hyper-V? Você não verá nenhum erro simplesmente instalando seu sistema operacional Windows Server, pois isso funcionará como a instalação de qualquer outra VM. Entretanto, quando você chegar ao ponto de instalar a função Hyper-V, você verá um erro se essa configuração não estiver ativada para a máquina virtual. Observe o erro abaixo, “Hyper-V não pode ser instalado: O processador não tem capacidade de virtualização necessária”.

Como nota lateral, esta bandeira precisa ser definida para as instalações do Hyper-V Core ou com a função Hyper-V instalada no Windows Server com a Experiência de Desktop instalada. Esta capacidade é necessária em qualquer instalação aninhada da função Hyper-V dentro do VMware vSphere.

Error installing the Hyper-V role when hardware virtualization flag is not set on the VMware VM

Error instalando a função Hyper-V quando o flag de virtualização de hardware não estiver definido no VMware VM

Pode também definir este flag com um pouco de código PowerCLI que permite definir facilmente o flag na VM especificada.

$vmName = ‘MyHyperVVM’

$vm = Get-VM -Name $vmName

$spec = New-Object VMware.Vim.VirtualMachineConfigSpec

$spec.nestedHVEnabled = $true

$vm.ExtensionData.ReconfigVM($spec)

Enabling Promiscuous Mode and MAC Address Forged Transmits

Mais provávelmente, se você estiver configurando uma instalação de Hyper-V aninhado dentro do VMware vSphere, você vai querer ser capaz não só de instalar um servidor com a função Hyper-V, mas também executar um Hyper-V VM aninhado em cima do servidor Hyper-V aninhado que você está executando.

Você pode não se importar em ter a capacidade de conectividade de rede com o Hyper-V VM, no entanto, você pode querer ser capaz de estabelecer conectividade de rede real com a máquina virtual aninhada rodando sobre o host Hyper-V aninhado na máquina virtual VMware.

Se você quiser ter essa funcionalidade, há um par de configurações de rede que você pode precisar fazer em seu VMware vSwitch ao qual seu host Hyper-V aninhado está conectado.

Você pode precisar fazer isso, pois há um novo avanço na tecnologia VMware vSwitch e virtualização aninhada desde o lançamento do VMware vSphere 6.7. Antes do lançamento do VMware vSphere ESXi 6.7, a VMware não implementava o aprendizado MAC em um vSwitch como se ele fosse encontrado em um switch físico real. Isso era verdade tanto para o vSphere Standard Switch quanto para o vSphere Distributed Switch.

Desde que este seja o caso com o VMware vSwitch antes do vSphere 6.7, quando um switch virtual recebe pacotes que não têm um endereço MAC correspondente ao endereço MAC do hypervisor aninhado hospeda o pNIC MAC do vmnic (no caso de um host ESXi aninhado), os pacotes serão descartados.

Para contornar esta limitação, existem duas configurações que precisam ser habilitadas no vSwitch, modo promíscuo e transmissões forjadas.

Configuring Promiscuous mode and Forged transmits on a VMware vSwitch

Configurando modo promíscuo e transmissões forjadas em um VMware vSwitch

E quanto ao vSphere 6.7 e superior? Antes do lançamento do vSphere ESX 6.7, a VMware começou a trabalhar na área de virtualização aninhada e na funcionalidade de aprendizado MAC em relação aos switches virtuais. Foi lançado um “MAC Learning Fling” que introduziu a funcionalidade de aprendizado MAC para que você não tivesse que habilitar o modo promíscuo e as configurações de transmissão forjada.

Esta configuração foi implementada com o lançamento do VMware vSphere 6.7 ESXi.

Quais são os requisitos do novo recurso MAC Learning no ESXi 6.7?

Existem alguns requisitos que você precisa ter em vigor antes de poder aproveitar a nova funcionalidade MAC learning no vSphere 6.7. Eles são os seguintes:

  • Upgrade vCenter Server e servidores ESXi para vSphere 6.7
  • Executar o vSphere Distributed Switch (vDS)
  • Upgrade o vDS para a versão mais recente (6.6)
  • Gerenciado por vSphere Distributed Switch Port Group base
  • Correntemente gerenciado com o vSphere API

Uma coisa a notar, a nova funcionalidade MAC Learning com o vSphere 6.7 e um vDS 6.6 vSwitch não está habilitado por padrão. Terá de definir as bandeiras adequadamente com a API.

Para tornar este processo muito mais fácil, William Lam, um Arquitecto de Soluções para o Pessoal escreveu algumas funções PowerCLI que tornam extremamente fácil verificar o estado do MAC Learning e definir o MAC Learning no seu ambiente vSphere. Descarregue o script PowerCLI de William a partir do seu repositório Github aqui:

https://github.com/lamw/vghetto-scripts/blob/master/powershell/MacLearn.ps1

Um exemplo da saída da função Get-MacLearn verificando um grupo de portas de comutação distribuída vSphere parece-se com o que se segue. Note os campos:

  • MacLearning
  • NewAllowPrimiscuous
  • NewForged Transmits
  • NewMacChanges
  • Limit
  • LimitPolicy

Esta é a aparência de um grupo de portas vDS 6.7 vSwitch com as configurações padrão.

Checking the state of MAC Learning on a vSphere 6.7 vDS switch

Verificando o estado do MAC Learning em um switch vSphere 6.7 vDS

Para instalações ESXi aninhadas, e por extensão, VMs Hyper-V rodando dentro do seu hypervisor vSphere ESXi, você quer definir as configurações para o seguinte:

  • MAC Learning: true
  • Modo promíscuo: Falso
  • Transmissão forjada: Verdadeiro
  • MAC Mudanças: Falso
  • Limite: 4096 (você pode definir isto ou deixar o valor padrão)
  • Política de Limite: Drop (você pode definir isto ou deixá-lo o valor padrão)

As recomendações acima podem ser definidas com o seguinte código PowerCLI:

  • Set-MacLearn -DVVPortgroupName @(“DPG-Servers”) -EnableMacLearn $true -EnablePromiscuous $false -EnableForgedTransmit $true -EnableMacChange $false

Como se espera agora, como notou acima, a configuração do modo Promiscuous está configurada para False. Mesmo com o MAC Learning habilitado, a Forged Transmit ainda está configurada para True.

A funcionalidade MAC Learning contida no vSphere 6.7 permite evitar algumas das implicações de segurança de rodar uma VM aninhada dentro do seu ambiente vSphere 6.7, evitando a necessidade do modo promíscuo estar habilitado.

Pode fazer backup de ambientes aninhados?

A virtualização aninhada só é suportada pelo VMware vSphere para o appliance vSAN Witness, se você estiver executando VMs Hyper-V aninhadas dentro do VMware vSphere ESXi, você pode querer fazer backup de seu ambiente aninhado. Isso pode ser feito?

Sim, absolutamente.

Usando uma solução de backup moderna, como o Vembu BDR Suite, você pode fazer o backup não só da sua produção VMware vSphere ou ambiente Microsoft Hyper-V, mas também de qualquer instalação aninhada do ESXi ou Hyper-V que você possa ter no ambiente.

Wrapping Up

Nested Hyper-V VMs em um VMware ESXi Server lhe fornece a capacidade de brincar com o Hyper-V, mesmo que você só tenha um ambiente VMware vSphere. Como mostrado, há muitos casos de grande uso para virtualização aninhada. Isso inclui aprendizado, teste de software, POC’ing e aplicação de patches em seus hosts Hyper-V.

Por mais poderosa que seja a virtualização aninhada no VMware vSphere, você pode esperar que o processo seja extremamente difícil. Entretanto, ele só requer algumas considerações de sua parte ao provisionar uma VMware vSphere que conterá a instalação do Hyper-V. Isso inclui expor a bandeira de virtualização assistida por hardware na CPU virtual da VM Hyper-V e também implementar o modo promíscuo ou MAC Learning para conectar quaisquer VMs Hyper-V aninhadas à rede.

Tudo somado, o Hyper-V VMs aninhado em um servidor VMware ESXi é uma capacidade extremamente poderosa e permite que você teste e aprenda Hyper-V sem o equipamento físico para executar o Hyper-V hypervisor.

Seguir os nossos feeds do Twitter e Facebook para novos lançamentos, atualizações, posts perspicazes e muito mais.

Como o que você lê? Classifique-nos