¿Qué es KVM?
Las máquinas virtuales basadas en el kernel (KVM) son una tecnología de virtualización open source integrada al sistema operativo Linux®, el cual puede funcionar como un hipervisor que ejecuta varias máquinas virtuales aisladas.
Se anunciaron por primera vez en 2006, y un año después se incorporaron al kernel de Linux. Muchas tecnologías de virtualización open source, como la cartera de productos de Red Hat, se basan en KVM.
Funciones de un hipervisor
La virtualización permite ejecutar un sistema operativo (SO) dentro de otro, y es posible gracias al uso de hipervisores. Un hipervisor agrupa recursos informáticos, como el procesamiento, la memoria y el almacenamiento, y los asigna a las máquinas virtuales. Además, puede ejecutar varias máquinas virtuales al mismo tiempo, gestionarlas y crear otras nuevas. La máquina física original que se usa como hipervisor se llama "host", y las máquinas virtuales que utilizan estos recursos se llaman "guests".
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.
Recursos de Red Hat
Ventajas de la virtualización
La virtualización permite iniciar y detener entornos de sistema operativo diferentes con rapidez en un solo hardware, lo cual presenta varias ventajas para tu ecosistema de TI.
Flexibilidad
Puedes separar una máquina host en varias máquinas virtuales y asignar los recursos donde sean necesarios. De este modo, puedes optimizar el espacio, el consumo de energía y el mantenimiento al alojar diversos entornos virtuales en un solo elemento de hardware físico.
Velocidad
Las configuraciones de las máquinas virtuales se definen por software, lo cual permite crearlas, eliminarlas, duplicarlas y migrarlas con facilidad. Además, se pueden controlar de manera remota y es posible automatizar sus procesos de gestión.
Compatibilidad
Puedes utilizar las máquinas virtuales para ejecutar software que no se haya distribuido específicamente para tu sistema operativo. Por ejemplo, te permiten poner en marcha un sistema operativo más antiguo en una máquina virtual de modo que puedas seguir ejecutando el software actual en un hardware moderno.
Estabilidad y seguridad
Las máquinas virtuales también ofrecen ciertas ventajas en cuanto a seguridad, ya que cada una de ellas se ejecuta por separado. Una máquina virtual puede perder su estabilidad sin afectar al sistema operativo host ni a los otros entornos en él. Esto te permite probar una configuración nueva sin poner en peligro todo el sistema.
Funciones de las KVM
Con las KVM, una máquina virtual es un proceso de Linux que el kernel programa y gestiona. Los entornos virtuales que se ejecutan con las KVM aprovechan las funciones de rendimiento de Linux, lo cual permite que los usuarios se beneficien del control detallado que ofrece la herramienta de programación del sistema. Asimismo, las KVM aportan funciones relacionadas con la seguridad, el almacenamiento, la compatibilidad con el hardware y la migración activa.
Límites de seguridad con SELinux y sVirt
Las KVM utilizan una combinación de Security-Enhanced Linux (SELinux) y 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.
Flexibilidad de almacenamiento
Las KVM pueden usar todos los tipos de almacenamiento compatibles con Linux, incluidos algunos discos locales y el almacenamiento adjunto a la red (NAS). Las KVM también admiten los sistemas de archivos compartidos, para que varios hosts puedan compartir las imágenes de máquinas virtuales.
Compatibilidad con varias arquitecturas de hardware
Las KVM pueden ejecutarse en una amplia variedad de plataformas de hardware. Cuando se utilizan integradas en Red Hat Enterprise Linux 9, son compatibles con las arquitecturas AMD, Intel y ARM de 64 bits, así como con los sistemas IBM z13 y sus versiones posteriores.
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 de modo significativo. 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 puedas almacenarla y reanudarla más adelante.
Gestión de máquinas virtuales con las KVM
Cuando se ejecutan varias máquinas virtuales, es conveniente disponer de una herramienta de gestión de la virtualización para realizar su seguimiento. Existen distintos tipos de estas herramientas. Algunas de se ponen en marcha desde la línea de comandos, otras proporcionan interfaces gráficas de usuario (GUI), y otras se diseñaron para gestionar máquinas virtuales en grandes entornos empresariales. A continuación, se presentan algunas soluciones comunes de gestión de la virtualización para las KVM.
libvirt and virsh
El proyecto libvirt proporciona una API para gestionar plataformas de virtualización. Dentro de libvirt, virsh es una herramienta de línea de comandos que permite crear, iniciar, enumerar y detener máquinas virtuales, así como acceder a un shell de virtualización.
Virtual Machine Manager
Virtual Machine Manager (conocido como VMM o virt-manager) ofrece una interfaz de escritorio para las máquinas virtuales y está disponible en las principales distribuciones de Linux.
Consolas web
Los administradores pueden elegir gestionar las máquinas virtuales mediante interfaces basadas en la web. Por ejemplo, Cockpit ofrece una solución que permite que los usuarios gestionen estos entornos desde una interfaz web. Por su parte, Red Hat Enterprise Linux cuenta con un plugin de consola web para virtualización.
KubeVirt
KubeVirt es una solución que se utiliza para gestionar una gran cantidad de máquinas virtuales en un entorno de Kubernetes, en el que es posible gestionarlas junto con aplicaciones en contenedores. Además, es la base de Red Hat OpenShift® Virtualization.
Motivos para migrar a una plataforma de virtualización basada en KVM
Una de las ventajas que ofrecen las máquinas virtuales reside en su flexibilidad, así como en su portabilidad. La portabilidad permite trasladar una máquina virtual de un proveedor de virtualización a otro para aprovechar costos más bajos, mejores funciones o mayor control, entre otros beneficios.
Los desarrolladores utilizan las KVM porque las consideran una tecnología consolidada, y las empresas confían en ellas para gestionar máquinas virtuales de manera eficiente y según se necesite. Por ello, la migración a una plataforma basada en KVM, como la cartera de virtualización de Red Hat, permite no solo aprovechar las inversiones actuales en máquinas virtuales, sino también elegir una solución con una base open source. Asimismo, las tecnologías de Red Hat permiten gestionar un entorno unificado para máquinas virtuales, contenedores y aplicaciones sin servidor.
Motivos para elegir Red Hat para la virtualización
KVM es el hipervisor de base de la cartera de virtualización de Red Hat. Obtén la flexibilidad y las ventajas de un hipervisor open source como KVM con la garantía que ofrecen la estabilidad, las funciones de seguridad y el soporte empresarial de Red Hat.
El ecosistema de partners y los productos confiables de Red Hat se combinan en una solución de virtualización integral. Migra las máquinas virtuales a Red Hat OpenShift Virtualization, una plataforma de aplicaciones moderna basada en los proyectos open source KVM y KubeVirt, que permite ejecutar máquinas virtuales y contenedores de manera simultánea. Incluye un kit de herramientas de migración para virtualización que brinda las herramientas que necesitas para comenzar la transición en unos sencillos pasos. Con Red Hat Ansible® Automation Platform, automatiza las tareas para agilizar la distribución, desde la migración según las necesidades hasta las operaciones del día 2 y la resolución de problemas. Supervisa la seguridad y el rendimiento de las máquinas virtuales desde una única consola con Red Hat Advanced Cluster Management for Kubernetes. Con las opciones adicionales de soporte y las integraciones de los partners para el almacenamiento, los backups, la recuperación ante desastres y las redes, puedes confiar en Red Hat para que mantenga tu infraestructura virtual en buen funcionamiento en toda la nube híbrida y te ayude a modernizar los sistemas cuando tengas todo listo para hacerlo.
Blogs de Red Hat
Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.