Hipervisor explicado: definición, tipos y ejemplos del mundo real
El hipervisor es una tecnología bastante antigua, pero sigue siendo súper relevante para habilitar la virtualización. Los primeros hipervisores en proporcionar virtualización completa fueron desarrollados por IBM en 1967. Se desarrollaron como herramienta de prueba (llamada SIMMON) para el sistema operativo CP/CMS de IBM.
Pero, ¿qué es exactamente la virtualización? En términos simples, la virtualización es un proceso de crear una versión basada en software (o virtual) de algo que usa una cantidad fija de almacenamiento, redes y recursos computacionales. Funciona particionando el hardware subyacente y ejecutando cada partición como una Máquina Virtual separada e aislada, que tiene su propio sistema operativo.
Aquí es donde entra el hipervisor. Hacen factible el proceso de virtualización. En este artículo de revisión, hemos explicado diferentes tipos de hipervisores y cómo funcionan. Empecemos con una pregunta básica.
¿Qué es un hipervisor?
Definición: Un hipervisor es hardware, software o firmware de computadora que crea máquinas virtuales y luego gestiona y asigna recursos a ellas eficientemente. Cada máquina virtual puede ejecutar su propio sistema operativo y aplicaciones.
La computadora en la que se instala el hipervisor se llama máquina anfitriona (host), y todas las máquinas virtuales se llaman máquinas huésped (guest). Un hipervisor facilita dividir los recursos de la máquina anfitriona y asignarlos a máquinas huésped individuales. También te permite gestionar la ejecución de sistemas operativos y aplicaciones huésped en una sola pieza de hardware de computadora.
Digamos que tienes una PC con 16 GB de RAM y 500 GB de almacenamiento ejecutándose en Linux, y quieres ejecutar aplicaciones que requieren macOS. En este caso, puedes crear una máquina virtual ejecutando macOS y luego usar un hipervisor para gestionar sus recursos. Por ejemplo, puedes asignarle 4 GB de RAM y 100 GB de almacenamiento.
Desde el punto de vista de una máquina huésped, no hay diferencia entre el entorno físico y virtualizado. Las máquinas virtuales no saben que fueron creadas por un hipervisor y que están compartiendo recursos disponibles. Se ejecutan concurrentemente en el hardware que las alimenta. Y así, dependen enteramente de la operación estable del hardware.
Los hipervisores llevan más de medio siglo, pero debido al aumento en la demanda de computación en la nube en años recientes, su importancia se ha vuelto más aparente.
Tipos de hipervisores
Desde mediados de los 70, dos tipos diferentes de hipervisores se han usado para implementar virtualización:
Tipo 1 / Bare-metal / Hipervisores nativos
Los hipervisores Tipo-1 se ejecutan directamente en el hardware del anfitrión. Como tienen acceso directo al hardware subyacente y no necesitan pasar por la capa del sistema operativo, también se llaman hipervisores bare-metal.
Rinden mejor, corren más eficientemente y son más seguros que otros tipos de hipervisores (Tipo-2). Por eso grandes organizaciones y empresas prefieren hipervisores bare-metal para trabajos de computación en centros de datos.
Mientras que la mayoría de hipervisores Tipo-1 permiten a administradores asignar manualmente recursos basados en prioridad de la aplicación, algunos proporcionan opciones de asignación y gestión dinámica de recursos.
Los primeros hipervisores, como el software de prueba SIMMON, eran hipervisores tipo-1.
Ejemplos modernos: VMware ESXi, Nutanix AHV, Oracle VM Server for x86, Microsoft Hyper-V.
Tipo 2 / Hipervisores alojados
Como todos los programas de computadora, los hipervisores Tipo-2 se ejecutan en un sistema operativo. Así, dependen tanto del hardware subyacente como del software. Los sistemas operativos huésped se construyen sobre el sistema operativo anfitrión.
Aunque estos hipervisores te permiten crear múltiples máquinas virtuales, no pueden acceder directamente al hardware del anfitrión y sus recursos. El sistema operativo preinstalado controla la asignación de red, memoria y almacenamiento. Esto restringe a los hipervisores para tomar decisiones críticas y añade cierta latencia.
Sin embargo, son fáciles de configurar y gestionar. No requieren un administrador dedicado y son compatibles con una amplia gama de hardware. La mayoría de desarrolladores los usan para propósitos de prueba.
Ejemplos: VMware Workstation, VirtualBox, QEMU, VMware Player, VMware Fusion y Parallels Desktop para Mac.
Ventajas
Portabilidad: Un hipervisor puede ejecutar múltiples máquinas huésped (virtuales) independientes de la máquina anfitriona, y cada máquina huésped puede tener un sistema operativo diferente.
Un usuario autorizado puede mover cargas de trabajo y asignar memoria, almacenamiento y recursos computacionales a través de múltiples máquinas huésped según requerimientos. Cuando una aplicación específica necesita más potencia, los usuarios pueden otorgar recursos adicionales (de la máquina anfitriona) vía el hipervisor.
Rentable: Si no instalas un hipervisor, podrías necesitar comprar hardware físico diferente para ejecutar o probar diferentes aplicaciones. Sin embargo, usando un hipervisor, puedes configurar múltiples instancias de una variedad de sistemas operativos en una sola máquina física potente. También reduce significativamente el costo de recursos computacionales y consumo de electricidad.
Flexibilidad: Dado que el hipervisor aísla el sistema operativo del hardware subyacente, las aplicaciones asociadas ya no dependen de controladores de hardware particulares. Esto hace el sistema general más flexible para ejecutar una variedad de software.
Seguro: El aislamiento de cada huésped significa que un problema con uno no afecta a los otros. Por ejemplo, si un programa malicioso corrompe todos los archivos en una máquina virtual, los archivos y aplicaciones en las otras máquinas son menos propensos a verse afectados.
Backup y recuperación del sistema: Las máquinas virtuales son archivos, y como cualquier archivo convencional, pueden copiarse y restaurarse. La replicación basada en hipervisor es más fácil y rentable que otras técnicas de replicación de máquinas virtuales. También es neutral al hardware, lo que significa que se puede almacenar cualquier archivo duplicado en cualquier dispositivo de almacenamiento con facilidad.
Desventajas
Rendimiento comprometido: Porque los recursos se comparten en entornos virtuales (aunque los huéspedes permanecen aislados entre sí), podría afectar el rendimiento significativamente.
A veces, la causa raíz subyacente se mantiene oculta. Por ejemplo, si la carga aumenta en un programa al punto donde se cumple la asignación máxima de hardware, entonces la máquina huésped se detiene o empieza a tomar recursos de otros huéspedes ejecutándose en la misma máquina anfitriona. Esto crea escasez de hardware, lo que impacta la responsividad de otras aplicaciones activas.
Riesgo: La virtualización viene con un riesgo porque estás poniendo todos los huevos en una canasta. Si la máquina anfitriona falla, todas sus máquinas huésped fallarán también. Este tipo de riesgo se llama "punto único de fallo".
Complejidad aumentada: Gestionar múltiples máquinas virtuales es más complejo que gestionar una máquina física. Algunos hipervisores tienen una curva de aprendizaje pronunciada. Y a medida que la virtualización se vuelve más popular, se requieren más nuevas habilidades.
Haciendo la virtualización factible en computadoras domésticas
A mediados de los 2000, fabricantes de microprocesadores empezaron a añadir asistencia de virtualización de hardware a sus productos como AMD-V e Intel VT-x. En modelos de procesador posteriores, integraron más soporte de hardware que permitió ganancias de velocidad significativas. A partir de 2019, todos los procesadores modernos Intel y AMD soportan capacidades de máquina virtual.
Los hipervisores también tienen un lugar en sistemas embebidos modernos. Estos son mayormente hipervisores Tipo-1 diseñados con requerimientos específicos. A diferencia del hardware de computadora, los sistemas embebidos usan una amplia gama de arquitecturas y entornos menos estandarizados.
La virtualización en estos sistemas facilita mayor eficiencia, canales de comunicación de alta banda ancha, aislamiento, seguridad y capacidades en tiempo real. Por ejemplo, OKL4 soporta varias arquitecturas, incluyendo x86 y ARM. Se ha desplegado en más de 2.000 millones de teléfonos móviles, tanto como sistema operativo baseband como para alojar sistemas operativos virtuales.
Seguridad
La seguridad es uno de los factores más cruciales en tecnología de virtualización. Si un atacante gana acceso no autorizado al hipervisor, podría entonces ganar acceso a cada máquina huésped en el software anfitrión explotando cachés de hardware compartidos u otras vulnerabilidades. Este tipo de ataque se llama hyperjacking.
Sin embargo, los hipervisores modernos son robustos y bien protegidos. Aunque ha habido algunas noticias de pequeños hacks, no se ha reportado ningún hyperjacking mayor hasta ahora además de pruebas de "prueba de concepto".
Tecnología Industrial
- Entendiendo MEMS: Sistemas Micro-Electro-Mecánicos, Tipos y Aplicaciones
- Torneado en mecanizado: Definición, tipos y operaciones clave
- Soldadura explicada: Definición, tipos y aplicaciones
- Tornos: tipos, funciones y aplicaciones explicadas
- Máquina ranuradora (Slotting): definición, partes, tipos y funcionamiento
- Máquinas Cepilladoras Explicadas: Definición, Partes y Tipos
- Entendiendo las Taladradoras: Definición, Componentes y Tipos
- Entendiendo las Rectificadoras: Definiciones, Tipos y Aplicaciones
- Tolerancias en Ingeniería: Definición, Tipos y Aplicaciones Prácticas
- Forja: Proceso, Tipos y Materiales
- Metalizado (Metal Plating) Explicado: Tipos, Beneficios y Aplicaciones