KVM – Virtualización en el núcleo de Linux

En el contexto empresarial y cuando se usan servidores profesionales, la virtualización ya es imprescindible. Gracias a esta tecnología, pueden ejecutarse varios sistemas operativos invitados en un mismo ordenador físico, lo cual tiene muchas ventajas, entre las que destacan las siguientes:

  • Los sistemas pueden ejecutarse por separado según el tipo de tarea que realicen sin necesidad de hardware adicional. Podrían ejecutarse, por ejemplo, un servidor de correo electrónico, uno de archivos y otro de aplicaciones.
  • Para protegerlos ante posibles cambios, los sistemas invitados pueden congelarse fácilmente, por así decirlo, y luego volverse a restaurar.
  • La migración a nuevos dispositivos de hardware requiere poco tiempo.
  • Los sistemas invitados son escalables a todos los niveles, por lo que permiten reaccionar ante las fluctuaciones de la tasa de utilización.
  • Todos los sistemas invitados tienen una base de hardware común, previniendo así posibles conflictos entre drivers.

Mientras que es raro encontrar Linux, el sistema operativo de código abierto, en ordenadores de sobremesa y de usuarios particulares, en el ámbito de los servidoresm hace mucho que se ha extendido. De la misma forma, ha adquirido también un papel muy importante como base para estrategias de virtualización.

Dominios web
Compra y registra tu dominio ideal
  • Domina el mercado con nuestra oferta 3x1 en dominios
  • Tu dominio protegido con SSL Wildcard gratis
  • 1 cuenta de correo electrónico por contrato

¿Qué es la KVM de Linux?

La llamada Kernel-based Virtual Machine (KVM) fue presentada por la compañía Qumranet en el año 2000 y a principios de 2007 ya había sido incluida en el kernel de Linux 2.6.20. El año siguiente, RedHat, distribuidor de Linux, adquirió Qumranet. Para poder seguir desarrollando esta tecnología, RedHat fundó, junto con IBM, el proyecto Open Virtualization Alliance (OVA), en el que participaron empresas como Suse, Intel y HP.

KVM está estrechamente relacionado con el software de emulación QEMU. Este último suele ofrecer funciones de virtualización de hardware, mientras que Linux KVM se encarga de gestionar la asignación de recursos a los sistemas invitados. Por eso, es habitual toparse también con el término KVM/QEMU. Puesto que KVM es un componente esencial de Linux, no puede integrarse en dispositivos Windows. Sin embargo, Windows sí puede ejecutarse mediante la solución de virtualización, al igual que la mayoría de sistemas Unix, como Linux, Solaris y BSD. KVM está incluido por defecto en la mayoría de distribuciones Linux, pero debe ser activado primero.

El funcionamiento de Linux KVM al detalle

Para entender cómo funciona esta máquina virtual, es necesario conocer en primer lugar las virtualización. La virtualización es la ejecución de uno o varios sistemas operativos completos (sistemas invitados) en un mismo dispositivo anfitrión (host). El ordenador anfitrión requiere entonces servicios de hardware adicionales: estos pueden, o bien emularse mediante software, o bien estar ubicados en otros dispositivos físicos y ser controlados mediante un hipervisor, es decir, una capa de gestión y traducción entre el hardware real y el virtual. Según el tipo de virtualización, puede ser necesario traducir los requerimientos para el hardware real o puede bastar con la asignación de las acciones necesarias como, por ejemplo, un cálculo en el procesador.

Existen los siguientes tipos de virtualización:

  • Virtualización completa: el hardware es emulado en su totalidad mediante software. De este modo, no es necesaria la interacción con el hardware real, lo cual permite prescindir de los drivers correspondientes. En comparación con el resto, es la variante más lenta.
  • Paravirtualización: el sistema invitado interactúa directamente con el hipervisor y necesita para ello drivers especializados.
  • Paravirtualización asistida por hardware: la asistencia mediante hardware está integrada ya en el procesador, con lo que aumenta la eficiencia y se reduce el esfuerzo de adaptación que han de hacer los sistemas invitados. Los procesadores modernos de Intel (Intel-VT-x) y AMD (AMD-V) ofrecen esta función, aunque quizá necesite activarse en BIOS/UEFI.

Además, existen dos tipos de hipervisores:

  • Tipo 1 (bare metal): el hipervisor se ejecuta directamente en el hardware utilizado, sin estar integrado en un sistema operativo.
  • Tipo 2 (hosted): el hipervisor está integrado en el sistema operativo anfitrión y se activa desde él.

Linux KVM pertenece al segundo tipo de supervisores y utiliza la paravirtualización asistida por hardware. Lo que lo hace especial, sin embargo, es que está integrado directamente en el kernel.

Nota

Kernel es el término inglés equivalente a núcleo: estamos hablando, por lo tanto, del núcleo de un sistema operativo, en el que están integradas las funciones básicas del sistema, como, por ejemplo, el acceso al hardware y la asignación de tiempo de computación a los procesadores en un sistema multitasking. El acceso al kernel está especialmente protegido (kernel mode) y las solicitudes que llegan hasta él reciben un tratamiento privilegiado en los procesadores.

Debido a su vinculación tan directa con el núcleo, se debate si este sistema tendría incluso características propias del primer tipo de hipervisores.

¿Qué componentes forman la Kernel-based Virtual Machine?

La KVM en su conjunto está formada por varios elementos:

  • Extensión del kernel: contiene la extensión propiamente dicha, kernel.ko. Se trata de la capa de traducción entre el hardware real y el virtual. Además, incluye los módulos kvm-amd y kvm-intel, adaptados a las características de los procesadores.
  • Libvirt: es la interfaz de programación (API) para comunicarse con las máquinas virtuales, que a través de ella pueden ser controladas y gestionadas. Libvirt ofrece, además, herramientas como una línea de comandos denominada virsh y la interfaz gráfica Virtual Machine Manager.
  • QEMU: se trata, principalmente, de un programa autónomo para emular ordenadores y gestionar máquinas virtuales. Linux KVM utiliza esta función para emular hardware y mejora así la velocidad mediante paravirtualización. Muchas distribuciones incluyen ambos componentes en un mismo paquete de instalación.
  • Kvmtool: una alternativa a QEMU que requiere menos recursos, pero que aún no ha podido desbancar a su contrincante.
  • VirtIO drivers: drivers especiales para sistemas invitados que se ajustan a los requerimientos del hipervisor y hacen posible la paravirtualización.

Ámbitos de aplicación de KVM

La Kernel-based Virtual Machine se utiliza con especial frecuencia cuando se opera con servidores profesionales dedicados. En 2017, un estudio sobre seguridad realizado por la oficina federal alemana de seguridad de la información (BSI) definió la KVM como la solución de virtualización más importante en el ámbito de las herramientas open source o de código abierto.

Además, Linux KVM tiene relevancia adicional porque puede integrarse como hipervisor en el popular servicio de software en la nube OpenStack.

Ventajas e inconvenientes de KVM

Para finalizar, presentamos brevemente algunas ventajas y desventajas de esta herramienta de virtualización.

Ventajas:

  • Sistema maduro y consolidado
  • Incluido ya en la mayoría de distribuciones Linux
  • Gratuito y de código abierto
  • Con una única Kernel Virtual Machine real, lo cual garantiza el rendimiento y la estabilidad
  • Desarrollado por compañías de prestigio
  • Libvirt hace posible la administración automática

Inconvenientes:

  • Solo disponible para sistemas Linux
  • Requiere hardware de alto rendimiento para el ordenador anfitrión
  • Es necesario un esfuerzo de familiarización para manejarlo
  • La centralización del hardware aumenta el riesgo de pérdidas en caso de avería (single point of failure, que sin embargo puede compensarse con una buena estrategia de backup)

Alternativas a la KVM de Linux

En el ámbito del software de código abierto y con funciones similares, XEN es la alternativa más importante. Se trata de una herramienta de virtualización que también está estrechamente relacionada con Linux, pero no se integra en el kernel.

Por su parte, en el mercado comercial, el consolidado fabricante VMWare ofrece alternativas de paravirtualización con sus servidores ESXi y de virtualización completa con su workstation. Para los usuarios particulares, además, VMWare Player es gratuito.

Virtualbox es otra alternativa de virtualización completa que puede utilizarse en todos los sistemas operativos habituales.

Microsoft también tiene una herramienta de paravirtualización para Windows: el sistema Hyper-V, que funciona de manera similar a la KVM de Linux. Dispone de un servidor Hyper-V de Windows dedicado y funciona de forma integrada en los sistemas operativos del servidor. Hiper-V también está incluido en las versiones Windows 10 Professional y Enterprise.

Backup cloud por Acronis
Protege tu infraestructura y reduce el tiempo de inactividad
  • Copias de seguridad automáticas y fácil recuperación
  • Gestión y planificación intuitiva
  • Protección contra las amenazas basadas en IA
  • Incluye crédito inicial de 250 € el primer mes

En resumen

La flexibilidad y la escalabilidad son dos argumentos indiscutibles a favor de la virtualización. Los sistemas operativos invitados pueden así mantenerse sin consumir muchos recursos y ejecutarse con fines específicos. Si, además, se hacen copias de seguridad de los sistemas en otros soportes físicos de manera regular, el riesgo de pérdida en caso de avería prácticamente desaparece.

Si utilizas Linux en tu servidor, apenas te quedan razones para no considerar al menos KVM. Su integración en el núcleo del sistema y el prestigio del que gozan sus desarrolladores son muy buenas razones para decidirte a utilizar esta herramienta.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top