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 en la versión de Windows Server 2016 y en Windows 10, y que está disponible tanto en estaciones de trabajo como en servidores. Con la introducción de esta función se amplió el ámbito de aplicación del hipervisor Microsoft Hyper-V. En esta entrada del blog se explica qué es la virtualización anidada, así como los usos prácticos, los requisitos y las limitaciones de la virtualización anidada en Microsoft Hyper-V.

NAKIVO para backup de Hyper-V

NAKIVO para backup de Hyper-V

Backups sin agente y coherentes con las aplicaciones para Hyper-V. Protección antirransomware, inicio instantáneo de máquinas virtuales desde la copia de seguridad, compatibilidad con otras plataformas virtuales y físicas, y mucho más.

¿Qué es la virtualización anidada?

La virtualización anidada en Microsoft Hyper-V es una función que permite crear máquinas virtuales (VM) dentro de otras máquinas virtuales de Hyper-V que se ejecutan en un host de Hyper-V. Estas máquinas virtuales que se ejecutan dentro de otras máquinas virtuales se denominan máquinas virtuales anidadas. Tenga en cuenta que La virtualización anidada también se puede configurar en VMware entornos.

A schema of nested virtualization in Hyper-V

Usos prácticos

A continuación se presentan algunos de los usos prácticos de la virtualización anidada en entornos virtuales:

  • Creating isolated environments. 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 habituales ni a la red.
  • Training/testing/development. La formación resulta útil para que los nuevos usuarios o administradores se familiaricen con el software (o para que los usuarios o administradores existentes se familiaricen con un 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 que ello afecte en absoluto al entorno de producción real.

    Además de la formación para administradores, los especialistas en control de calidad (evaluadores) y los desarrolladores pueden necesitar este tipo de entorno con fines de prueba o desarrollo. La ventaja es que se pueden utilizar máquinas virtuales anidadas en entornos virtuales existentes para estos fines sin necesidad de adquirir hardware dedicado adicional.

  • Building a private cloud. Instalar una nube privada real con un portal de autoservicio para los usuarios puede resultar costoso y requerir mucho trabajo. Con la virtualización anidada, se puede instalar una nube pseudoprivada con las mismas funciones que una nube del tipo mencionado. Por ejemplo, se podría crear una máquina virtual con Hyper-V Server instalado y asignarle 256 GB de RAM.

    Los usuarios pueden crear y configurar máquinas virtuales anidadas dentro de la máquina virtual con Hyper-V instalado según sus necesidades, pero no pueden superar el límite de memoria ni consumir más de 256 GB de RAM. Se puede añadir memoria y adaptadores de red virtuales a las máquinas virtuales en las que está instalado Hyper-V mediante la función de Adición en caliente sin ningún tiempo de inactividad.

Requisitos y limitaciones

Debe cumplir los siguientes requisitos para implementar la virtualización anidada en Hyper-V:

  • El sistema operativo anfitrión debe ser Windows Server 2016 o Windows 10 (Actualización de Aniversario) o posterior.
  • La máquina virtual de Hyper-V debe ser de la versión 8 o superior.
  • El servidor físico debe tener una CPU compatible que admita las funciones de virtualización adecuadas.
    • Solo los procesadores Intel con tecnología VT-x y EPT admiten la virtualización anidada en Windows Server 2016, Windows Server 2019 y Windows 10.
    • Si dispone de procesadores AMD con funciones de virtualización AMD-V, debe utilizar Windows Server 2022 o Windows 11 para que la virtualización anidada de Hyper-V sea compatible.
    • Las versiones más recientes de Windows son compatibles tanto con procesadores AMD como con Intel.
  • Debe haber suficiente memoria física para ejecutar las máquinas virtuales.
  • La máquina virtual no debe estar uso de memoria dinámica.

Se aplican algunas limitaciones a las máquinas virtuales que alojan máquinas virtuales anidadas (las máquinas virtuales anidadas pueden denominarse «huéspedes más internos»):

  • Puntos de control no se puede aplicar a una máquina virtual en ejecución.
  • La migración en vivo falla para la máquina virtual.
  • 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 por hardware. Cuando se utiliza la virtualización anidada, es necesario habilitar una de estas funciones en la máquina virtual utilizada para el anidamiento. Solo así una máquina virtual podrá utilizar las funciones de virtualización por hardware del procesador para ejecutar máquinas virtuales anidadas.

Cómo habilitar la virtualización anidada de Hyper-V y crear una máquina virtual anidada

En esta sección se describen 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 de Hyper-V

En primer lugar, debe configurar el host de Hyper-V:

  1. Prepare un servidor físico con una CPU compatible, memoria suficiente y la capacidad de almacenamiento adecuada.
  2. Verifique que las funciones de virtualización de la CPU, como Intel VT-x, estén habilitadas en la BIOS.
  3. Instale Hyper-V Server 2019, Windows Server 2019 o el sistema operativo Windows 10.
  4. Añadir el rol de servidor Hyper-V si utiliza un sistema operativo Windows con todas las funciones (o Activar Hyper-V en Windows 10). También puede utilizar la interfaz gráfica de usuario (GUI) y el Administrador del servidor.

Instalación de una máquina virtual invitada

Siguiente paso: crear una máquina virtual e instalar un sistema operativo invitado:

  1. Crear una máquina virtual de Hyper-V en Windows Server o Crear una máquina virtual en Windows 10.
  2. Instala un sistema operativo que admita la virtualización anidada para Hyper-V en la máquina virtual invitada; es decir, instala Windows 10 Anniversary Update o una versión posterior, o bien Windows Server 2016 o una versión posterior.

En este tutorial se utiliza Windows Server 2016. Puede utilizar versiones más recientes de Windows.

Configuración de la máquina virtual invitada

De forma predeterminada, la compatibilidad con la virtualización por hardware está desactivada para una máquina virtual invitada. El sistema operativo muestra un error si intenta añadir el rol de Hyper-V a la máquina virtual.

This error message is displayed when hardware virtualization is disabled for a guest VM

Solo puede habilitar la virtualización por hardware para un hipervisor invitado mediante PowerShell. Tenga en cuenta que la máquina virtual invitada debe estar apagada para poder aplicar los siguientes comandos.

  1. En primer lugar, compruebe si la virtualización por hardware está habilitada para la máquina virtual invitada. Ejecute el siguiente comando en el sistema operativo anfitrión (que está instalado en el equipo físico):

    Get-VMProcessor -VMName vm_name | fl *

    Sustituya «vm_name» por el nombre de su máquina virtual. En nuestro ejemplo, el nombre de la máquina virtual es «Server2016». «WIN2018» es el nombre del equipo que representa el equipo físico en el que está instalado Windows junto con el rol de Hyper-V.

    Hyper-V nested virtualization - checking if hardware virtualization is enabled for a VM

  1. Para habilitar la virtualización de hardware dentro de la máquina virtual invitada, detén primero la máquina virtual y aplica el siguiente comando:

    Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $true

    Si todo va bien, no debería aparecer ningún mensaje después de aplicar el comando. Si la máquina virtual está en ejecución, aparecerá el siguiente mensaje de error:

    Hyper-V enable nested virtualization - enabling processor virtualization features for a VM

Conexión de red de la máquina virtual

Ahora debes configurar los ajustes de red de tu máquina virtual. Hay dos formas de conectar máquinas virtuales anidadas a la red: MAC spoofing y NAT.

  • Si la red de las máquinas virtuales anidadas se configura proporcionando acceso a una red de área local (LAN) real, un adaptador de red de la máquina host tendría varias direcciones MAC, lo que podría causar problemas de red. Por eso debe activarse la opción MAC address spoofing (esta opción está desactivada por defecto).
  • Si se instala una nube pseudoprivada, no se puede utilizar la suplantación de direcciones MAC para la red de las máquinas virtuales, por lo que, en este caso, debe configurar NAT .

Nota: A continuación se describen ambos métodos, pero utilizaremos el método NAT para configurar nuestra máquina virtual con el fin de que utilice la virtualización anidada de 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 virtual de Hyper-V:

  • En el equipo físico en el que está instalado Hyper-V Server, introduce el siguiente comando para habilitar la suplantación de direcciones MAC:

    Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing On

    . Sustituye « vm_name» por el nombre de tu máquina virtual. En nuestro caso, es « Server2016», tal y como se ha mencionado anteriormente.

    Enabling MAC address spoofing for a VM in 
PowerShell for Hyper-V nested virtualization

  • . Si prefieres utilizar la interfaz gráfica de usuario, ve a VM Settings > Network adapter > Advanced features , marca la casilla « Enable MAC address spoofing » y haz clic en «Aceptar».

    Enabling MAC address spoofing for a VM to use the network with Hyper-V nested virtualization

Configuración de NAT

NAT solo se puede habilitar mediante PowerShell. Mientras que los comandos anteriores se ejecutaron en el sistema operativo anfitrión, los siguientes deben ejecutarse en el sistema operativo invitado.

Para habilitar NAT para la conexión de red de la máquina virtual:

  1. En primer lugar, crear un nuevo conmutador virtual.

    New-VMSwitch -Name "SwitchName" -SwitchType Internal

    Utilice el nombre de su conmutador en lugar de SwitchName. En este tutorial utilizamos NAT-Switch .

    Creating a new virtual switch to connect VMs through NAT for using networking with Hyper-V nested virtualization

  1. Defina la subred detrás de NAT y habilite NAT. La dirección de red no debe coincidir con las direcciones IP de su red existente. 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'

    Defining a network address for the network used for NAT

  1. A continuación, asigne la dirección IP a la interfaz en la que está habilitado el NAT.

    Genere una lista de los adaptadores disponibles para comprobar sus nombres con el siguiente comando:

    Get-NetAdapter | ft -Autosize

    Displaying a list of virtual switches and checking the name of the recently created virtual switch

    En este ejemplo, el nombre del adaptador de red virtual conectado al conmutador virtual creado anteriormente es vEthernet (NAT-Switch).

  1. Ahora debe definir la dirección IP de 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

    Setting the IP address for the network interface used for NAT

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.

  1. Seleccione el conmutador virtual (que acaba de crear) en la configuración de red de la máquina virtual en Administrador de Hyper-V de gestión.

Selecting the virtual switch created to connect the VMs through NAT

  1. Configure los parámetros TCP/IP en el Network Adapter Properties 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.

Hyper-V nested virtualization networking - setting the IP address for the nested VM

Nota: Comprueba los ajustes de tu cortafuegos, ya que los cortafuegos pueden bloquear las conexiones de red.

Tu máquina virtual anidada ya tiene la red configurada y está lista para ejecutarse. Running a nested VM - Hyper-V nested virtualization networking works fine

Protección de máquinas virtuales con NAKIVO Backup & Replication

Se deben realizar copias de seguridad de todas las máquinas virtuales, incluidas las anidadas, para garantizar la fiabilidad de su entorno virtual Hyper-V. NAKIVO Backup & Replication ofrece Backup fiable de Hyper-V copias de seguridad incrementales rápidas basadas en imágenes que aprovechan la tecnología nativa de Hyper-V «Resilient Change Tracking» (RCT). Mediante estas copias de seguridad, puede recuperar objetos y archivos de aplicaciones, realizar el inicio de máquinas virtuales al instante o recuperar máquinas virtuales de Hyper-V como máquinas virtuales de VMware vSphere, entre otras opciones de recuperación.

Prueba NAKIVO Backup & Replication

Prueba NAKIVO Backup & Replication

Solicita una versión de prueba gratuita para descubrir todas las funciones de protección de datos de la solución. 15 días gratis. Sin limitaciones de funciones ni de capacidad. No es necesario facilitar un número de tarjeta de crédito.

Artículos recomendados