Explicación de la virtualización anidada de Hyper-V
La virtualización anidada de Hyper-V es una función que se lanzó por primera vez con Windows Server 2016 y Windows 10, y que está disponible tanto en estaciones de trabajo como en servidores. El área de aplicación del hipervisor Microsoft Hyper-V se amplió con la introducción de esta función. Esta entrada de blog explica qué es la virtualización anidada, así como los casos de uso, requisitos y limitaciones de la virtualización anidada en Microsoft Hyper-V.
¿Qué es la virtualización anidada?
La virtualización anidada en Microsoft Hyper-V es una función que le permite crear máquinas virtuales (VM) dentro de otras VM Hyper-V que se ejecutan en un host Hyper-V. Estas máquinas virtuales que se ejecutan dentro de otras se denominan máquinas virtuales anidadas. Tenga en cuenta que la virtualización anidada también puede configurarse en entornos VMware.
Casos prácticos
A continuación se exponen algunos casos prácticos de uso de la virtualización anidada en entornos virtuales:
- Creación de entornos aislados. Puede utilizar esta función para crear máquinas virtuales anidadas que estén conectadas entre sí a través de una red virtual aislada. De este modo, puede crear un entorno totalmente aislado, que no afecte a sus máquinas virtuales ni a su red habituales.
- Formación/pruebas/desarrollo. La formación es útil para familiarizar a los nuevos usuarios o administradores con el software (o para familiarizar a los usuarios o administradores existentes con el nuevo software). Sin embargo, la formación en entornos de producción puede provocar inestabilidad o incluso fallos. Con la virtualización anidada, puede simular el entorno de producción en máquinas virtuales anidadas sin ningún impacto en el entorno de producción real.
Además de la formación para administradores, los especialistas en control de calidad (probadores) y los desarrolladores pueden necesitar este tipo de entorno con fines de prueba o desarrollo. La ventaja es que puede utilizar máquinas virtuales anidadas en entornos virtuales existentes para estos fines sin necesidad de adquirir hardware dedicado adicional.
- Construir una nube privada. La instalación de una nube privada real con un portal de autoservicio para los usuarios puede resultar cara y laboriosa. Con la virtualización anidada, puede desplegar una nube pseudo-privada con funciones idénticas a las de ese tipo de nube. Por ejemplo, puede crear una máquina virtual con Hyper-V Server instalado y aprovisionar 256 GB de RAM.
Los usuarios pueden crear y configurar máquinas virtuales anidadas dentro de la máquina virtual con Hyper-V instalado en función de sus necesidades, pero no pueden superar el límite de memoria y consumir más de 256 GB de RAM. Puede añadir memoria y adaptadores de red virtuales a las máquinas virtuales en las que Hyper-V está instalado con la función hot-add sin tiempo de inactividad.
Requisitos y limitaciones
Debe cumplir los siguientes requisitos para implementar la virtualización anidada en Hyper-V:
- El sistema operativo host debe ser Windows Server 2016 o Windows 10 (Anniversary update) o posterior.
- La máquina virtual Hyper-V debe ser de versión 8 o superior.
- El servidor físico debe tener una CPU compatible que soporte las funciones de virtualización adecuadas.
- Solo los procesadores Intel con tecnología VT-x y EPT son compatibles con la virtualización anidada en Windows Server 2016, Windows Server 2019 y Windows 10.
- Si tiene procesadores AMD con funciones de virtualización AMD-V, debe utilizar Windows Server 2022 o Windows 11 para tener compatibilidad con la virtualización anidada Hyper-V.
- Las versiones más recientes de Windows son compatibles tanto con procesadores AMD como Intel.
- Debe haber suficiente memoria física para ejecutar las máquinas virtuales.
- La máquina virtual no debe utilizar memoria dinámica.
- Aunque no es un requisito, se recomienda utilizar discos SSD para mejorar el rendimiento de las máquinas virtuales, ya que las bajas velocidades de disco reducen significativamente el rendimiento.
Algunas limitaciones se aplican a las máquinas virtuales que alojan máquinas virtuales anidadas (las máquinas virtuales anidadas pueden denominarse «huéspedes más internos»):
- Los puntos de control no pueden aplicarse a una máquina virtual en ejecución.
- La migración en vivo falla para la VM.
- El redimensionamiento de la memoria en tiempo de ejecución no funciona.
Nota: Las funciones asociadas a estas tres limitaciones anteriores pueden utilizarse para los invitados más internos.
¿Qué es VT-x/AMD-V anidado?
Intel VT-x y AMD-V son conjuntos de instrucciones para procesadores que permiten la virtualización del hardware. Cuando utilice la virtualización anidada, deberá activar una de estas funciones para la máquina virtual utilizada para la anidación. Sólo entonces puede una máquina virtual utilizar las funciones de virtualización de hardware del procesador para ejecutar máquinas virtuales anidadas.
Cómo activar la virtualización anidada de Hyper-V y crear una máquina virtual anidada
Esta sección cubre las acciones para configurar la virtualización anidada de Hyper-V en Windows Server 2019. El proceso de configuración es el mismo para Windows Server 2016 y Windows Server 2022.
Configuración del host Hyper-V
En primer lugar, debe configurar el host Hyper-V:
- Prepare un servidor físico con una CPU compatible, suficiente memoria y la capacidad de almacenamiento adecuada.
- Compruebe que las funciones de virtualización de la CPU, como Intel VT-x, están activadas en la BIOS.
- Instale Hyper-V Server 2019, Windows Server 2019 o el sistema operativo Windows 10.
- Añada la función de servidor Hyper-V si utiliza un sistema operativo Windows con todas las funciones (o active Hyper-V en Windows 10). También puede utilizar la interfaz gráfica de usuario (GUI) y el Administrador de servidores.
Instalación de una máquina virtual huésped
A continuación, debe crear una máquina virtual e instalar un sistema operativo invitado:
- Crear una VMHyper-V en Windows Server o crear una VM en Windows 10.
- Instale un sistema operativo compatible con la virtualización anidada para Hyper-V en la máquina virtual invitada, es decir, instale Windows 10 Anniversary Update o posterior o Windows Server 2016 o posterior.
Para este tutorial se utiliza Windows Server 2016. Puede utilizar versiones más recientes de Windows.
Configuración de la máquina virtual invitada
Por defecto, la compatibilidad con la virtualización de hardware está desactivada para una máquina virtual invitada. El sistema operativo muestra un error si intenta agregar el rol Hyper-V para la VM.
Puede activar la virtualización de hardware para un hipervisor invitado únicamente mediante PowerShell. Tenga en cuenta que la máquina virtual huésped debe estar apagada para poder aplicar los siguientes comandos.
- En primer lugar, compruebe si la virtualización de hardware está activada para la máquina virtual invitada. Ejecute el siguiente comando en el sistema operativo anfitrión (que está instalado en la máquina física):
Get-VMProcessor -VMName vm_name | fl *
Introduzca el nombre de su VM en lugar de vm_name. En nuestro ejemplo, el nombre de la máquina virtual es Server2016. WIN2018 es el nombre del equipo que representa la máquina física en la que está instalado Windows junto con el rol Hyper-V.
- Para habilitar la virtualización de hardware dentro de la VM huésped, detenga la VM antes y aplique el siguiente comando:
Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $true
Si todo está bien, no debería aparecer ningún mensaje después de introducir el comando. Si la máquina virtual se está ejecutando, aparecerá el siguiente mensaje de error:
Conexión de red VM
Ahora tienes que configurar los ajustes de red de tu máquina virtual. Hay dos formas de conectar las máquinas virtuales anidadas a la red: MAC spoofing y NAT.
- Si la red para las máquinas virtuales anidadas se configura proporcionando acceso a una red de área local (LAN) real, entonces un adaptador de red en la máquina anfitriona llevaría múltiples direcciones MAC, lo que potencialmente podría causar problemas de red. Por eso hay que activar la opción de suplantación de direcciones MAC (esta opción está desactivada por defecto).
- Si se despliega una nube pseudo-privada, no se puede utilizar la suplantación de direcciones MAC para la red de máquinas virtuales, y en este caso se debe configurar NAT.
Nota: Ambos métodos se cubren a continuación, pero utilizaremos el método NAT para configurar nuestra VM para utilizar la virtualización anidada Hyper-V.
Configuración de la suplantación de direcciones MAC
Si utiliza la suplantación de direcciones MAC, actívela en el adaptador de red del host Hyper-V virtual:
- En la máquina física con Hyper-V Server instalado, introduzca el siguiente comando para habilitar la suplantación de dirección MAC:
Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing On
Introduzca el nombre de su VM en lugar de vm_name. En nuestro caso, se trata de Server2016, como ya se ha mencionado.
- Si prefiere la interfaz gráfica de usuario, vaya a Ajustes de la máquina virtual > Adaptador de red > Funciones avanzadas, marque la casilla Activar suplantación de dirección MAC y haga clic en Aceptar.
Configuración de NAT
NAT sólo puede activarse mediante PowerShell. Mientras que los comandos anteriores se ejecutaron en el SO anfitrión, los siguientes comandos deben ejecutarse en el SO invitado.
Para activar NAT para la conexión de red VM:
- En primer lugar, cree un nuevo conmutador virtual.
New-VMSwitch -Name "SwitchName" -SwitchType Internal
Utilice el nombre de su conmutador en lugar de SwitchName. En este tutorial utilizaremos NAT-Switch.
- Defina la subred detrás de NAT y active NAT. La dirección de red no debe coincidir con las direcciones IP de su red actual. En este ejemplo, el nombre de la red es NAT-net y la dirección de red es 192.168.2.0/24
New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'
- A continuación, asigne la dirección IP para la interfaz en la que se ha activado NAT.
Genera una lista de los adaptadores disponibles para comprobar sus nombres con el siguiente comando:
Get-NetAdapter | ft -Autosize
En este ejemplo, el nombre del adaptador de red virtual que está conectado al conmutador virtual creado anteriormente es vEthernet (NAT-Switch).
- Ahora debe definir la dirección IP para este adaptador de red virtual, que debe pertenecer a la red creada. Las máquinas virtuales anidadas utilizarán la dirección IP de esta interfaz de red como puerta de enlace. En nuestro ejemplo, esta dirección IP es 192.168.2.1 – pertenece a la red 192.168.2.0/24
Get-NetAdapter "adapter_name" | New-NetIPAddress -IPAddress ip_address -AddressFamily IPv4 -PrefixLength mask_number
Configuración de una máquina virtual anidada
Ahora puede crear y configurar una máquina virtual anidada. En este tutorial, se utiliza una máquina virtual con Windows Server 2016 como máquina virtual anidada.
- Seleccione el conmutador virtual (que ha creado recientemente) en los ajustes de red de la máquina virtual en Hyper-V Manager.
- Configure los ajustes TCP/IP en las Propiedades del adaptador de red de la máquina virtual anidada. Si no hay servidores DHCP en la red virtual, asigne manualmente la dirección IP, la máscara de subred, la puerta de enlace predeterminada y el servidor DNS.
Nota: Compruebe los ajustes de su cortafuegos, ya que éstos pueden bloquear las conexiones de red.
Su VM anidada tiene ahora una red configurada y está lista para funcionar.
Protección de máquinas virtuales con NAKIVO Backup & Replication
Todas las máquinas virtuales, incluidas las anidadas, deben estar respaldadas para garantizar la confiabilidad de su entorno virtual Hyper-V. NAKIVO Backup & Replication ofrece copias de seguridad fiables de Hyper-V con rápidas copias de seguridad incrementales basadas en imágenes que aprovechan la tecnología nativa Hyper-V Resilient Change Tracking (RCT). Utilizando backups, puede recuperar objetos/archivos de aplicaciones, arrancar instantáneamente máquinas virtuales o recuperar máquinas virtuales Hyper-V como máquinas virtuales VMware vSphere, entre otras opciones de recuperación.