Hypervisor: el medio para la virtualización
La virtualización ofrece posibilidades tecnológicas totalmente nuevas. En lugar de volver a crear un sistema completo (incluido el hardware y el sistema operativo basado en él), simplemente se obtiene una versión virtual del mismo, una especie de entorno simulado a imagen y semejanza del sistema de origen. Esta tecnología se utiliza, por ejemplo, en el desarrollo de software, para crear un entorno de prueba seguro. El primer requisito de la virtualización es configurar una máquina virtual en un sistema físico real. Entre el nivel virtual y el nivel físico, también debe haber una instancia que los conecte sin verse demasiado influida por ambos. Esta capa abstracta se denomina hipervisor y sirve de intermediaria entre los dos niveles.
¿Qué es un hypervisor?
Cuando se crea una máquina virtual (VM, del inglés virtual machine), esta se ejecuta sobre la base de una máquina real no virtual, por ejemplo, un ordenador. La VM, por lo tanto, depende del hardware físico, por lo que debe existir una capa adicional entre los dos niveles que se haga responsable de la administración: se trata del hipervisor, un software que se hace cargo de gestionar los recursos necesarios para su funcionamiento. Este programa, también conocido como monitor de máquina virtual o virtual machine monitor (VMM), se encarga de asignar memoria RAM, espacio en el disco duro, componentes de red o rendimiento del procesador en el marco del sistema. De esta manera, varias y diferentes máquinas virtuales pueden ejecutarse en el sistema host, ya que el hipervisor se asegura de que no interfieran entre sí y de que todas tengan a su disposición los recursos que necesiten.
En principio, el sistema huésped (es decir, la virtualización) no percibe en absoluto las medidas de gestión del VMM: el hypervisor abstrae el hardware de tal manera que la VM asume que se encuentra un entorno de hardware establecido. Como los requisitos en relación con los programas que se ejecutan cambian constantemente, incluyendo los de las máquinas virtuales, una gran ventaja del hipervisor es que puede ir proporcionando los recursos según sea necesario. El sistema huésped tampoco se da cuenta de ello: la máquina virtual no tiene forma de reconocer la existencia de otras máquinas que se ejecuten en el mismo hardware físico.
La separación estricta entre las diferentes máquinas virtuales no solo garantiza una buena distribución de los recursos, sino también el aumento de la seguridad. El hipervisor garantiza que los sistemas huésped no puedan acceder a los archivos del resto de sistemas. Esto es especialmente importante cuando se realizan pruebas, ya que asegura que los programas defectuosos no puedan dañar otros entornos de prueba.
Como el hypervisor es solo una capa abstracta y la máquina virtual reproduce un entorno de hardware, el sistema huésped no está vinculado a un hipervisor concreto, del mismo modo que no está relacionado con un sistema host específico. Por este motivo, la virtualización a través del hipervisor resulta muy interesante para los servicios en la nube: los proveedores de servidores simplemente pueden trasladar el entorno de prueba virtualizado a otra máquina física sin causar problemas a los programas que se ejecutan en la VM.
El virtual machine monitor también ofrece varias opciones de administración al usuario. De esta manera, cada sistema huésped se puede organizar y configurar. En casi todos los casos, es posible crear, configurar, ejecutar y eliminar máquinas virtuales a través de una interfaz gráfica de usuario.
Diferentes tipos de monitores de máquinas virtuales
Se distingue entre dos tipos diferentes de virtual machine monitor, cada uno de los cuales ofrece ventajas muy concretas. El primero es también el más antiguo. Ya en la década de 1960, se iniciaron intentos de virtualización con esta tecnología.
Hipervisor de tipo 1
El primer tipo se conoce como hipervisor nativo (en inglés, native hypervisor) o bare metal hypervisor. Esta forma de VMM se instala directamente en el hardware físico y no está conectada con el sistema operativo del host. Por lo tanto, este hipervisor también debe contener todos los controladores de dispositivos. El consumo de recursos del hipervisor de tipo 1 es comparativamente reducido, porque los procesos informáticos no se ejecutan a través del sistema operativo del host. Esta forma de hipervisor es especialmente adecuada para los usuarios que deseen crear un servidor para la virtualización. En los proyectos más pequeños del entorno doméstico, no tendría sentido utilizar un hipervisor de tipo 1, puesto que sería demasiado complejo.
Hipervisor de tipo 2
El segundo tipo (también conocido como hosted hypervisor) requiere un sistema operativo existente, que a su vez se base en el hardware físico. Los hipervisores de tipo 2 se instalan como cualquier otro programa. A continuación, el VMM gestiona la virtualización. En este caso, no es necesario que los controladores de dispositivos estén instalados en el hypervisor, ya que el propio sistema operativo se encarga de transferirlos al software. Sin embargo, esta comodidad va a expensas del rendimiento, porque gran parte de los recursos se invierten en el sistema operativo del host. En cualquier caso, gracias a la sencillez del proceso de instalación y configuración, los hipervisores de tipo 2 son perfectos para proyectos más pequeños.