Windows Server 2016 – Hyper-V: Virtualización Anidada (“Nested Virtualization”)

Con esta nota creo que llegamos a lo más interesante de la serie, y que amplía el uso que se le puede dar a Hyper-V en ambientes de pruebas, estamos hablando de tener máquinas virtuales que a su vez virtualizan a otras

La falta de esta característica en versiones anteriores de Hyper-V era lo que de alguna forma me obligaba a usar VMware Workstation, un producto impresionante y que desde hace años cambió mi forma de trabajar

Comencé a usar VMware Workstation creo recordar desde la versión 3.x y fui pasando por todas hasta la última actualmente que es la 12.5, pero como casi todo producto “software” tuvo una imparable curva ascendente hasta llegar a una cúspide que considero ya no mantiene, varios bugs que pasan de una versión a otra sin solucionarse, a lo que hay que agregar la inestabilidad de la ultima versión con virtuales UEFI

A lo anterior hay que contraponer las excelentes mejoras que ha tenido desde su comienzo Hyper-V, y particularmente la característica que muestro en esta que me permitiría hacer el cambio de plataforma. Veremos… evaluando aún (Actualización: ya he migrado)

[Actualización] Ver al final de la nota que he agregado una configuración adicional necesaria

Seguimos con la infraestructura creada en las notas anteriores a esta: una máquina virtual con Windows 10 Enterprise x64, ejecutándose en Hyper-V de un Windows Server 2016

La virtualización anidada no está habilitada por omisión, lo cual creo que es lógico, puede ser útil para ambientes de prueba pero no faltará quien quiera utilizarlo en ambiente productivo, Y por mi experiencia, aunque no le he configurado demasiado hardware veo que el rendimiento baja apreciablemente

Tuvo un comportamiento extraño: la primera vez que lo hice fue muy lento todo, cuando lo hice por segunda vez en cambio realmente tuvo muy buen rendimiento, y esta tercera vez que hago para capturar las pantallas volvió a ser muy lento, va ser tema de probar, porque no hubo cambios de configuración que justificaran este comportamiento. Aclaración: ninguna máquina tiene actualizaciones posteriores al lanzamiento

Podemos observar que si en la máquina virtual tratamos de instalar el componente Hyper-V no lo permite, lo pone deshabilitado (grisado). Sí permite, sólo los componentes de administración de la funcionalidad

Para poder hacer la próxima configuración debemos tener la virtual apagada

Debemos abrir la consola PowerShell ejecutándola como Administrador

Y ejecutar el comando:

Set-VMProcessor -VMName <NombreVMVirtual>
-ExposeVirtualizationExtensions $True

Y a diferencia de lo que sucedía con las versiones Technical Preview, lo anterior es todo :)

Entonces ahora arrancamos la virtual, y como se demostró antes permitiendo el acceso de la virtual a disco C:\ del servidor con Hyper-V

De esta forma podemos copiar fácilmente la carpeta C:\ISOs desde una virtual a otra

Y ahora sí, podemos instalar Hyper-V dentro de la virtual

Igual que en cualquier instalación de Hyper-V debemos reiniciar la máquina

Y podemos ingresar a “Hyper-V Manager”

No voy a ser reiterativo, usando los mismos pasos demostrados anteriormente ahora he creado una nueva máquina virtual instalando Windows 10 Enterprise x64

Finalizada la instalación, que no muestro para no repetir, acá está la prueba final. Recuerden como puse antes que el recuadro amarillo corresponde a la máquina virtual existente, que está virtualizando la nueva recuadrada en violeta

 

Como escribí al principio de la nota, esta es una mejora muy importante para los que hacemos pruebas en ambientes virtuales, me animo a decir que era una de las capacidades importantes que le faltaban a Hyper-V, pero ya la tiene :)

 

[Actualización] Para que las máquinas virtuales puedan comunicarse con otras en la red externa, se debe habilitar en la configuración de la misma «Network adapter / Advanced features / Enable MAC Address spoofing». Perdón que había olvidado mencionarlo

 

Publica un comentario o deja una referencia: URL de la referencia.

Comentarios

  • a  El 10/01/2017 a las 14:23

    Set-VMProcessor -VMName “vm name” -ExposeVirtualizationExtensions $true

    Get-VMNetworkAdapter -VMName “vm name” | Set-VMNetworkAdapter -MacAddressSpoofing On

    Codigo powershell para activar el procesador de virtualizacion y las redes de virtualizacion de forma mas rapida.
    No estaría nada mal poner un post sobre system center. Porque tienen muchas posibilidades.

    VMConnect.exe /edit
    codigo para modificar la configuracion una vez hecha de forma codigo powershell

    VMConnect.exe ServerName VMName /edit
    que antes no salio bien el codigo

    Set-VMProcessor -VMName «system center» -ExposeVirtualizationExtensions $true

    Get-VMNetworkAdapter -VMName «iscsi» | Set-VMNetworkAdapter -MacAddressSpoofing On

    Codigo powershell para activar el procesador de virtualizacion y las redes de virtualizacion de forma mas rapida.
    No estaría nada mal poner un post sobre system center. Porque tienen muchas posibilidades.

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: