Virtualización anidada en Windows 10

Manual de Windows 10 de Miniacademia

INDICE DEL MANUAL

   El PC de un profesional IT se convierte en ocasiones en un laboratorio para novedades o pruebas de futuras implementaciones en la empresa. Si el sistema es lo suficientemente potente, los entornos de laboratorio pueden ser realmente completos. En estos casos, la virtualización anidada en Windows 10 puede ser de gran ayuda.

   Un reto puede ser el testeo de hipervisores. Esto es, que en en un PC con Windows 10 (el del profesional IT que nos ocupa), pudieran estar ejecutándose máquinas virtuales con un hipervisor empresarial (VMWare ESXi, Citrix XenServer o Microsoft Hyper-V, por ejemplo) y que estas máquinas virtuales, a su vez, pudieran ejecutar internamente máquinas virtuales. Estas últimas serían las máquinas virtuales anidadas.

   El hipervisor de segundo nivel que permitía hacerlo era VMWare Workstation. Ahora también puede conseguirse (con muchas más limitaciones) con el Cliente Hyper-V de Windows 10 (o Hyper-V en Windows Server 2016).

   En esta lección se describe como configurar la virtualizaion anidada en una máquina virtual Windows Server 2016 que estará ejecutándose en el Cliente Hyper-V de nuestra estación de trabajo Windows10.

   Con un objetivo didáctico, nos permitiremos la licencia de denominar máquina virtual “servidor” a la máquina virtual que contendrá las máquinas virtuales anidadas.

 



LECCIÓN SIN PRÁCTICAS
MDOM01 MWST01 Manual de Windows 10 de Miniacademia - Diagrama Laboratorio
MWST04 MAL102

1.- Características de la virtualización anidada

   Hyper-V es mucha más restrictivo que VMWare Workstation en lo que se refiere a la virtualización anidada. Eso sí, una vez que tengamos un equipo con Windows 10 (al menos 1607), la virtualización anidada es gratuita.

   Los requisitos Windows son:

CARACTERÍSTICA VALOR
Sistema operativo host
  • Windows Server 2016.
  • Windows 10 1607 (mínimo) Enterprise, Education o Pro.
Sistema operativo de las máquinas virtuales
  • Windows Server 2016
  • Windows 10 1607 (mínimo).
Versión de la configuración de la VM
  • 8.0 (mínimo)
Hardware
  • Procesador Intel con extensiones VT-x y EPT.
Memoria dinámica
  • Deshabilitada en la máquina virtual “servidor” Hyper-V.

 

   Vamos a crear, dentro de un equipo físico (MWST04 en nuestro laboratorio, con Windows 10 1703) una máquina virtual con sistema operativo Windows Server 2016. En esta máquina virtual se configurará la virtualización anidada para ejecutar a su vez en su interior una máquina virtual con Windows 10.

Manual de Windows 10 de miniacademia.es - Virtualización anidada.

Imagen 17.1 – Virtualización anidada.

   Una vez creada la máquina virtual con Windows Server 2016, se deben habilitar en ella las extensiones de virtualización y   configurar sus elementos de red para que las máquinas virtuales anidadas tengan conectividad. En un entorno de pruebas, este “servidor” con Windows Server 2016 debería contar con varios interfaces de red, de manera que pudieran explorarse todas las prestaciones de Hyper-V en Windows Server (administración del servidor, tráfico de red de sus máquinas virtuales, migración de las mismas, almacenamiento iscsi…) e incluso tener más de una máquina virtual con Windows Server (pruebas de alta disponibilidad, recuperación ante desastres,…). En nuestro ejemplo la máquina virtual “servidor” contará con dos interfaces de red. Una para la administración de la propia VM y otra para proveer conectividad a las VMs anidadas.

   En cualquier caso, para alcanzar el objetivo de conectividad de las máquinas virtuales anidadas, existen dos opciones:

  • MAC Address Spoofing
  • NAT

Nosotros elegiremos la primera opción.

Para más información se puede consultar https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

 

2.- Creación y configuración de la VM “servidor” Hyper-V

   En esta sesión se creará la máquina virtual “servidor, que llamaremos MHYV01, con sistema operativo Windows Server 2016 estándar. Una versión de evaluación de Windows Server 2016 puede descargarse desde https://www.microsoft.com/es-es/evalcenter/evaluate-windows-server-2016/.

Creación de la VM en la que se configurará la virtualización anidada

 

  1. Se abre la consola Administrador de Hyper-V en el equipo físico (MWST04 en nuestro laboratorio).
  2. En el panel izquierdo de la consola, en el menú contextual del nombre de host MWST04, se selecciona “Nuevo” -> “Máquina virtual”. Se inicia el “Asistente para crear una nueva máquina virtual”.
  3. Ventana “Antes de comenzar”: es informativa. Una vez leída, hacemos clic en “Aceptar”.
  4. Ventana “Especificar el nombre y la ubicación”: se escribe el nombre de la máquina virtual y la ubicación de sus ficheros de configuración. En nuestro caso, asignamos el nombre “MHYV01” y no cambiamos la ubicación por defecto de los ficheros de configuración de la máquina virtual. Se hace clic en “Siguiente”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.2 – Se comienza la creación de la VM en la que se configurará la virtualización anidada.

  5. Ventana “Especificar generación”: en este caso (vamos a instalar Windows Server 2016, sólo disponible en 64 bits), elegimos “Generación 2”. Se hace clic en “Siguiente”.
  6. Ventana “Asignar memoria”: uno de los requisitos para ejecutar virtualización anidada es que la máquina virtual que va a actuar como hipervisor debe tener deshabilitada la memoria dinámica. Cuanta más memoria se pueda asignar a esta VM mejor, ya que en su interior se van a crear las máquinas virtuales anidadas. En nuestro caso hemos asignado 8GB. Se hace clic en “Siguiente”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.3 – Configuración de la memoria dinámica.

  7. Ventana “Configurar funciones de red”: se elige el conmutador virtual “vSwitch01-Externo” disponible en el equipo físico. Se hace clic en “Siguiente”.
  8. Ventana “Conectar disco duro virtual”: en este paso se creará un disco duro virtual vhdx que la máquina virtual utilizará como disco duro local. Debe tener el suficiente tamaño para alojar posteriormente los discos duros virtuales de las VMs anidadas. Otra opción sería crear más adelante un disco duro con el suficiente tamaño para ello y conectarlo a la VM. En nuestro caso crearemos un disco de 100 GB, cambiando el valor por defecto del campo “Tamaño”. Se hace clic en “Siguiente”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.4 – El disco debe tener tamaño suficiente para alojar las VMs anidadas.

  9. Ventana “Opciones de instalación”: se configura el origen del medio de instalación para el sistema operativo de la máquina virtual. En nuestro caso, en el campo “Instalar un sistema operativo desde un archivo de imagen de arranque” se seleccionará la imagen ISO de Windows Server 2016. Se hace clic en “Siguiente”.
  10. Ventana “Finalización del asistente para crear una nueva máquina virtual”: es un resumen de la configuración de la máquina virtual que vamos a crear. Se hace clic en “Finalizar”. El asistente creará la máquina virtual MHYV01. Una vez finalizado el proceso, la máquina virtual ya aparecerá en el panel central de la consola “Administrador de Hyper-V”.
  11. Puede ser conveniente, en la configuración de la máquina virtual recién creada, aumentar el número de procesadores virtuales al máximo posible.
  12. En el menú contextual de MHYV01 se elige la opción “Conectar”.
  13. En la consola de la máquina virtual MHYV01, se hace clic en el icono de “Iniciar”, lo que “encenderá” la máquina virtual. De esta manera, procederemos a instalar el sistema operativo invitado en MHYV01. Puede ser necesario estar atento al mensaje de “Press any key to boot from CD or DVD…” para poder iniciar correctamente desde la imagen iso e iniciar así la instalación.
  14. Realizaremos una instalación típica de Windows Server 2016. En nuestro caso, elegimos “Windows Server 2016 Standard Evaluation (Experiencia de escritorio)”.
  15. Se debe asignar la contraseña de usuario administrador integrado.
  16. En el caso del ejemplo se configura un direccionamiento estático para la VM.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.5 – Direccionamiento IP de la VM.

  17. También hemos unido la VM MHYV01 al dominio del laboratorio, MINIACADEMIA.LOCAL.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.6 – Hemos unido la VM al dominio del laboratorio.

 

   El siguiente paso es habilitar la virtualización anidada en la máquina virtual recién creada., exponiendo la extensiones de virtualización del procesador a la VM. Se utilizará el cmdlet de PowerShell Set-VMProcessor.

Habilitar las extensiones de virtualización en la VM “servidor” de Hyper

Los pasos a seguir en la VM MHYV01 del ejemplo serían:

    1. Apagar la máquina virtual si no lo está ya.
    2. Abrir un intérprete Powershell en la máquina física con privilegios de administrador y ejecutar el comando PowerShell Set-VMProcessor -VMName “MHYV01” -ExposeVirtualizationExtensions $true

 

   En este momento ya se podrá instalar el rol Hyper-V en la VM “servidor”. En la entrada “Creación de máquinas virtuales. Administración y configuración” vimos como activar el cliente Hyper-V en un equipo con Windows 10. En el ejemplo que estamos desarrollando ahora tenemos como sistema operativo Windows Server 2016, por lo que el procedimiento es distinto.

   Pero antes vamos a agregar una segunda interfaz de red en la máquina virtual “servidor”.

Instalación del rol Hyper-V en la máquina virtual “servidor”

  1. En la máquina física (MWST04) se accede a la consola del administrador de Hyper-V. En la configuración de la máquina virtual “servidor” (MHYV01) se añade una segunda interfaz de red.

    Manual de Windows 10 para la empresa de miniacademia.es - Virtualización anidada.

    Imagen 17.7 – Se añade una segunda interfaz.

  2. Esta también debe ser externa y conectada a un conmutador virtual externa existente, para que las VMs anidadas tengan conexión con la red externa.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.8 – La  nueva interfaz dará conectividad externa las VMs anidadas.

  3. Se inicia la VM “servidor” (MHYV01 y se abre sesión como administrador.
  4. En nuestro ejemplo renombraremos las interfaces de red de la máquina virtual “servidor”, ya que será útil posteriormente. La primera como “ADMIN” y la segunda como “TRAFICO-VMS”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.9 – Renombrar las interfaces de red puede ser útil un poco más adelante.

  5. Para añadir el rol Hyper-V, en la consola “Administrador del servidor”, se hace clic en “Agregar roles y características”. Se inicia el “Asistente para agregar roles y características”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.10 – Se inicia el asistente para agregar el rol Hyper-V.

  6. Ventana “Antes de comenzar”: es informativa. Siguiente.
  7. Ventana “Seleccionar tipo de instalación”: elegir “Instalación basada en características o en roles”. Siguiente.
  8. Ventana “Seleccionar servidor de destino”: con “seleccionar un servidor del grupo de servidores marcado”, se selecciona el servidor local sobre el que se quiere instalar el rol (MHYV01 en el ejemplo). Siguiente.
  9. Ventana “Seleccionar roles del servidor”: se marca la casilla del rol “Hyper-V”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.11 – Se debe marcar el rol Hyper-V.

  10. Se acepta instalar las características adicionales en la ventana emergente.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.12 – Se acepta la instalación de las características requeridas.

  11. De nuevo en la ventana “Seleccionar roles del servidor”: Siguiente.
  12. Ventana “Seleccionar características”: no es necesaria ninguna selección adicional. Siguiente.
  13. Ventana “Hyper-V”: es informativa. Siguiente.
  14. Ventana “Crear conmutadores virtuales”: se debe elegir la interfaz de red de la máquina virtual servidor que se enlazará con el conmutador virtual que se va a crear para dar tráfico de red a las máquinas virtuales. En nuestro ejemplo, elegimos la interfaz virtual a la que cambiamos el nombre a “TRAFICO-VMS”.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.13 – Se elige la interfaz que dará conectividad a las VMs anidadas.

  15. Ventana “Migración de máquinas virtuales”: en nuestro ejemplo no modificamos nada. Siguiente.
  16. Ventana “Almacenes predeterminados”: se pueden modificar las ubicaciones por defecto para los archivos de configuración y los discos duros virtuales de las máquinas virtuales anidadas que se vayan a crear posteriormente. En nuestro ejemplo lo vamos a dejar por defecto. Siguiente.
  17. Ventana “Confirmar selecciones de instalación”: en nuestro ejemplo, por comodidad, vamos a marcar la opción de “Reiniciar automáticamente el servidor de destino en caso necesario”. Siguiente.
  18. Se llevará a cabo la instalación del rol.
  19. Tras un reinicio, ser deberá abrir de nuevo sesión con el mismo usuario para que concluya la instalación. El asistente reaparece automáticamente.
  20. Ventana “Progreso de la instalación”: mostrará finalmente un mensaje confirmando que la instalación del rol ha concluido correctamente. Clic en Cerrar.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.14 – Finaliza la instalación del rol Hyper-V

 

   Ahora se debe configurar el adaptador de red que se ha dedicado al tráfico de máquinas virtuales. Se trata de permitir que las máquinas virtuales anidadas que más adelante vamos a crear tengan tráfico de red. Las opciones, como ya vimos, son habilitar NAT o MAC Address Spoofing.

   Vamos a elegir este último, y así las VMs anidadas podrán estar en el mismo rango de red que su VM “servidor”.

   Para ello, debemos obtener la dirección MAC del adaptador de la VM servidor (MHYV01) que se dedica al tráfico de red. Durante la instalación del rol Hyper-V en esa máquina virtual se renombraron sus dos interfaces de red para distinguirlas en el asistente de instalación del rol. A la que nos interesa la pusimos el nombre “TRAFICO-VMS”.

   Una manera de obtener la dirección MAC es utilizar, dentro de la máquina virtual, el cmdlet de PowerShell  Get-NetAdapter. Después de obtener la MAC, en el equipo físico se debe utilizar el cmdlet Set-VMNetworkAdapter para habilitar MAC Address Spoofing.

 

Configuración de MAC Spoofing para dar conectividad a las VMs anidadas.

    1. En un intérprete PowerShell de la VM “servidor”, ejecutar Get-NetAdapter con los parámetros que se muestran a continuación para obtener la MAC (esta es una de las varias maneras con las que se puede obtener dicha información..

       
    2. Volviendo a la máquina física (MWST04), habilitar Mac spoofing para el adaptador de red virtual de la máquina virtual “servidor” (MHYV01)

       

 

   El equipo físico (MWST04) ya estaría preparado para crear, dentro de su máquina virtual para la que se ha habilitado la virtualización anidada (MHYV01), máquinas virtuales.

 

3.- Creación  de la máquina virtual anidada

   Una vez habilitada la virtualización anidada en la máquina virtual “servidor” (MHYV01)  y configurado MAC spoofing en una de los interfaces de red virtuales añadidos a la misma en su configuración, no hay ningún impedimento en crear la primera máquina virtual anidada.

Creación de una máquina virtual anidada e instalación del sistema operativo.

   El proceso no se mostrará de manera exhaustiva,  ya que sería repetir lo ya expuesto en la lección Creación de máquinas virtuales en Hyper-V Windows 10.

   Lógicamente, es necesaria tener iniciada la máquina virtual “servidor” (MHYV01).

  1. En la máquina virtual “servidor” (MHYV01), a través de la consola Administrador de Hyper-V, se crea una nueva máquina virtual, llamada en nuestro ejemplo MVIR02.

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.15 – Comienza la creación de la máquina virtual anidada.

  2. En el ejemplo, esta máquina contará con las siguientes características:
    • Sistema operativo: Windows 10 Pro 1703 x64.
    • Generación 2.
    • Memoria asignada 4096 MB.
    • Memoria virtual habilitada (en la máquina virtual anidada ya sí se puede utilizar esta característica de Hyper-V).

      Manual de Windows 10 de miniacademia.es - Virtualización anidada.

      Imagen 17.16 – Características de la VM anidada.

  3. Al finalizar la instalación, se tendrá finalmente en ejecución una máquina virtual (MVIR02) anidada en ejecución dentro de una máquina virtual con la virtualización anidada habilitada y configurada (MHYV01), en ejecución a su vez dentro en un equipo físico (MWST04).

    Manual de Windows 10 de miniacademia.es - Virtualización anidada.

    Imagen 17.17 – Cadena de la virtualización anidada en nuestro laboratorio.

 

 

 


18.- Contenedores.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *