En el contexto em­pre­sa­rial y cuando se usan se­r­vi­do­res pro­fe­sio­na­les, la vi­r­tua­li­za­ción ya es im­pre­s­ci­n­di­ble. Gracias a esta te­c­no­lo­gía, pueden eje­cu­tar­se varios sistemas ope­ra­ti­vos invitados en un mismo ordenador físico, lo cual tiene muchas ventajas, entre las que destacan las si­guie­n­tes:

  • Los sistemas pueden eje­cu­tar­se por separado según el tipo de tarea que realicen sin necesidad de hardware adicional. Podrían eje­cu­tar­se, por ejemplo, un servidor de correo ele­c­tró­ni­co, uno de archivos y otro de apli­ca­cio­nes.
  • Para pro­te­ge­r­los ante posibles cambios, los sistemas invitados pueden co­n­ge­lar­se fá­ci­l­me­n­te, por así decirlo, y luego volverse a restaurar.
  • La migración a nuevos di­s­po­si­ti­vos de hardware requiere poco tiempo.
  • Los sistemas invitados son es­ca­la­bles a todos los niveles, por lo que permiten reac­cio­nar ante las flu­c­tua­cio­nes de la tasa de uti­li­za­ción.
  • Todos los sistemas invitados tienen una base de hardware común, pre­vi­nie­n­do así posibles co­n­fli­c­tos entre drivers.

Mientras que es raro encontrar Linux, el sistema operativo de código abierto, en or­de­na­do­res de sobremesa y de usuarios pa­r­ti­cu­la­res, en el ámbito de los se­r­vi­do­re­sm hace mucho que se ha extendido. De la misma forma, ha adquirido también un papel muy im­po­r­ta­n­te como base para es­tra­te­gias de vi­r­tua­li­za­ción.

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad

¿Qué es la KVM de Linux?

La llamada Kernel-based Virtual Machine (KVM) fue pre­se­n­ta­da por la compañía Qumranet en el año 2000 y a pri­n­ci­pios de 2007 ya había sido incluida en el kernel de Linux 2.6.20. El año siguiente, RedHat, di­s­tri­bui­dor de Linux, adquirió Qumranet. Para poder seguir de­sa­rro­lla­n­do esta te­c­no­lo­gía, RedHat fundó, junto con IBM, el proyecto Open Vi­r­tua­li­za­tion Alliance (OVA), en el que pa­r­ti­ci­pa­ron empresas como Suse, Intel y HP.

KVM está es­tre­cha­me­n­te re­la­cio­na­do con el software de emulación QEMU. Este último suele ofrecer funciones de vi­r­tua­li­za­ción de hardware, mientras que Linux KVM se encarga de gestionar la asi­g­na­ció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 co­m­po­ne­n­te esencial de Linux, no puede in­te­grar­se en di­s­po­si­ti­vos Windows. Sin embargo, Windows sí puede eje­cu­tar­se mediante la solución de vi­r­tua­li­za­ció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 di­s­tri­bu­cio­nes Linux, pero debe ser activado primero.

El fu­n­cio­na­mie­n­to de Linux KVM al detalle

Para entender cómo funciona esta máquina virtual, es necesario conocer en primer lugar las vi­r­tua­li­za­ción. La vi­r­tua­li­za­ción es la ejecución de uno o varios sistemas ope­ra­ti­vos completos (sistemas invitados) en un mismo di­s­po­si­ti­vo anfitrión (host). El ordenador anfitrión requiere entonces servicios de hardware adi­cio­na­les: estos pueden, o bien emularse mediante software, o bien estar ubicados en otros di­s­po­si­ti­vos físicos y ser co­n­tro­la­dos mediante un hi­pe­r­vi­sor, es decir, una capa de gestión y tra­du­c­ción entre el hardware real y el virtual. Según el tipo de vi­r­tua­li­za­ción, puede ser necesario traducir los re­que­ri­mie­n­tos para el hardware real o puede bastar con la asi­g­na­ción de las acciones ne­ce­sa­rias como, por ejemplo, un cálculo en el pro­ce­sa­dor.

Existen los si­guie­n­tes tipos de vi­r­tua­li­za­ción:

  • Vi­r­tua­li­za­ción completa: el hardware es emulado en su totalidad mediante software. De este modo, no es necesaria la in­ter­ac­ción con el hardware real, lo cual permite pre­s­ci­n­dir de los drivers co­rre­s­po­n­die­n­tes. En co­m­pa­ra­ción con el resto, es la variante más lenta.
  • Pa­ra­vi­r­tua­li­za­ción: el sistema invitado in­ter­ac­túa di­re­c­ta­me­n­te con el hi­pe­r­vi­sor y necesita para ello drivers es­pe­cia­li­za­dos.
  • Pa­ra­vi­r­tua­li­za­ción asistida por hardware: la asi­s­te­n­cia mediante hardware está integrada ya en el pro­ce­sa­dor, con lo que aumenta la efi­cie­n­cia y se reduce el esfuerzo de ada­p­ta­ción que han de hacer los sistemas invitados. Los pro­ce­sa­do­res 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 hi­pe­r­vi­so­res:

  • Tipo 1 (bare metal): el hi­pe­r­vi­sor se ejecuta di­re­c­ta­me­n­te en el hardware utilizado, sin estar integrado en un sistema operativo.
  • Tipo 2 (hosted): el hi­pe­r­vi­sor está integrado en el sistema operativo anfitrión y se activa desde él.

Linux KVM pertenece al segundo tipo de su­pe­r­vi­so­res y utiliza la pa­ra­vi­r­tua­li­za­ción asistida por hardware. Lo que lo hace especial, sin embargo, es que está integrado di­re­c­ta­me­n­te en el kernel.

Nota

Kernel es el término inglés equi­va­le­n­te a núcleo: estamos hablando, por lo tanto, del núcleo de un sistema operativo, en el que están in­te­gra­das las funciones básicas del sistema, como, por ejemplo, el acceso al hardware y la asi­g­na­ción de tiempo de co­mpu­tación a los pro­ce­sa­do­res en un sistema mu­l­ti­ta­s­ki­ng. El acceso al kernel está es­pe­cia­l­me­n­te protegido (kernel mode) y las so­li­ci­tu­des que llegan hasta él reciben un tra­ta­mie­n­to pri­vi­le­gia­do en los pro­ce­sa­do­res.

Debido a su vi­n­cu­la­ción tan directa con el núcleo, se debate si este sistema tendría incluso ca­ra­c­te­rí­s­ti­cas propias del primer tipo de hi­pe­r­vi­so­res.

¿Qué co­m­po­ne­n­tes forman la Kernel-based Virtual Machine?

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

  • Extensión del kernel: contiene la extensión pro­pia­me­n­te dicha, kernel.ko. Se trata de la capa de tra­du­c­ción entre el hardware real y el virtual. Además, incluye los módulos kvm-amd y kvm-intel, adaptados a las ca­ra­c­te­rí­s­ti­cas de los pro­ce­sa­do­res.
  • Libvirt: es la interfaz de pro­gra­ma­ción (API) para co­mu­ni­car­se con las máquinas virtuales, que a través de ella pueden ser co­n­tro­la­das y ge­s­tio­na­das. Libvirt ofrece, además, he­rra­mie­n­tas como una línea de comandos de­no­mi­na­da virsh y la interfaz gráfica Virtual Machine Manager.
  • QEMU: se trata, pri­n­ci­pa­l­me­n­te, de un programa autónomo para emular or­de­na­do­res y gestionar máquinas virtuales. Linux KVM utiliza esta función para emular hardware y mejora así la velocidad mediante pa­ra­vi­r­tua­li­za­ción. Muchas di­s­tri­bu­cio­nes incluyen ambos co­m­po­ne­n­tes en un mismo paquete de in­s­ta­la­ción.
  • Kvmtool: una al­te­r­na­ti­va a QEMU que requiere menos recursos, pero que aún no ha podido desbancar a su co­n­tri­n­ca­n­te.
  • VirtIO drivers: drivers es­pe­cia­les para sistemas invitados que se ajustan a los re­que­ri­mie­n­tos del hi­pe­r­vi­sor y hacen posible la pa­ra­vi­r­tua­li­za­ción.

Ámbitos de apli­ca­ción de KVM

La Kernel-based Virtual Machine se utiliza con especial fre­cue­n­cia cuando se opera con se­r­vi­do­res pro­fe­sio­na­les dedicados. En 2017, un estudio sobre seguridad realizado por la oficina federal alemana de seguridad de la in­fo­r­ma­ción (BSI) definió la KVM como la solución de vi­r­tua­li­za­ción más im­po­r­ta­n­te en el ámbito de las he­rra­mie­n­tas open source o de código abierto.

Además, Linux KVM tiene re­le­va­n­cia adicional porque puede in­te­grar­se como hi­pe­r­vi­sor en el popular servicio de software en la nube OpenStack.

Ventajas e in­co­n­ve­nie­n­tes de KVM

Para finalizar, pre­se­n­ta­mos bre­ve­me­n­te algunas ventajas y de­s­ve­n­ta­jas de esta he­rra­mie­n­ta de vi­r­tua­li­za­ción.

Ventajas:

  • Sistema maduro y co­n­so­li­da­do
  • Incluido ya en la mayoría de di­s­tri­bu­cio­nes Linux
  • Gratuito y de código abierto
  • Con una única Kernel Virtual Machine real, lo cual garantiza el re­n­di­mie­n­to y la es­ta­bi­li­dad
  • De­sa­rro­lla­do por compañías de prestigio
  • Libvirt hace posible la ad­mi­ni­s­tra­ción au­to­má­ti­ca

In­co­n­ve­nie­n­tes:

  • Solo di­s­po­ni­ble para sistemas Linux
  • Requiere hardware de alto re­n­di­mie­n­to para el ordenador anfitrión
  • Es necesario un esfuerzo de fa­mi­lia­ri­za­ción para manejarlo
  • La ce­n­tra­li­za­ción del hardware aumenta el riesgo de pérdidas en caso de avería (single point of failure, que sin embargo puede co­m­pe­n­sar­se con una buena es­tra­te­gia de backup)

Al­te­r­na­ti­vas a la KVM de Linux

En el ámbito del software de código abierto y con funciones similares, XEN es la al­te­r­na­ti­va más im­po­r­ta­n­te. Se trata de una he­rra­mie­n­ta de vi­r­tua­li­za­ción que también está es­tre­cha­me­n­te re­la­cio­na­da con Linux, pero no se integra en el kernel.

Por su parte, en el mercado comercial, el co­n­so­li­da­do fa­bri­ca­n­te VMWare ofrece al­te­r­na­ti­vas de pa­ra­vi­r­tua­li­za­ción con sus se­r­vi­do­res ESXi y de vi­r­tua­li­za­ción completa con su wo­r­k­s­ta­tion. Para los usuarios pa­r­ti­cu­la­res, además, VMWare Player es gratuito.

Vi­r­tua­l­box es otra al­te­r­na­ti­va de vi­r­tua­li­za­ción completa que puede uti­li­zar­se en todos los sistemas ope­ra­ti­vos ha­bi­tua­les.

Microsoft también tiene una he­rra­mie­n­ta de pa­ra­vi­r­tua­li­za­ció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 ope­ra­ti­vos del servidor. Hiper-V también está incluido en las versiones Windows 10 Pro­fe­s­sio­nal y En­te­r­pri­se.

Backup cloud por Acronis
Protege tu in­frae­s­tru­c­tu­ra y reduce el tiempo de inac­ti­vi­dad
  • Copias de seguridad au­to­má­ti­cas y fácil re­cu­pe­ra­ción
  • Gestión y pla­ni­fi­ca­ción intuitiva
  • Pro­te­c­ción contra las amenazas basadas en IA
  • Incluye crédito inicial de 250 € el primer mes

En resumen

La fle­xi­bi­li­dad y la es­ca­la­bi­li­dad son dos ar­gu­me­n­tos in­di­s­cu­ti­bles a favor de la vi­r­tua­li­za­ción. Los sistemas ope­ra­ti­vos invitados pueden así ma­n­te­ne­r­se sin consumir muchos recursos y eje­cu­tar­se con fines es­pe­cí­fi­cos. 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á­c­ti­ca­me­n­te des­apa­re­ce.

Si utilizas Linux en tu servidor, apenas te quedan razones para no co­n­si­de­rar al menos KVM. Su in­te­gra­ción en el núcleo del sistema y el prestigio del que gozan sus de­sa­rro­lla­do­res son muy buenas razones para decidirte a utilizar esta he­rra­mie­n­ta.

Ir al menú principal