Articles

Pasos para desplegar VMs Hyper-V en un servidor VMware ESXi

Hay muchas cosas buenas que se pueden hacer encima de los sistemas de hipervisor modernos de hoy en día que proporcionan una gran manera de resolver los problemas de negocio y los desafíos técnicos. Una de las cosas realmente buenas que se pueden hacer con los hipervisores actuales, como VMware vSphere, es que se puede configurar la virtualización anidada. Esto abre muchas posibilidades diferentes de probar y ejecutar hipervisores dentro de VMware vSphere.

Un caso de uso común que muchos han encontrado para ejecutar la virtualización anidada dentro de VMware vSphere es ejecutar el hipervisor Hyper-V de Microsoft para fines de prueba y aprendizaje.

En este post, echaremos un vistazo a la configuración de Hyper-V anidado en un servidor VMware ESXi y veremos cómo se puede configurar para su uso en un laboratorio u otro entorno.

¿Qué es la virtualización anidada

Antes de sumergirnos en cómo configurar VMware vSphere para permitir la virtualización anidada de Hyper-V dentro del servidor ESXi, echemos un vistazo a lo que es exactamente la virtualización anidada. Cuando pensamos en la virtualización anidada, estamos hablando de ejecutar un hipervisor dentro de otro hipervisor. Esto significa que puede ejecutar hipervisores de tipo 1 como VMware vSphere ESXi e Hyper-V dentro de una VM sobre, en este caso, VMware vSphere ESXi.

El hipervisor que se ejecuta en la VM sobre el servidor VMware vSphere ESXi simplemente ve el hardware de la VM como su hardware anfitrión físico en el que puede ejecutar máquinas virtuales invitadas. Esto permite algunos escenarios muy interesantes cuando se utiliza el entorno de VMware vSphere para alojar otros hipervisores como Microsoft Hyper-V.

Un punto importante a destacar en lo que respecta a VMware vSphere es la virtualización anidada de otros hipervisores como Hyper-V dentro de una VM vSphere no es un escenario soportado. No se trata sólo de otros hipervisores fuera de VMware vSphere. Incluso la ejecución de ESXi anidado dentro de un entorno físico de host ESXi no es compatible. Esto es oficialmente notado por VMware en el artículo KB Support for running ESXi/ESX as a nested virtualization solution (2009916).

Las siguientes configuraciones son técnicamente posibles cuando se ejecuta VMware ESXi dentro de otros productos de hipervisor de VMware pero no es soportado. Esto incluye lo siguiente.

  • VMware ESXi/ESX ejecutándose en VMware Workstation o VMware Fusion
  • VMware ESXi/ESX ejecutándose en VMware ESXi/ESX
  • VMware ESXi/ESX ejecutándose en otras soluciones de hipervisor de terceros

Por supuesto, la ejecución de Hyper-V cae bajo este mismo tipo de renuncia de soporte. Sólo hay una situación en la que se admite la virtualización anidada y es el dispositivo vSAN Witness anidado.

Fuera de este caso de uso admitido con el dispositivo vSAN Witness, la virtualización anidada no se admite para el entorno de producción. En otras palabras, si se encuentra con problemas al usar la virtualización anidada, está por su cuenta con el soporte.

Si entiende el escenario de soporte con la virtualización anidada, es una gran característica para aprovechar para otros fines. Se puede utilizar muy eficazmente para entornos de laboratorio, desarrollo, pruebas y otros tipos de escenarios similares.

¿Por qué ejecutar Hyper-V dentro de VMware

Por qué querría ejecutar un hipervisor dentro de otro hipervisor? Más concretamente, ¿por qué querría ejecutar Hyper-V dentro de una VMware ESXi VM? Como ya se ha mencionado, esta no es una configuración soportada para uso en producción. Ejecutar Hyper-V dentro de VMware ofrece muchas ventajas. Veamos las siguientes:

  • Entornos de laboratorio
  • No se requiere hardware adicional ni equipo de red
  • Provisionar y desmontar fácilmente los hosts Hyper-V

Entornos de laboratorio

Este es posiblemente el caso de uso más común para aprovisionar un host Hyper-V dentro de una máquina virtual VMware. La virtualización anidada permite aprovisionar entornos de laboratorio, dev, test, y otros posibles casos de uso muy fácilmente. Los laboratorios Hyper-V pueden utilizarse para:

  • Aprendizaje
  • Pruebas de software
  • POC’s de Hyper-V para varias partes de su infraestructura o como reemplazo
  • Imitar un entorno de Hyper-V en otra parte de su infraestructura
  • Pruebas de parches

En muchos entornos pequeños y medianos, puede haber sólo la disponibilidad de un entorno VMware vSphere y ningún host de Hyper-V. Si los administradores quieren tener en sus manos un host Hyper-V para aprender y desarrollar sus habilidades fuera del hipervisor VMware ESXi, las capacidades de virtualización anidada que se encuentran en VMware vSphere proporcionan la manera perfecta de aprovisionar un host Hyper-V dentro de un entorno VMware vSphere.

No se necesita hardware o equipo de red adicional

Con esta capacidad de anidar Hyper-V dentro de VMware vSphere, no hay necesidad de encontrar hardware adicional para un entorno de laboratorio o una especie de POC. Todo esto puede ser aprovisionado dentro de vSphere. Las sólidas capacidades de red virtual que se encuentran dentro de vSphere también permiten el aprovisionamiento de todas las redes especializadas que necesitará si decide aprovisionar un clúster de Hyper-V. Esto puede incluir las redes de Live Migration, Storage y Cluster, por nombrar sólo algunas. Utilizando grupos de puertos de conmutación virtuales, puede simular fácilmente las configuraciones que se lograrían con equipos de red físicos de otra manera.

Aprovisionar y desmontar fácilmente los hosts Hyper-V

Esta ventaja no es específica de la virtualización anidada, sino de la virtualización de VMware vSphere en general. VMware tiene conjuntos de herramientas de automatización muy ricos, incluyendo PowerCLI. Esto permite fácilmente girar y destruir VMs según se necesite. Se pueden automatizar construcciones de laboratorio enteras para el aprovisionamiento y el desaprovisionamiento. Esto sirve para hacer que la virtualización anidada sea aún más útil con las capacidades fáciles para automatizar su infraestructura.

Requisitos para VMs Hyper-V anidadas en un servidor VMware ESXi

Una vez que haya decidido hacer uso de la virtualización anidada, ¿puede simplemente crear una nueva VM en vSphere ESXi y comenzar a cargar su VM Hyper-V? Bueno, no exactamente, sin embargo, el proceso sigue siendo muy fácil de usar cuando se piensa en la enorme complejidad requerida bajo el «capó» para que la virtualización anidada realmente funcione. Hay realmente dos áreas principales a considerar con los requisitos para ejecutar VMs Hyper-V anidadas en un servidor VMware ESXi. Esto incluye:

  • Exponer la virtualización asistida por hardware al SO invitado
  • Habilitar las transmisiones forjadas de direcciones MAC

Veamos cada una de ellas y su importancia para ejecutar VMs Hyper-V anidadas en un Servidor VMware ESXi.

Exponer la virtualización asistida por hardware al sistema operativo invitado

Este primer requisito lo encontrará absolutamente necesario. Es una configuración por debajo de la configuración de la VM individual que está utilizando para albergar su instalación de Hyper-V. Edite la configuración en su VM Hyper-V anidada, expanda CPU y coloque una casilla de verificación junto a Exponer virtualización asistida por hardware al SO invitado.

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

Habilitar la virtualización asistida por hardware en VMware para una VM Hyper-V

¿Qué ocurre si no habilita esta bandera para la virtualización asistida por hardware en VMware para su VM Hyper-V? No verá ningún error simplemente instalando su sistema operativo Windows Server ya que esto funcionará como la instalación de cualquier otra VM. Sin embargo, cuando llegue al punto de instalar el rol de Hyper-V, verá un error si esta configuración no está habilitada para la máquina virtual. Observe el error que aparece a continuación, «Hyper-V no puede ser instalado: El procesador no tiene las capacidades de virtualización requeridas».

Como nota al margen, esta bandera necesita ser establecida para instalaciones de Hyper-V Core o con el rol de Hyper-V instalado en Windows Server con la Experiencia de Escritorio instalada. Esta capacidad es necesaria en cualquier instalación anidada del rol Hyper-V dentro de VMware vSphere.

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

Error al instalar el rol Hyper-V cuando la bandera de virtualización de hardware no está establecida en la VM de VMware

También se puede establecer esta bandera con un poco de código PowerCLI que permite establecer fácilmente la bandera en la VM especificada.

$vmName = ‘MyHyperVVM’

$vm = Get-VM -Name $vmName

$spec = New-Object VMware.Vim.VirtualMachineConfigSpec

$spec.nestedHVEnabled = $true

$vm.ExtensionData.ReconfigVM($spec)

Habilitar el Modo Promiscuo y las Transmisiones Falsificadas de Direcciones MAC

Lo más probable es que, si está configurando una instalación anidada de Hyper-V dentro de VMware vSphere, quiera ser capaz no sólo de instalar un servidor con el rol de Hyper-V sino también de ejecutar una VM anidada de Hyper-V encima del servidor anidado de Hyper-V que está ejecutando.

Puede que no le importe tener la capacidad de conectividad de red a la VM Hyper-V, sin embargo, puede querer ser capaz de establecer una conectividad de red real a la máquina virtual anidada que se ejecuta en la parte superior del host Hyper-V anidado en la máquina virtual VMware.

Si desea tener esta funcionalidad, hay un par de ajustes de configuración de red que puede necesitar hacer en su VMware vSwitch al que su host Hyper-V anidado está conectado.

Es posible que tenga que hacer esto ya que hay un nuevo avance en la tecnología VMware vSwitch y la virtualización anidada desde el lanzamiento de VMware vSphere 6.7. Antes del lanzamiento de VMware vSphere ESXi 6.7, VMware no implementaba el aprendizaje de MAC en un vSwitch como se encuentra en un switch físico real. Esto era así tanto en el vSphere Standard Switch como en el vSphere Distributed Switch.

Dado que este es el caso del vSwitch de VMware anterior a vSphere 6.7, cuando un conmutador virtual recibe paquetes que no tienen una dirección MAC que coincide con la dirección MAC de la pNIC de los hosts de hipervisor anidados (en el caso de un host ESXi anidado), los paquetes se descartarán.

Para sortear esta limitación, hay dos configuraciones que deben habilitarse en el vSwitch, el modo promiscuo y las transmisiones forjadas.

Configuring Promiscuous mode and Forged transmits on a VMware vSwitch

Configuración del modo promiscuo y las transmisiones forjadas en un vSwitch de VMware

¿Qué pasa con vSphere 6.7 y superior? Antes del lanzamiento de vSphere ESX 6.7, VMware comenzó a trabajar en el área de la virtualización anidada y la funcionalidad de aprendizaje MAC en relación con los conmutadores virtuales. Se lanzó un «MAC Learning Fling» que introdujo la funcionalidad de aprendizaje MAC para no tener que habilitar el modo promiscuo y la configuración de transmisión forjada.

Esta configuración se implementó con el lanzamiento de VMware vSphere 6.7 ESXi.

¿Cuáles son los requisitos de la nueva función de aprendizaje de MAC en ESXi 6.7?

Hay algunos requisitos que debe tener para poder aprovechar la nueva funcionalidad de aprendizaje de MAC en vSphere 6.7. Son los siguientes:

  • Actualizar vCenter Server y los servidores ESXi a vSphere 6.7
  • Ejecutar el vSphere Distributed Switch (vDS)
  • Actualizar el vDS a la última versión (6.6)
  • Gestionado por base de grupo de puertos del vSphere Distributed Switch
  • Actualmente gestionado con la API de vSphere

Una cosa a tener en cuenta, la nueva funcionalidad de aprendizaje de MAC con vSphere 6.7 y un vSwitch vDS 6.6 no está habilitada por defecto. Tendrá que configurar los indicadores adecuadamente con la API.

Para hacer este proceso mucho más fácil, William Lam, un arquitecto de soluciones del personal ha escrito un par de funciones PowerCLI que hacen que la comprobación del estado del aprendizaje de MAC y la configuración del aprendizaje de MAC en su entorno de vSphere sea extremadamente fácil. Descarga el script PowerCLI de William desde su repositorio de Github aquí:

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

Un ejemplo de la salida de la función Get-MacLearn comprobando un vSphere Distributed Port Group tiene el siguiente aspecto. Observe los campos:

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

Así se verá un grupo de puertos de vDS 6.7 vSwitch con la configuración predeterminada.

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

Comprobación del estado del aprendizaje de MAC en un switch vSphere 6.7 vDS

Para las instalaciones anidadas de ESXi, y por extensión, las máquinas virtuales de Hyper-V que se ejecutan dentro de su hipervisor vSphere ESXi, se desea establecer la configuración siguiente:

  • Aprendizaje de MAC: verdadero
  • Modo promiscuo: Falso
  • Transmisión falsa: Verdadero
  • Cambios de MAC: False
  • Límite: 4096 (puede configurarlo o dejar el valor por defecto)
  • Política de Límite: Drop (se puede establecer o dejar el valor por defecto)

Las recomendaciones anteriores se pueden establecer con el siguiente código PowerCLI:

  • Set-MacLearn -DVPortgroupName @(«DPG-Servers») -EnableMacLearn $true -EnablePromiscuous $false -EnableForgedTransmit $true -EnableMacChange $false

Como ahora se espera, como se observa arriba, la configuración del modo Promiscuous está configurada en False. Incluso con el aprendizaje de MAC activado, la transmisión falsificada sigue estando configurada a True.

La funcionalidad de Aprendizaje de MAC contenida en vSphere 6.7 permite evitar algunas de las implicaciones de seguridad de la ejecución de una VM anidada dentro de su entorno vSphere 6.7 al evitar la necesidad de habilitar el modo promiscuo.

¿Se puede hacer una copia de seguridad de los entornos anidados?

Aunque la ejecución de la virtualización anidada sólo es compatible con VMware vSphere para el dispositivo vSAN Witness, si está ejecutando máquinas virtuales Hyper-V anidadas dentro de VMware vSphere ESXi, es posible que desee hacer una copia de seguridad de su entorno anidado. ¿Se puede hacer esto?

Sí, absolutamente.

El uso de una solución de copia de seguridad moderna, como Vembu BDR Suite, le permite hacer una copia de seguridad no sólo de su entorno de producción de VMware vSphere o Microsoft Hyper-V, sino también de cualquier instalación anidada de ESXi o Hyper-V que pueda tener en el entorno.

Resumiendo

Las máquinas virtuales Hyper-V anidadas en un servidor VMware ESXi le ofrecen la posibilidad de jugar con Hyper-V, incluso si sólo tiene un entorno VMware vSphere. Como se ha demostrado, hay muchos casos de uso excelentes para la virtualización anidada. Esto incluye el aprendizaje, las pruebas de software, POC’ing, y la aplicación de parches a sus hosts Hyper-V.

Con lo potente que es la virtualización anidada en VMware vSphere, se podría esperar que el proceso para habilitarla fuera extremadamente difícil. Sin embargo, sólo requiere un par de consideraciones de su parte al aprovisionar una VMware vSphere que contendrá la instalación de Hyper-V. Esto incluye exponer la bandera de virtualización asistida por hardware en la CPU virtual de la VM Hyper-V y también implementar el modo promiscuo o MAC Learning para conectar cualquier VM Hyper-V anidada a la red.

Con todo, las máquinas virtuales Hyper-V anidadas en un servidor VMware ESXi son una capacidad extremadamente potente y le permiten probar y aprender Hyper-V sin el equipo físico para ejecutar el hipervisor Hyper-V.

Siga nuestros feeds de Twitter y Facebook para obtener nuevos lanzamientos, actualizaciones, posts perspicaces y mucho más.

¿Le gusta lo que lee? Califíquenos