Virtualización

¿Qué es KVM?

La máquina virtual basada en kernel (KVM) es una tecnología de virtualización de open source integrada a Linux®. Específicamente, con KVM puede convertir a Linux en un hipervisor que permite que una máquina de host ejecute entornos virtuales múltiples y aislados llamados máquinas virtuales (VM) o huéspedes.

KVM es parte de Linux. Si tiene Linux 2.6.20 o posterior, tiene KVM. KVM se lanzó por primera vez en 2006 y se integró a la versión del kernel principal de Linux un año después. Debido a que KVM es parte del código existente de Linux, aprovecha de forma inmediata cada nueva función, solución y progreso de Linux sin requerir ingeniería adicional.


¿Cómo funciona KVM?

KVM convierte a Linux en un hipervisor de tipo 1 (sin sistema operativo). Todos los hipervisores necesitan algunos componentes al nivel del sistema operativo (por ejemplo, administrador de memoria, planificador de procesos, pila de entrada o salida (E/S), controladores de dispositivos, gestión de seguridad, pila de red y más) para ejecutar las máquinas virtuales. KVM cuenta con todos estos componentes porque es parte del kernel de Linux. Cada máquina virtual se implementa como un proceso regular de Linux, programada por el planificador estándar de Linux con hardware virtual dedicado como tarjeta de red, adaptador de gráficos, CPU, memoria y discos.


Implementar KVM

En pocas palabras, debe ejecutar una versión de Linux lanzada después de 2007 y que deba instalarse en hardware X86 que sea compatible con capacidades de virtualización. Si ya lo hizo, entonces todo lo que tiene que hacer es cargar dos módulos existentes (un módulo host del kernel y un módulo específico del procesador), un emulador y cualquier controlador que lo ayude a ejecutar sistemas adicionales.

Funciones de KVM

En pocas palabras, KVM es Linux: KVM es parte de Linux. Linux es parte de KVM. Todo lo que tiene Linux, KVM también lo tiene. Pero hay funciones específicas que hacen que KVM sea el hipervisor empresarial preferido.

Seguridad

KVM utiliza una combinación de security-enhanced Linux (SELinux) y virtualización segura (sVirt) para la seguridad y el aislamiento mejorados de máquina virtual. SELinux establece los límites de seguridad para las máquinas virtuales. sVirt amplía las capacidades de SELinux, lo que permite que la seguridad de control de acceso obligatorio (MAC) se aplique a las máquinas virtuales huéspedes y evita los errores manuales de etiquetado.

Almacenamiento

KVM puede usar cualquier almacenamiento compatible con Linux, incluidos algunos discos locales y el almacenamiento conectado a la red (NAS). La entrada/salida de rutas múltiples mejora el almacenamiento y proporciona redundancia. KVM también es compatible con sistemas de archivos compartidos de tal manera que las imágenes de las máquinas virtuales se puedan compartir entre varios hosts. Las imágenes de disco dan soporte al aprovisionamiento ligero para asignar almacenamiento a pedido en lugar de desde el inicio.

Compatibilidad con el hardware

KVM puede usar una amplia variedad de plataformas de hardware certificado y compatible con Linux. Debido a que los proveedores de hardware contribuyen periódicamente al desarrollo del kernel, las funciones de hardware más recientes a menudo se adoptan rápidamente en el kernel de Linux.

Gestión de memoria

KVM hereda las funciones de gestión de memoria de Linux, incluidos el acceso a la memoria no uniforme y la fusión de la misma página del kernel. La memoria de una máquina virtual se puede intercambiar, tiene el soporte de grandes volúmenes para un mejor rendimiento, y se puede compartir o respaldar por un archivo de disco.

Migración en vivo

KVM permite la migración en vivo, esto es la capacidad de mover una máquina virtual en funcionamiento de un host físico a otro sin que se interrumpa el servicio. La máquina virtual permanece encendida, las conexiones de red permanecen activas y las aplicaciones continúan ejecutándose mientras se reubica la máquina virtual. KVM también guarda el estado actual de la máquina virtual para que se pueda almacenar y retomar posteriormente.

Rendimiento y escalabilidad

KVM hereda el rendimiento de Linux, ya que puede escalar hasta satisfacer la carga requerida si la cantidad de máquinas huéspedes y las demandas crece. KVM permite que las cargas de trabajo de las aplicaciones más exigentes se virtualicen y es la base para muchas configuraciones de virtualización empresarial, como los centros de datos y las nubes privadas (mediante OpenStack®).

Programación y control de recursos

En el modelo de KVM, una máquina virtual es un proceso de Linux, programado y controlado por el kernel. El planificador de Linux permite el control detallado de los recursos asignados a un proceso de Linux y garantiza la calidad del servicio para un proceso en particular. En KVM, esto incluye el planificador completo, los grupos de control, los espacios de nombre de red y las extensiones en tiempo real.

Latencia más baja y mayor prioritización

El kernel de Linux cuenta con extensiones en tiempo real que permiten que las aplicaciones basadas en máquinas virtuales se ejecuten con una latencia más baja y una mejor priorización (frente a sin sistema operativo). El kernel también divide los procesos que requieren largos períodos de computación en componentes más pequeños, que luego se programan y se procesan en consecuencia.

Gestionar KVM

Es posible gestionar manualmente un grupo de máquinas virtuales (VM) que se encienden en una sola estación de trabajo sin una herramienta de gestión. Las empresas grandes usan software de gestión de virtualización que sirve como interfaz con los entornos virtuales y el hardware físico subyacente para simplificar la gestión de recursos, mejorar el análisis de datos y optimizar las operaciones. Red Hat creó Red Hat Virtualization exactamente con este propósito.


KVM y Red Hat

Confiamos tanto en KVM que es el único hipervisor para todos nuestros productos de virtualización, y continuamente mejoramos el código del kernel con las contribuciones de la comunidad KVM. Pero, como KVM ya es parte de Linux, ya se encuentra incluida en Red Hat Enterprise Linux, así que ¿para qué necesitaría Red Hat Virtualization?

Bueno, Red Hat tiene dos versiones de KVM. La KVM que se envía con Red Hat Enterprise Linux tiene todas las funcionalidades del hipervisor con capacidades de gestión básicas y permite a los clientes ejecutar hasta cuatro máquinas virtuales aisladas en un único host. Red Hat Virtualization contiene una versión avanzada de KVM que permite la gestión empresarial de máquinas huéspedes ilimitadas. Es ideal para usar en la virtualización del centro de datos, las estaciones de trabajo técnicas, las nubes privadas, y en el desarrollo o la producción.

¿Tiene una aplicación heredada que requiere un sistema operativo anterior? ¿Tal vez desee probar una nueva aplicación en un entorno de bajo riesgo? Red Hat Enterprise Linux se puede configurar como un hipervisor básico para ejecutar hasta cuatro máquinas virtuales aisladas en un único host.

Esto es todo lo que necesita. De verdad. Realice la instalación donde desee —ya sea hardware sin sistema operativo o sistemas de open source o propietarios— y comience a implementar decenas o cientos de máquinas virtuales con un moderno hipervisor que puede realizar la gestión, y a través de una plataforma de gestión que lo simplifica.

La marca denominativa de OpenStack y el logotipo de la O cuadrada, ya sea juntos o separados, son marcas comerciales o marcas comerciales registradas de OpenStack Foundation en EE. UU. y en otros países, y se utilizan con permiso de OpenStack Foundation. Red Hat, Inc. no está afiliada a OpenStack Foundation ni a la comunidad de OpenStack, y tampoco goza de su respaldo ni de su patrocinio.

Todavía queda mucho por hacer con la virtualización