Jump to section

¿Qué son las KVM?

Copiar URL

Las máquinas virtuales basadas en el kernel (KVM) son una tecnología de virtualizaciónopen source integrada a Linux®. Con ellas, puede transformar Linux en un hipervisor que permite que una máquina host ejecute varios entornos virtuales aislados llamados máquinas virtuales (VM) o guests.

Las KVM forman parte de Linux. Por eso, si cuenta con una versión de Linux 2.6.20 o posterior, ya las tiene a su disposición. Se anunciaron por primera vez en 2006, y un año después se incorporaron a la versión principal del kernel de Linux. Dado que forman parte del código actual de Linux, reciben inmediatamente todas las mejoras, las correcciones y las funciones nuevas de este sistema, sin requerir ningún tipo de ingeniería adicional.

Las KVM convierten Linux en un hipervisor de tipo 1 (servidor dedicado [bare metal]). Todos los hipervisores necesitan algunos elementos del sistema operativo (por ejemplo, el administrador de memoria, el programador de procesos, la stack de entrada o salida [E/S], los controladores de dispositivos, el administrador de seguridad y la stack de red, entre otros) para ejecutar las máquinas virtuales. Las KVM tienen todos estos elementos porque forman parte del kernel de Linux. Cada máquina virtual se implementa como un proceso habitual de Linux, el cual se programa con la herramienta estándar de Linux para este fin, e incluye sistemas virtuales de hardware exclusivos, como la tarjeta de red, el adaptador gráfico, las CPU, la memoria y los discos.

Implementación de las KVM

En resumen, debe ejecutar una versión de Linux que se haya lanzado después de 2007 e instalarla en sistemas de hardware X86 que admitan las funciones de virtualización. Si ya lo hizo, entonces solo debe cargar dos módulos actuales (uno del kernel del host y uno específico del procesador), un emulador y todos los controladores necesarios para ejecutar sistemas adicionales.

Sin embargo, si las KVM se implementan en una distribución de Linux compatible, como Red Hat Enterprise Linux, se amplían sus funciones, lo cual le permite intercambiar los recursos entre los guests, compartir las bibliotecas comunes, optimizar el rendimiento del sistema y mucho más.

Si diseña una infraestructura virtual en una plataforma con la que tiene un vínculo contractual, su acceso al código fuente puede verse limitado. En ese caso, sus desarrollos de TI no serán innovaciones, sino meras soluciones temporales a los problemas; y el próximo contrato podría impedirle invertir en las nubes, los contenedores y la automatización. La migración a una plataforma de virtualización basada en las KVM le permite analizar, modificar y mejorar el código fuente del hipervisor. Además, no necesita un acuerdo de licencia empresarial porque no tiene que proteger ningún código fuente, ya que es suyo.

KVM es parte de Linux, y viceversa. Ambas soluciones ofrecen las mismas características; sin embargo, las KVM tienen algunas funciones específicas que las convierten en el hipervisor preferido de las empresas.

Seguridad

Las KVM utilizan una combinación de Security-Enhanced Linux (SELinux) y Secure Virtualization (sVirt) para mejorar la seguridad y el aislamiento de las máquinas virtuales. SELinux establece límites de seguridad para las máquinas virtuales, mientras que sVirt amplía las funciones de SELinux, lo cual permite aplicar el control de acceso obligatorio (MAC) a las máquinas virtuales guest y prevenir los errores relacionados con el etiquetado manual.

Almacenamiento

Las KVM pueden usar todos los tipos de almacenamiento compatibles con Linux, lo cual incluye algunos discos locales y el almacenamiento conectado en red (NAS). La entrada y salida de varias rutas se puede utilizar para mejorar el almacenamiento y proporcionar redundancia. Las KVM también admiten los sistemas de archivos compartidos, para que varios hosts puedan compartir las imágenes de máquinas virtuales. Las imágenes del disco son compatibles con el método de implementación fina, mediante el cual el almacenamiento se asigna según se requiera, en lugar de hacerlo todo por adelantado.

Compatibilidad con los sistemas de hardware

Las KVM pueden usar varias plataformas de hardware certificadas y compatibles con Linux. Dado que los proveedores de hardware contribuyen al desarrollo del kernel con frecuencia, las funciones más recientes de estos sistemas suelen implementarse rápidamente en el kernel de Linux.

Gestión de la memoria

Las KVM cuentan con las funciones de Linux para la gestión de la memoria, como el acceso a la memoria no uniforme y la memoria compartida del kernel. La memoria de una máquina virtual puede intercambiarse o contar con el respaldo de volúmenes grandes de datos para obtener un mejor rendimiento. Además, se puede compartir o respaldar con un archivo de disco.

Migración activa

Las KVM son compatibles con la migración activa, es decir, la capacidad para trasladar una máquina virtual en ejecución entre hosts físicos sin interrumpir el servicio. Eso permite que la máquina virtual y las conexiones de red sigan activas, y que las aplicaciones continúen ejecutándose durante el proceso de migración. Además, las KVM guardan el estado actual de la VM, para que pueda almacenarla y reanudarla más adelante.

Rendimiento y capacidad de ajuste

Las KVM adquieren el rendimiento de Linux y realizan los ajustes necesarios para satisfacer la demanda en caso de que aumente la cantidad de máquinas guest y de solicitudes. Con ellas, se pueden virtualizar las cargas de trabajo de las aplicaciones más exigentes, y son la base para muchas configuraciones de virtualización empresarial, como los centros de datos y las nubes privadas (a través de OpenStack®).

Programación y control de los recursos

En el modelo de KVM, una máquina virtual es un proceso de Linux que el kernel programa y gestiona. El programador de Linux brinda un control detallado de los recursos que se asignan a un proceso y garantiza la calidad del servicio para un proceso en particular. Las KVM incluyen el programador completamente justo, los grupos de control, los espacios de nombre de las redes y las extensiones inmediatas.

Latencia más baja y mayor priorización

El kernel de Linux incluye extensiones inmediatas que permiten que las aplicaciones basadas en máquinas virtuales se ejecuten con una latencia más baja y un mejor orden de prioridad (en comparación con los servidores dedicados [bare metal]). El kernel también divide los procesos que requieren largos períodos informáticos en elementos más pequeños, que luego se programan y se procesan debidamente.

Es posible administrar manualmente varias máquinas virtuales que están activas en una sola estación de trabajo sin una herramienta de gestión. Las grandes empresas usan un software de gestión de la virtualización que interactúa con los entornos virtuales y el hardware físico subyacente para simplificar la administración de los recursos, mejorar el análisis de los datos y optimizar las operaciones. Red Hat creó Red Hat Virtualization precisamente con ese fin.

Confiamos tanto en el potencial de las KVM que es el único hipervisor que usamos para todos nuestros productos de virtualización, y siempre buscamos mejorar el código del kernel con las contribuciones a la comunidad de KVM. Sin embargo, como ya son parte de Linux, se incluyen en Red Hat Enterprise Linux.

Artículos relacionados

ARTÍCULO

Diferencias entre los contenedores y las máquinas virtuales

Las máquinas virtuales (VM) y los contenedores de Linux son entornos informáticos empaquetados que combinan varios elementos de TI y los aíslan del resto del sistema.

ARTÍCULO

¿Qué es una máquina virtual?

Una máquina virtual (VM) es un entorno informático aislado que se crea mediante la extracción de recursos de una máquina física.

ARTÍCULO

¿Qué es KVM?

Las máquinas virtuales basadas en el kernel (KVM) son una tecnología de virtualización open source que convierte a Linux en un hipervisor.

  • La marca denominativa de OpenStack® y el logotipo de OpenStack son marcas comerciales/marcas de servicio registradas o marcas comerciales/marcas de servicio de OpenStack Foundation en Estados Unidos y en otros países, y se utilizan con el permiso de OpenStack Foundation. No estamos afiliados a OpenStack Foundation ni a la comunidad de OpenStack, y tampoco gozamos de su respaldo ni de su patrocinio.