[Tutorial] Hyper-V | Virtualización Anidada (Nested Virtualization) en Windows 10

En esta publicación vamos a conocer los detalles relacionados a la Virtualización anidada (Nested Virtualization) en Hyper-V de Windows 10.

En relación a Hyper-V, era algo que necesitábamos por el solo hecho de que en la competencia VMware si se podía hacer modificando un parámetro en el archivo de configuración, Microsoft se ha dado cuenta de esto y por eso ha dado la posibilidad de activar esta función en el nuevo Hyper-V de Windows 10.

 

[toc]

Introducción

Objetivo

Esta publicación tiene como objetivo:

  • Demostrar el fácil proceso de habilitar la Virtualización anidada (Nested Virtualization) en Hyper-V de Windows 10.
  • Indicar cuales son los requisitos para poder virtualizar sobre lo virtualizado.

Audiencia

Este documento está dirigido a Consultores, Profesionales IT y personas que desarrollan tareas de Consultoría, Administración y Soporte o que simplemente están interesados en leer e investigar sobre la tecnología alcanzada por esta publicación.

Comentarios y Corrección de Errores

Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos seres humanos. Si deseás reportar algún error o darnos feedback de qué te pareció esta publicación, por favor no dejes de comunicarte con nosotros a través de correo electrónico a la siguiente dirección: info@tectimes.net.

Alcance Técnico

Entender cuál es el alcance de la publicación nos ayuda a tener una expectativa real de lo que encontraremos en la misma, de modo tal que quién lo lee no espere ni más ni menos de lo que encontrará. Vamos a describir el objetivo técnico, tecnologías alcanzadas, escenario de trabajo y plan de trabajo en alto nivel.

Objetivo Técnico

El objetivo técnico de este tutorial es realizar las configuraciones necesarias en Windows 10 y Hyper-V, de modo tal que podamos virtualizar sobre lo que ya está virtualizado (virtualizar una máquina virtual con Hyper-V y en esa VM instalar Hyper-V también y poder correr VMs).

Tecnologías Alcanzadas

Las tecnologías alcanzadas por esta publicación son las siguientes:

  • Windows 10.
  • Hyper-V.

Escenario de Trabajo

El escenario de trabajo que da marco a esta publicación es el siguiente:

  • El equipo Host debe trabajar con Windows 10 Professional / Enterprise – Build 10565 o superior.
  • 1 Equipo virtual con:
    • 4 GB de memoria.
    • 2 Procesadores virtuales.
    • 1 Disco Rígido virtual de 127 GB (Puede variar dependiendo la cantidad de VMs a ejecutar).
    • Conexión a Internet.
  • Un ISO de Windows 10 Professional / Enterprise (en su versión estable o Technical Preview).
  • Download Script – GitHub

Plan de Trabajo

El plan de trabajo a desarrollar en esta publicación es el siguiente:

  • Configuración inicial de la Virtualización anidada (Nested Virtualization) en Hyper-V de Windows 10.
    • Descarga y copia de Script – GitHub.
    • Windows PowerShell ISE.
    • Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization).

Desarrollo

Vamos a comenzar con este tutorial, en donde vamos a conocer cómo habilitar la Virtualización anidada (Nested Virtualization) en Hyper-V de Windows 10.

¡Síguenos!

¿Qué es virtualización anidada o Nested Virtualization?

La virtualización anidada no es más que virtualizar sobre lo que ya está virtualizado, tener virtualizada una máquina virtual con Hyper-V y en esa VM instalar Hyper-V también y poder correr VMs, esto antes no era posible porque si intentabas instalar la característica de Hyper-V en Windows nos daba un error y nos decía que el Hypervisor ya estaba siendo utilizado. El siguiente gráfico nos resume lo que les digo.

Ilustración 1 – Cuadro ilustrativo de Nested Virtualization
Ilustración 1 – Cuadro ilustrativo de Nested Virtualization


Configuración Inicial

En la actualidad, este proceso se está ejecutando en una maquina host con Windows 10 Pro – 10586.

Ilustración 2 – Desktop Windows 10 Pro (Build 10586)
Ilustración 2 – Desktop Windows 10 Pro (Build 10586)


Descarga y copia de Script – GitHub

Ingresamos a la siguiente dirección de enlace para proceder con la copia del Script proporcionado por el equipo de GitHub, el cual nos facilitará el proceso de activación.

Ilustración 4 – GitHub
Ilustración 4 – GitHub
Ilustración 4 – GitHub(2)
Ilustración 4 – GitHub(2)


Windows PowerShell ISE

En este caso nos dirigimos a Windows PowerShell ISE y lo ejecutamos como administrador. Una vez dentro pegamos el Script que copiamos de la página de GitHub y lo guardamos en la unidad C:/ con la siguiente extensión Enable-NestedVm.ps1.

Ilustración 5 – Windows PowerShell ISE
Ilustración 5 – Windows PowerShell ISE


Ilustración 6 – Windows PowerShell ISE(2)
Ilustración 6 – Windows PowerShell ISE(2)


Después de haber guardado el Script en la ruta correspondiente, procedemos a ejecutarlo y adicionalmente, agregamos la siguiente extensión

./Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1 ~/Enable-NestedVm.ps1 -VmName <Nombre de la VM al cual le habilitaremos (Nested Virtualization)>

 

Ilustración 7 – Ejecución de Script ./Enable-NestedVm.ps1
Ilustración 7 – Ejecución de Script ./Enable-NestedVm.ps1


Como vemos, el proceso de ejecución del Script fue realizado de forma exitosa y antes de continuar nos muestra 2 recomendaciones que se debe tener en cuenta antes de presionar Y:

  • Se habilitará Mac Address Spoofing en la VM que ejecutará (Nested Virtualization).
  • Se agregará 4GB de RAM (Es el mínimo recomendado que se debe tener) a la VM que ejecutará (Nested Virtualization).
Ilustración 8 – Recomendaciones
Ilustración 8 – Recomendaciones


Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)

Después de haber tomado las consideraciones del caso y ejecutado Y como aceptación de este proceso, nos dirigimos a realizar la instalación y ejecución de Hyper-V para poder virtualizar sobre lo virtualizado.

Habilitamos el Rol de Hyper-V en la VM que habilitamos (Nested Virtualization).

Ilustración 9 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)
Ilustración 9 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)


Iniciamos el Administrador de Hyper-V.

Ilustración 10 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)(2)
Ilustración 10 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)(2)


Ahora que podemos apreciar, que en realidad se está ejecutando Hyper-V dentro de una VM que también está corriendo sobre el Hypervisor de Microsoft (Hyper-V), podremos decir misión cumplida y realizar un sinfín de pruebas en ellas.

Ilustración 10 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)(3)
Ilustración 10 –Instalación y Ejecución de Hyper-V en la VM que habilitamos (Nested Virtualization)(3)


Conclusiones

¿Cómo afecta todo lo visto a Profesionales IT y Desarrolladores? La pregunta es muy sencilla de responder. Este método de virtualización lo recomiendo para realizar pruebas que antes solo eran posible gracias a otro Hypervisor, un ejemplo de esto es: probar nuevas características de virtualización de Windows Server 2016.

Ilustración 12 – Conclusiones
Ilustración 12 – Conclusiones


Referencias y Links

Acerca del Autor

0 0 votes
Article Rating

Professor. Techie. Ice cream fan (dulce de leche). My favorite phrase: "Todos los días pueden no ser buenos ... pero hay algo bueno en todos los días". Currently I´m Engineering Manager at MODO (https://modo.com.ar), the payment solution that allows you to connect your money and your world to simplify everyday life. Modo is a payment solution in which you can send, order and pay from your mobile device in the safest, most practical and convenient way. I enjoy a lot of educational, technological talks and a good beer. If you want to talk, write me to pablodiloreto@hotmail.com.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments