Bienvenidos al primer artículo de la categoría de Administración. Hablaré sobre algo que hago muy a menudo en mi trabajo, la virtualización con Hyper-V.

Intentaré describir que es la virtualización Hyper-V, requisitos mínimos necesarios, su instalación, los distintos componentes que lo integran, las “mejores prácticas” y para que lo utilizaré (respecto a este Blog).

La mayor parte de la información la he sacado de la documentación oficial de Microsoft sobre Hyper-V

Hyper-V

Cuando hablamos de Hyper-V, se trata de un programa de Microsoft utilizado para la virtualización de servidores / sistemas operativos. Que sea de Microsoft no implica que no se puedan virtualizar otros sistemas operativos.

Hay varias alternativas a Hyper-V, como podrían ser XenCenter, VMWare vSphere, VirtualBox y un largo etcétera.

Debido a que habitualmente trabajo con Hyper-V, a que es nativo de Windows y a que no requiere de una instalación especial, os hablaré sobre él en este artículo

La virtualización se lleva a cabo en un Host que por norma general será un Hardware especialmente configurado para ello. Aunque nuevas versiones de Hyper-V nos permiten una virtualización anidada (Hyper-V en Hyper-V), no trataré esta configuración en esta entrada.

Requisitos

Para instalar Hyper-V se requiere de un Sistema Operativo de Windows, Microsoft tiene en oferta una versión gratuita 2019 aquí. Pero en mi caso utilizaré el pc desde donde escribo el Blog.

Los requisitos mínimos son los siguientes en caso de usar Windows 10:

  • Windows 10 Pro, Education o Enterprise
  • Un procesador de 64 bits
  • 4 GB de RAM
  • Una CPU compatible (en su mayoría lo son)

Instalación

La verdad es que la instalación de Hyper-V no es una instalación en sí, es simplemente la activación de un rol.

Esto se puede hacer mediante 3 mecanismos:

Mediante Powershell

Abrimos una consola PowerShell como administradores y ejecutamos el siguiente comando:

No te olvides de reiniciar después de activarlo.

Con CMD y DISM

Igual que en el apartado anterior se puede abrir tanto una consola (cmd.exe) como una PowerShell, pero siempre como administrador. Y escribimos lo siguiente:

Al final de la instalación nos preguntará si queremos reiniciar ahora el equipo, a lo que responderemos con sí.

En la configuración de Windows

Esta es la manera más habitual debido a que no tendremos que memorizar ningún código. Para ello tienes que ir al panel de activar o desactivar características de Windows y seleccionar Hyper-V.

Este se encuentra en el siguiente directorio: Panel de Control > Programas y características > Activar o desactivar las características de Windows

Editar características de Windows
Editar características de Windows

Y seleccionamos Hyper-V con sus componentes:

Instalación de el rol Hyper-V
Instalación de el rol Hyper-V

En un servidor el mecanismo sería similar pero añadiendo el rol desde la interfaz de “Administrador de servidores”.

Los componentes de Hyper-V

Los componentes de Hyper-V se dividen en tres principalmente: las máquinas virtuales (VMs a partir de ahora), los discos virtuales y los adaptadores de red virtuales.

Estos a su vez pueden dividirse en más dependiendo de la versión en la que se utilicen (generación de VMs) o dependiendo del fin que se le de (SET Switch). Llegando a dar configuraciones complejas.

En este apartado me centraré en la configuración que le daré a mi maquina para los fines del blog, e intentaré no ser demasiado técnico.

Los discos virtuales

Las VMs requieren de un disco duro donde ser instaladas, estos discos duros pueden ser VHD (versiones antiguas) o VHDX (nuevas versiones).

Hay multitud de formas de crear dichos discos, en este artículo crearemos uno automáticamente mientras se crea una máquina virtual.

Adaptadores de red virtuales

Este es un componente que dependiendo de la finalidad que tengamos puede ser más o menos difícil de configurar. Al instalar el rol de Hyper-V se instala un adaptador por defecto:

Switch por defecto
Switch por defecto

Yo utilizaré el adaptador por defecto en primera instancia, debido a que no voy a crear estructuras aisladas (por el momento). Igualmente explicaré cuales son los tipos de adaptadores y sus funciones:

  • Externo: Utiliza directamente el adaptador de red, esto puede ser interesante si queremos dedicarle un adaptador de red a una VM especifica (por ejemplo para DMZ), el acceso a internet será directo.
  • Interno: Se utiliza para comunicar las VMs entre si, con esta configuración podrán comunicar también con el Host. Con este adaptador obtendrá acceso a internet a través del Host.
  • Privado: Se utiliza para aislar VMs del tráfico de red, permite la comunicación de las VMs entre si mientras compartan este switch y estén en el mismo Host.
Las máquinas virtuales (VMs)

Componente principal para el que se desarrolló Hyper-V.

Como su nombre indica son máquinas que funcionan de forma virtualizada optimizando así recursos del Host (máquina que los hospeda).

Un objetivo de la virtualización es separar los sistemas o VMs por las tareas que realicen, así si colapsa un sistema solo se ve afectada una de las tareas.

Una máquina virtual puede ser creada de diferentes maneras, en PowerShell o desde la consola de administración de Hyper-V.

La creación de VMs mediante PowerShell la dejaré para una futura entrada donde presentaré una herramienta desarrollada por mi para el mantenimiento y configuración de Hyper-V.

Mediante la interfaz gráfica simplemente tendremos que abrir el Hyper-V Manager y darle a nueva máquina virtual:

Añadiendo una nueva máquina virtual
Añadiendo una nueva máquina virtual

Luego solo se tendría que seguir el asistente que nos aparecerá y habremos creado nuestra primera máquina virtual. En el siguiente GIF os muestro en pocos pasos como realicé el proceso.

Pasos de como configurar una VM desde el asistente
Pasos de como configurar una VM desde el asistente

Si te das cuenta en el apartado de nombre y directorio, marco la casilla de un directorio distinto a pesar de que se guardará en el directorio que configuré por defecto. Esto lo hago para que todos los componentes de la VM se guarden bajo ese directorio (Puntos de control, Discos Duros…).

Tampoco le he añadido ni una tarjeta de red, ni una imagen de instalación, ni la cantidad de CPU y RAM a utilizar. Esto lo hice a posteriori como podeis observar ahora.

Configurando los atributos de la VM
Configurando los atributos de la VM

Como se puede observar en la imagen he modificado los siguientes puntos:

  • RAM a 2048MB
  • Procesador a 2
  • Añadido un disco de arranque con la ISO de Windows 10 evaluación (gratuita)
  • Adaptador virtual por defecto
  • Activado los servicios de integración
  • Acciones automáticas de arranque
    • Desactivadas para que no arranque la VM con el sistema
  • Acciones automáticas de apagado
    • Apagar la VM de forma controlada

Antes de instalar la máquina virtual debemos de modificar el orden de arranque de la siguiente forma:

Cambiar el orden de inicio

Una vez terminado este proceso ya podremos instalar Windows 10 en nuestro ordenador.

Mejores prácticas

Hay infinitud de páginas destinadas a las mejores practicas en Hyper-V y como bien he mencionado antes todo depende del uso.

En mi caso lo usaré para hacer pruebas en entornos de Windows, ya que estará instalado en mi ordenador de trabajo.

Si por el contrario quieres crear una infraestructura y usarla de modo productivo, te recomiendo tener en cuenta los siguientes puntos:

  • Buscar el servidor adecuado para lo que tengas planeado, una vez escogido es difícil cambiar elementos como el procesador.
  • Mirar optimizaciones como Hyper-Threading y ver si son acordes con las licencias adquiridas
  • Repartir la RAM de modo fijo en vez de dinámico sobre todo en servidores SQL.
  • El host solo debe estar instalado Hyper-V, no instales más roles.
  • Planear el Storage de forma optima, para pequeñas infraestructuras prescindir de SAN y construcciones complejas.
  • Utilizar los discos virtuales de forma correcta, si son todos dinámicos ten en cuenta el tamaño máximo que pueden alcanzar.
  • Mantén el sistema actualizado y reinícialo de vez en cuando.
  • Copias de seguridad para no tener disgustos.

Me dejo por el camino muchas de las “mejores prácticas”, pero hablar de ellas en detenimiento daría para un artículo en sí.

Ahora paso a comentar las “mejores prácticas” que realizaremos en nuestro Hyper-V.

Cambiar el lugar por defecto de las máquinas virtuales y discos, para ello iremos al punto de configuración del Hyper-V.

Configuración del HyperV
Configuración del HyperV

Yo recomiendo hacer una carpeta específica para las VMs, otra para los discos duros y una última para las ISOS. A poder ser tenerlas separadas del disco donde funciona el sistema.

Normalmente suelo configurar una partición para el sistema (120 GB máximo) y una partición optimizada (RAID) con SSD para las máquinas virtuales.

Para que utilizaré Hyper-V

Tengo pensado redactar todos los lunes un artículo relacionado con mi trabajo, en alguno de ellos utilizaré PowerShell y haré pruebas en Windows.

Estas pruebas no las realizaré con sistemas productivos, es por eso que utilizaré VMs temporales para crear Clientes y Servidores. Utilizando puntos de control para poder generar muchas pruebas en poco tiempo.

El objetivo principal es automatizar infraestructuras en Windows y facilitar el mantenimiento mediante PowerShell mediante sistemas temporales los cuales se puedan reestablecer rápidamente.

Espero haber sido conciso, si se me escapa algo no dudes en comentarlo.

Un saludo!