Virtualización

¿Qué es KVM?

La máquina virtual basada en el kernel (KVM) es una tecnología de virtualización de open source integrada a Linux®. En concreto, 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.


Migración a una infraestructura virtual basada en KVM

Diseñar una infraestructura virtual en una plataforma de la que depende por contrato puede limitar su acceso al código fuente. Esto implica que sus desarrollos de TI probablemente se conviertan en meras soluciones a los problemas, en lugar de ser innovaciones, y el próximo contrato podría impedirle que invierta en nubes, contenedores y automatización. Migrar a una plataforma de virtualización basada en KVM permite tener la capacidad para inspeccionar, modificar y mejorar el código fuente detrás de su hipervisor. Además, no hay necesidad de un acuerdo de licencia empresarial, ya que no hay que proteger ningún código fuente. Es suyo.


Funciones de KVM

KVM forma 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.

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.

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.

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

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.

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.

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®).

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.

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.

Do you have a legacy app that requires an older operating system? Perhaps you’d like pilot a new app in a low-risk environment? You can configure Red Hat Enterprise Linux as a basic hypervisor for running up to 4 isolated VM on a single host.

This is all you need. Really. Install it on anything—from bare-metal hardware to open source or proprietary systems—and start deploying virtual machines by the dozens or hundreds with an advanced hypervisor that can handle it and a management platform that makes it easy.

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

La marca denominativa de OpenStack y el logotipo Square O Design, 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.