Arquitectura Hyper-V: Introducción

 

En este articulo vamos a introducirnos dentro de la arquitectura de hyper-v. Es importante conocer como esta construido el hypervisor para después saber solventar los posibles problemas que nos encontremos.

Existen 3 tipos de hypervisor:

  • Nativos como por ejemplo Esxi de Vmware , HyperV de Microsoft o Xen de Citrix
  • Hosted como Java o .NET
  • Híbridos como Vmware Workstation, VirtualBox o Virtualpc

 

Los hypervisores Nativos son aquellos en los que el hypervisor se ejecuta directamente sobre el hardware físico y se carga antes que los demás sistemas operativos invitados. Cualquier acceso a hardware esta coordinado por el hypervisor. Podemos verlo representado en la imagen inferior:

image

 

Los Hypervisores Hosted son aquellos que se arrancan una vez arranca el sistema operativo principal y sirven de soporte para que se ejecuten ciertas aplicaciones (vm) independientemente de en que sistema operativo se ejecuten. Podemos verlo representado en la imagen inferior:

image

 

Los hypervisores Híbridos son aquellos que emulan un entorno, sobre el que ejecutar un so invitado, dentro de un sistema operativo completo ( anfitrión). Interactúan sobre el hardware y con el sistema operativo anfitrión. Una imagen como la inferior vale mas que mil palabras:

image

 

Nosotros nos vamos a centrar en el hypervisor nativo o de tipo 1 ( hyper V o ESXi ). Dentro de este tipo de hypervisor podemos ver 2 subcategorías:

  1. Kernel Monolítico:Son hipervisores que emulan hardware para sus máquinas virtuales.Esta aproximación, usada por productos como VMWare ESXi, obliga a usar una gran cantidad de código que se interpone entre los recursos físicos reales y las operaciones de acceso a ellos efectuadas por las máquinas virtuales.

    El proceso que sigue una llamada a hardware en un sistema virtualizado usando un hipervisor de tipo monolítico es:

    *) El hardware emulado debe interceptar la llamada.

    *) El VMM redirige estas llamadas hacia los drivers de dispositivo que operan dentro del hipervisor, lo cual requiere de numerosos cambios de contexto en el código de la llamada.

    *) Los drivers del hipervisor enrutan la llamada hacia el dispositivo físico.

    Este funcionamiento obliga a desarrollar drivers específicos para el hipervisor de cada componente hardware.

    image

     

  2. MicroKernel:
  3. En esta aproximación el hipervisor se reduce a una capa de software muy sencilla, cuya única funcionalidad es la de particionar el sistema físico entre los diversos sistemas virtualizados.Con esta manera de funcionar los hipervisores de microkernel no requieren de drivers específicos para acceder al hardware.

    En el caso de Hyper-V, que es la solución de virtualización de Microsoft basada en hipervisor de tipo 1 de microkernel, el acceso a los recursos físicos se hace desde la partición primaria, usando los drivers nativos de Windows Server 2008 R2.

    En las particiones hija se utilizan drivers sintéticos, que son simplemente enlaces a los drivers reales ubicados en la partición primaria.

    De esta manera los hipervisores de microkernel no sólo aumentan el rendimiento al reducir el código intermedio y el número de cambios de contexto necesarios, sino que también aumentan la estabilidad de los sistemas, al haber menos componentes, y sobre todo la seguridad, al reducir la superficie de ataque del hipervisor.

    image

    En los próximos artículos de este blog nos centraremos en la arquitectura de Microsoft Hyper-V, en este caso un hypervisor de tipo 1, nativo, y de microkernel.

    A este tipo de hypervisores también ser les denomina bare-metal porque interactúan directamente con el hardware y son ellos quien controlan todas las vm. Hay cierta polémica con el de Microsoft ya que se apoya en una partición padre que utiliza Windows server 2008 (r2 o no) y hay quien dice que no es Bare Metal. El Hypervisor de Vmware hasta la versión 4 por lo menos era un Linux Red Hat Modificado y en la versión 5 creo que es una distribución propia, pero un Linux por tanto no veo mucha diferencia entre ambas aproximaciones y yo considero a las 2 como Bare – Metal.

     

    Espero que os haya servido, me gustaría indicar que cierta información publicada en este blog sale de la documentación de krasis para Microsoft en TechNet.

     

Deja un comentario

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

Time limit is exhausted. Please reload the CAPTCHA.

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