Cómo habilitar la virtualización anidada en 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.
Las tecnologías en la nube y los programas de software están experimentando cambios evolutivos a lo largo de los años. Si bien nos acostumbramos a utilizar algunos sistemas operativos específicos de nuestra elección, como la serie Windows, Linux o macOS, ahora tenemos la libertad de ejecutar diferentes SO (sistemas operativos) de forma simultánea para distintas aplicaciones y aprovechar al máximo los recursos disponibles.
Esto es posible gracias al concepto de virtualización anidada.
¿Qué es la virtualización anidada?
La eficiencia de instalar VM dentro de una VM es la virtualización anidada. Para precisarlo mejor, necesitamos un hipervisor superpuesto sobre un componente de hardware. Este hipervisor, denominado hipervisor host, extrae recursos del hardware del equipo y crea máquinas virtuales que llamamos invitado externo. Con la virtualización anidada, puedes instalar un hipervisor dentro de la VM que creaste; este se llamará hipervisor invitado y, a partir de él, podrás generar múltiples VM dentro de la VM existente.
Requisitos previos para ejecutar máquinas Hyper-V
Los siguientes son los requisitos para ejecutar hosts Hyper-V dentro de una máquina virtual invitada:
- Tanto el host como el invitado Hyper-V deben ser Windows Server 2016 o Windows 10 Anniversary update o una versión posterior
- El nivel de configuración de la VM debe ser 8.0 o superior
- Actualmente solo se admiten procesadores Intel, que ejecuten la tecnología VT-x y EPT
Requisitos específicos de Azure
- Crear una VM con Windows Server 2016
- Todas las máquinas virtuales v3 admiten la virtualización anidada
Hipervisores y sus casos de uso
Existen dos tipos principales de hipervisores que puedes implementar en tus entornos de sandbox:
Hipervisores de tipo 1: también conocidos como hipervisores “bare metal”, se instalan directamente en el equipo que alojará los entornos virtuales. Si deseas ejecutar numerosos servidores virtuales en una sola máquina, esta es la mejor opción. Microsoft Hyper-V, Citrix XenServer y VMware ESXi son los hipervisores de tipo 1 más comunes.
Hipervisores de tipo 2: la virtualización de red en la nube requiere hipervisores “alojados” de tipo 2. Los hipervisores son un tipo de software alojado que se ejecuta sobre el sistema anfitrión. En un hipervisor de tipo 2 pueden ejecutarse varios sistemas operativos. Son la mejor opción para empresas que desean probar una variedad de sistemas operativos. Microsoft VirtualPC, VMWare y VMWork son los hipervisores de tipo 2 más comunes.
Virtualización en Azure
En lo que respecta a Azure, no solo puedes crear un contenedor Hyper-V con Docker, sino que también puedes crear una VM dentro de una VM mediante la virtualización anidada. Este entorno anidado te ofrece una gran versatilidad para atender tus necesidades en distintas áreas, como desarrollo, pruebas, capacitación de clientes, demostraciones, etc.
Por ejemplo, supongamos que hoy tienes un equipo de pruebas que utiliza hosts Hyper-V en las instalaciones. Ahora pueden trasladar fácilmente sus cargas de trabajo a Azure utilizando VM anidadas como máquinas de prueba virtualizadas. Los hosts de VM anidadas se usarán para reemplazar los hosts Hyper-V físicos, y cada ingeniero de pruebas tendrá control total sobre la funcionalidad de Hyper-V en su propio host de VM asignado en Azure.
Ventajas de adoptar la virtualización anidada
La virtualización anidada ofrece mayor flexibilidad y reduce los costos generales en comparación con las VM tradicionales.
Ejecutar un Hyper-V dentro de una VM te ayuda a optimizar aún más los entornos virtuales, lo que genera las siguientes ventajas:
- Ahorro de costos: aumenta la cantidad de herramientas que puedes utilizar y la cantidad de cargas de trabajo que puedes ejecutar sin necesidad de comprar nuevo hardware.
- Mayor flexibilidad: obtienes flexibilidad al poder ejecutar muchos hipervisores en el mismo servidor.
- Trabajar con versiones anteriores de software: ejecuta software que requiera una versión anterior de Windows o un sistema operativo distinto de Windows.
- Configuraciones para pruebas: crea y desinstala varios sistemas operativos para ver cuál funciona mejor para el negocio de tu cliente.
- Compatibilidad con contenedores: combina la flexibilidad de los contenedores con la seguridad de las máquinas virtuales. Los contenedores implican menos sobrecarga y más flexibilidad a la hora de desarrollar e implementar aplicaciones.
Usos de la virtualización anidada en el mundo real:
- Utiliza la virtualización anidada para crear instancias de desarrollo o de prueba. En lugar de comprar un servidor físico dedicado, aprovisiona un servidor con un hipervisor y crea VM según sea necesario
- Utiliza la virtualización anidada para capacitar o enseñar a los nuevos integrantes sobre Hyper-V
- Utiliza la virtualización anidada como alternativa a una nube privada. Construir una nube privada puede resultar complicado y costoso
Crear una VM Hyper-V en Azure:
- En la página https://portal.azure.com/, selecciona Virtual machines en la interfaz web.
- En la página Virtual machines (Home > Virtual Machine), haz clic en Create para crear una máquina virtual.
- La página de creación de la VM contiene varias pestañas, y cada pestaña contiene un par de secciones.
- En primer lugar, debemos añadir los detalles de la suscripción en la pestaña de suscripción, desplazándonos hacia abajo y seleccionando dónde queremos ubicar nuestra máquina virtual.
- A continuación, debemos seleccionar un grupo de recursos o crear uno nuevo.
- Luego, debemos asignar un nombre a nuestra máquina virtual
- A continuación, debemos añadir la región donde queremos que se ubique nuestra máquina virtual.
- Selecciona una VM de Windows en el tipo de imagen; podemos elegir cualquier imagen de Windows, ya sea 206, 2019 o 2022; en la imagen hemos seleccionado la imagen 2022.
- Ahora, debemos seleccionar el tamaño de la máquina; hemos elegido el tamaño de máquina D2s_V3.
Nota:
*Tamaños de VM de Azure que admiten la virtualización anidada * * *
*D_v3 * * *
*Ds_v3 *
-
E_v3 *
-
Es_v3 *
-
M *
-
F2s_v2 – F72s_v2*
- A continuación, debemos configurar el nombre de usuario y la contraseña para la autenticación en la VM.
- Ahora, como es una VM de Windows, debemos asegurarnos de haber habilitado el puerto 3389 para RDP (Remote Desktop Protocol) hacia la VM en las reglas de entrada, tal como se muestra en la imagen siguiente.
- Como en este caso necesitamos ejecutar varias VM invitadas en Hyper-V, se recomienda usar un disco Premium SSD. Por lo tanto, estamos utilizando Premium SSD; el resto de los ajustes de la pestaña de disco pueden dejarse de forma predeterminada.
- Haz clic en Next.
- Ahora, debemos añadir una red y una subred donde residirá nuestra VM.
- Podemos crear una Virtual Network haciendo clic en Create new
- Consulta la imagen siguiente para crear una red virtual para tu máquina virtual
- Deja el resto de los ajustes de forma predeterminada.
- Según los requisitos, podemos deshabilitar los diagnósticos, optar por la configuración predeterminada de Enable with managed storage account, o utilizar una cuenta de almacenamiento que ya hayamos creado, si la hubiera. Consulta la imagen siguiente como referencia.
- El resto de los ajustes pueden dejarse de forma predeterminada.
- Ahora, haz clic en Review and Create.
- Una vez que la VM esté lista, podemos acceder a ella mediante el cliente RDP, tal como se indica en los pasos siguientes.
Paso 1: Copia la dirección IP pública que obtuviste de la VM.
Paso 2: Abre el cliente RDP, pega la IP pública que obtuviste y haz clic en conectar.
Paso 3: Ahora añade las credenciales que estableciste para la autenticación y haz clic en conectar; serás redirigido a la VM.
Instalar el rol de Hyper-V:
Una vez que iniciemos sesión utilizando la IP pública de la VM que acabamos de crear, podemos instalar el rol de Hyper-V mediante Server Manager y hacer clic en Add roles and features.
- Haz clic en Next en la página Before you begin
- En Installation Type, selecciona Role-based or feature-based installation
[Text Wrapping Break]
- Ahora selecciona el Destination server del Server Pool
- Ahora selecciona el rol de Hyper-V que queremos instalar
- Haz clic en Add Feature para que se instalen todas las funciones que requiere el rol de Hyper-V
- Ahora, haz clic en next para continuar con la instalación del rol de Hyper-V
- Selecciona el adaptador de red Microsoft Hyper-V (Ethernet) que puede utilizarse como External Switch para las VM invitadas de Hyper-V
- Un conmutador virtual de Hyper-V en modo externo permite las comunicaciones entre los adaptadores virtuales conectados a las máquinas virtuales y el sistema operativo de administración. Utiliza adaptadores físicos individuales o en equipo (teamed) para conectarse a un conmutador físico, lo que permite las comunicaciones con otros sistemas.
- Selecciona los protocolos que deseas utilizar para autenticar las migraciones en vivo.
En Windows Server, live migration es una funcionalidad de Hyper-V. Te permite reubicar máquinas virtuales en ejecución de un host Hyper-V a otro sin causar un tiempo de inactividad perceptible. La principal ventaja de la migración en vivo es que las máquinas virtuales en ejecución no están vinculadas a una única máquina host.
Esto habilita actividades como vaciar un host de máquinas virtuales antes de darlo de baja o actualizarlo. La migración en vivo, combinada con Windows Failover Clustering, permite establecer un sistema de alta disponibilidad y tolerante a fallos.
- Ahora, selecciona la ubicación predeterminada de los archivos de disco duro virtual y de los archivos de configuración de la máquina virtual.
- Ahora haz clic en install y reinicia la VM.
Configurar la red en Hyper-V:
- Una vez finalizada la instalación, haz clic en Tools en Server Manager y luego en Hyper-V manager
- Ahora creemos un conmutador Virtual NAT llamado Internal
- Una vez creado mi conmutador, ejecutaremos el cmdlet siguiente para encontrar el número ifIndex del Virtual Switch, que es el número 17.
- Ahora creemos una dirección IP de Default Gateway
- Ahora crearemos la subred NAT con el espacio de direcciones 192.168.100.0, lo que significa que todas las VM que cree deberán estar dentro del rango de la subred.
- Ahora creemos una VM dentro de Hyper-V, haz clic en New -> Virtual Machine
- En la ventana New Virtual Machine Wizard, en la página Before You Begin, haz clic en Next.
- En la página Specify Name and Location, escribe el nombre de la nueva máquina virtual en el cuadro Name. En este ejemplo, el nombre de la VM es L1-VM.
Si necesitas cambiar la ubicación de la nueva VM, marca la casilla Store the virtual machine in a different location y, a continuación, examina o introduce la ruta en el cuadro Location. Si la ruta de la carpeta que especifiques no existe, el asistente la creará.
- A continuación, en la página Specify Generation, elige la versión de generación de la VM.
Las opciones son:
- Generation 1: admite sistemas operativos invitados de 32 y 64 bits desde Windows 7 y Windows Server 2008 en adelante. Este ejemplo utilizará una VM de Generation 1.
- Generation 2: admite únicamente sistemas operativos invitados de 64 bits desde Windows 8 y Windows Server 2012 en adelante. Esta generación también cuenta con firmware basado en UEFI. Después de seleccionar una generación de VM, haz clic en Next.
- En la página Assign Memory, especifica cuánta memoria asignar a la VM. Este ejemplo asigna 4 GB (4096 MB) de memoria a la VM.
Desmarca la casilla Use Dynamic Memory for this virtual machine. Las VM anidadas de Hyper-V no admiten memoria dinámica. Después de finalizar la configuración de la memoria, haz clic en Next
- En la página Configure Networking, selecciona el adaptador de red que deseas conectar a esta VM. Hemos conectado el que creamos en los pasos anteriores.
- A continuación, en la página Connect Virtual Hard Disk, tienes la opción de:
- Create a virtual hard disk: esta opción crea un nuevo disco duro virtual (VHD) y te permite personalizar el nombre, la ubicación y el tamaño. El nuevo VHD estará vacío y después tendrás que instalar un sistema operativo.
- Use an existing virtual hard disk: esta opción te permite elegir un VHD existente (si tienes uno) que quieras conectar a la VM en lugar de crear uno nuevo.
- Attach a virtual hard disk later: elige esta opción si deseas omitir este paso y continuar creando la VM sin un VHD. Aun así, podrás crear un nuevo VHD o conectar uno existente después de haber creado la VM.
- En la página Installation Options, elige cómo deseas instalar el sistema operativo (SO); lo hemos instalado utilizando la opción ISO (la iso la hemos descargado desde chrome, de windows 2016 (Windows) y Ubuntu (Linux), que utilizaremos:
- Por último, en la página Completing the New Virtual Machine Wizard, revisa la descripción de la nueva VM. Cuando estés seguro de que no te saltaste ningún paso, haz clic en Finish.
- Ahora, vayamos a la configuración de la VM que creamos y cambiemos el adaptador de red a InternalNATSwitch.
Nota: - Dado que ya conectamos este conmutador durante la creación de la VM, podemos realizar este paso para verificar el conmutador.
Ahora, configuremos la dirección IP del adaptador de red para que esté en la misma subred que la red NAT, con la puerta de enlace predeterminada del NAT (192.168.100.11)
- Ahora, podemos comprobar la VM invitada, y Internet estará habilitado.
Como también hemos descargado la ISO de Linux Ubuntu, ahora configuraremos Internet en la VM invitada de Linux:
Seguiremos los mismos pasos que arriba para crear una VM invitada y solo añadiremos la ISO de Ubuntu en la sección iso y el nombre de la VM invitada, tal como se indica a continuación: -
Ahora, configuremos la dirección IP del adaptador de red para que esté en la misma subred que la red NAT, con la puerta de enlace predeterminada del NAT (192.168.100.12)
- Ahora, podemos comprobar la VM invitada de Linux, y Internet estará habilitado.
Conclusión:
La virtualización anidada es un gran paso adelante para la plataforma Hyper-V de Microsoft que se ejecuta en Azure. Azure ofrece una potente plataforma de infraestructura disponible desde cualquier lugar, que se ejecuta sobre la infraestructura de centros de datos de clase mundial de Microsoft. Utilizar Azure para ejecutar VM anidadas es una excelente manera de aprovisionar recursos fácilmente para casos de uso de DEV/TEST o incluso de producción, como los contenedores Hyper-V. Aprovisionar máquinas virtuales anidadas que se ejecutan en Azure se logra fácilmente con solo unos pocos pasos, la mayoría de los cuales pueden realizarse mediante PowerShell. Esto proporciona una gran herramienta para que los administradores de Hyper-V aprovisionen recursos anidados no solo en las instalaciones, sino también en el entorno de nube pública de Azure. Esto permite escalar recursos y entornos de prod/dev/test de forma casi infinita.
Existen numerosas razones para que utilices la virtualización anidada. Con una flexibilidad avanzada, una gestión eficaz de las cargas de trabajo, con fines de prueba y capacitación, y todo ello sin necesidad de hardware adicional. Puede haber algunos problemas de compatibilidad entre el hipervisor host y el hipervisor invitado o el SO de soporte, pero con la orientación adecuada podrás afrontar estos desafíos y aprovechar al máximo una tecnología más 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.




