Habilitar la virtualización anidada en Azure Lab Services

La virtualización anidada admite un laboratorio en Azure Lab Services que contiene un entorno de varias máquinas virtuales. Puede preparar una plantilla de laboratorio para el entorno de varias máquinas virtuales. Los usuarios no necesitan habilitar la virtualización anidada en su máquina virtual de laboratorio ni instalar las máquinas virtuales anidadas en ella. Al publicar el laboratorio, cada usuario de laboratorio tiene una máquina virtual de laboratorio que ya contiene las máquinas virtuales anidadas.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Para conocer conceptos, consideraciones y recomendaciones sobre la virtualización anidada, consulte virtualización anidada en Azure Lab Services.

Nota:

Las aplicaciones de virtualización distintas de Hyper-V no se admiten para la virtualización anidada. Esto incluye cualquier software que requiera extensiones de virtualización de hardware.

Importante

Seleccione Grande (virtualización anidada) o Medio (virtualización anidada) como tamaño de la máquina virtual al crear el laboratorio. De lo contrario, la virtualización anidada no funcionará.

Habilitar virtualización anidada

Para habilitar la virtualización anidada en la plantilla de máquina virtual, primero es preciso conectarse a la máquina virtual mediante un cliente de Escritorio remoto (RDP). Después puede aplicar los cambios de configuración mediante la ejecución de un script de PowerShell o mediante herramientas de Windows.

Importante

Se recomienda usar la virtualización anidada con Windows 11. Puede aprovechar las ventajas del "Conmutador predeterminado" creado al instalar Hyper-V en un sistema operativo cliente de Windows. Debe usar la virtualización anidada en sistemas operativos Windows Server cuando necesite control adicional sobre la configuración de red.

Puede usar un script de PowerShell para configurar la virtualización anidada en una plantilla de máquina virtual en Azure Lab Services. Los pasos siguientes lo guían en el proceso de cómo usar los scripts de Hyper-V para Lab Services. El script está diseñado para Windows 11.

  1. Siga estos pasos para conectarse a la plantilla de máquina virtual y actualizarla.

  2. Inicie PowerShell como administrador.

  3. Es posible que tenga que cambiar la directiva de ejecución para ejecutar correctamente el script. Ejecute el siguiente comando:

    Set-ExecutionPolicy bypass -force
    
  4. Descargue y ejecute el script para habilitar la característica y las herramientas de Hyper-V.

    Invoke-WebRequest 'https://aka.ms/azlabs/scripts/hyperV-powershell' -Outfile SetupForNestedVirtualization.ps1
    .\SetupForNestedVirtualization.ps1
    

    Nota:

    Es posible que el script requiera que se reinicie la máquina virtual. Si es así, detenga e inicie la máquina virtual de plantilla desde el sitio web de Azure Lab Services y vuelva a ejecutar el script hasta que en la salida se vea Script completado.

  5. No olvide restablecer la directiva de ejecución.

    Set-ExecutionPolicy default -force
    

La máquina virtual de plantilla está ahora configurada para su uso con la virtualización anidada. Puede crear máquinas virtuales dentro de ella. Use el modificador especificado por el script al crear nuevas máquinas virtuales de Hyper-V.

Conexión a una máquina virtual anidada en otra máquina virtual de laboratorio

Se requiere una configuración adicional para conectarse desde una máquina virtual anidada en una máquina virtual de laboratorio a una máquina virtual anidada hospedada en otra máquina virtual de laboratorio. Agregue una asignación estática a la instancia NAT con el cmdlet Add-NetNatStaticMapping de PowerShell.

Nota:

Puede usar el comando ping para probar la conectividad desde una máquina virtual anidada o hacia ella.

Nota:

La asignación estática solo funciona cuando se usan direcciones IP privadas. La máquina virtual desde la que se conecta el usuario del laboratorio debe ser una máquina virtual de laboratorio o la máquina virtual debe estar en la misma red si se usan redes avanzadas.

Escenarios de ejemplo

Échele un vistazo a la siguiente configuración de ejemplo:

  • Máquina virtual de laboratorio 1 (Windows Server 2022, IP 10.0.0.8)

    • Máquina virtual anidada 1-1 (Ubuntu 20.04, IP 192.168.0.102, SSH permitido)
    • Máquina virtual anidada 1-2 (Windows 11, IP 192.168.0.103, escritorio remoto habilitado y permitido)
  • Máquina virtual de laboratorio 2 (Windows Server 2022, IP 10.0.0.9)

    • Máquina virtual anidada 2-1 (Ubuntu 20.04, IP 192.168.0.102, SSH permitido)
    • Máquina virtual anidada 2-2 (Windows 11, IP 192.168.0.103, escritorio remoto habilitado y permitido)

Habilite la conexión con SSH desde la máquina virtual del laboratorio 2 a la máquina virtual de laboratorio anidada 1-1:

  1. En la máquina virtual de laboratorio 1, agregue una asignación estática:

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.102 -InternalPort 22 -ExternalPort 23
    
  2. En la máquina virtual de laboratorio 2, conéctese mediante SSH:

    ssh user1@10.0.0.8 -p 23
    

Habilite la conexión con RDP desde la máquina virtual del laboratorio 2 o sus máquinas virtuales anidadas a la máquina virtual de laboratorio anidada 1-2:

  1. En la máquina virtual de laboratorio 1, agregue una asignación estática.

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.103 -InternalPort 3389 -ExternalPort 3390
    
  2. En la máquina virtual de laboratorio 2 o en sus máquinas virtuales anidadas, conéctese mediante RDP a 10.0.0.8:3390.

    Importante

    Incluya ~\ delante del nombre de usuario. Por ejemplo, ~\Administrator o ~\user1.

Solución de problemas

Estas sugerencias pueden abordar algunos problemas comunes.

La máquina virtual de Linux solo muestra una pantalla negra

Siga estos pasos para comprobar la configuración de la máquina virtual anidada:

Hyper-V no comienza con el error The virtual machine is using processor-specific xsave features not supported

  • Este error puede producirse cuando un usuario de laboratorio deja la máquina virtual de Hyper-V en estado guardado. Puede seleccionar la máquina virtual con el botón derecho en el administrador de Hyper-V y seleccionar Eliminar estado guardado.

    Precaución

    Eliminar el estado guardado significa que se pierde cualquier trabajo no guardado, pero todo lo guardado en el disco permanece intacto.

  • Este error puede producirse cuando la máquina virtual de Hyper-V está desactivada y el archivo VHDX está dañado. Si el usuario del laboratorio crea una copia de seguridad del archivo VDHX, o ha guardado una instantánea, puede restaurar la máquina virtual desde ese punto.

Le recomendamos establecer la acción de apagado automático de las máquinas virtuales Hyper-V en apagar.

Hyper-V es demasiado lento

Aumente el número de vCPU y la memoria que se asignan a la máquina virtual de Hyper-V en el Administrador de Hyper-V. El número total de vCPU no puede superar el número de núcleos de la máquina virtual anfitriona (máquina virtual de laboratorio). Si usa memoria variable, la opción predeterminada aumenta la cantidad mínima de memoria asignada a la máquina virtual. La cantidad máxima de memoria asignada (si usa memoria variable) puede superar la cantidad de memoria de la máquina virtual anfitriona. Este enfoque permite una mayor flexibilidad al tener que completar operaciones intensivas en solo una de las máquinas virtuales de Hyper-V.

Si usa el tamaño de máquina virtual mediana (virtualización anidada) para el laboratorio, considere la posibilidad de usar el tamaño de máquina virtual grande (virtualización anidada) en su lugar para tener más recursos de proceso para cada máquina virtual de laboratorio.

La conectividad a Internet no funciona en las máquinas virtuales anidadas

  • Compruebe que ha seguido los pasos anteriores para habilitar la virtualización anidada. Considere la posibilidad de usar la opción de script de PowerShell.

  • Compruebe si la máquina virtual anfitriona (máquina virtual de laboratorio) tiene instalado el rol DHCP si usa Windows Server.

    No se admite la ejecución de una máquina virtual de laboratorio como servidor DHCP. Consulte ¿Puedo implementar un servidor DHCP en una red virtual?. Cambiar la configuración de la máquina virtual de laboratorio puede causar problemas con otras máquinas virtuales de laboratorio.

  • Compruebe la configuración del adaptador de red para la máquina virtual de Hyper-V.

    • Establezca la dirección IP del servidor DNS y el servidor DHCP en 168.63.129.16.

    • Si la dirección IPv4 de la máquina virtual invitada se establece manualmente, compruebe que está en el intervalo de la red NAT conectada al conmutador de Hyper-V.

    • Intente habilitar Protección DHCP y Protección de enrutador de Hyper-V.

      Get-VMNetworkAdapter * | Set-VMNetworkAdapter -RouterGuard On -DhcpGuard On
      

Nota:

No se puede usar el comando ping de una máquina virtual de Hyper-V a la máquina virtual anfitriona. Para probar la conectividad a Internet, inicie un explorador web y compruebe que la página web se carga correctamente.

No se inician las máquinas virtuales de Hyper-V

Puede optar por crear un usuario que no sea administrador al crear el laboratorio. Para poder iniciar o detener máquinas virtuales de Hyper-V, debe agregar este tipo de usuario al grupo Administradores de Hyper-V. Para obtener más información sobre Hyper-V y usuarios que no son administradores, consulte usuario no administrador.

Después de configurar la virtualización anidada en la máquina virtual de plantilla, puede crear máquinas virtuales anidadas con Hyper-V. Consulte Microsoft Evaluation Center para comprobar los sistemas operativos y el software disponibles.