¿KVM o Xen?: Escogiendo una plataforma de virtualización

Jul 28th, 2010 | Posted by | Filed under Linux, Redes, Virtualizacion

¿KVM o Xen?: Escogiendo una plataforma de virtualización – Parte 1/2

Si bien, en más de alguna ocasión les hemos comentado sobre herramientas de virtualización, específicamente sobre Virtualbox dado lo simple y amigable de utilizar, no es la única herramienta con la que podemos contar en plataformas de GNU/Linux. Tenemos dos grandes Xen y KVM (¿aló? Felipe Lucero… ¿algún tutorial?).

Cuando Xen fue liberado allá por el 2002, el hipervisor (hypervisor en inglés) “GPL’eado” las tenía todas para coronarse como la plataforma de virtualización para Linux. En un rápido fast-forward a la fecha vemos que el nuevo chico ha desplazado Xen como la herramienta de elección para Red Hat y vive en la base del kernel Linux. La idea pues de este artículo es ayudar un poco a tomar la decisión de cuál elegir y por otro lado actualizarse sobre los estados actuales de ambas herramientas Xen vs. KVM.

En esta área (como en la mayoría en relación a las TI) las cosas avanzan muy rápido y en muchas ocasiones no es posible darse el tiempo de mantenerse al tanto de los desarrollos, lo que hace que la decisión de la herramienta más adecuada se torne a lo menos, compleja.

 

N. del T.: Algunos términos los mantendré en inglés pues al traducirlos las oraciones pierden sentido, además, la mayor parte de las veces las documentaciones están más y mejor actualizadas en sus idiomas originales (inglés) por lo que las traducciones pueden ser equívocas.

Xen y KVM

Logo XenXen es un hipervisor que soporta x86, x86_64, Itanium, arquitecturas ARM y puede correr GNU/Linux, Windows, Solaris y algunos BSDs como guests (huéspedes). Está apoyada por varias compañías, principalmente por Citrix, pero también utilizada por Oracle para la Oracle VM y otras. Xen puede otorgar una virtualización completa en sistemas que permitan extensiones de virtualización, pero también puede funcionar como hipervisor en máquinas que carezcan de ellos.

Al igual que Xen, KVM es el hipervisor del kernel de Linux, por lo tanto el host tiene que ser Linux, pero puede tener de guests a Linux, Windows, Solaris y BSD. Corre en sistemas con hardware x86 y x86_64 que cuente con extensiones de virtualización. Esto significa por tanto, que KVM no es la opción para viejas CPUs que fueron construidas antes de que las extensiones fueran desarrolladas, ni tampoco es útil para las nuevas (como las CPUs Intel Atom) que no cuentan con dichas extensiones. En general , no es un problema para los data centers que tienden a reemplazar el hardware cada pocos años — pero significa que KVM no es una opción para algunos nichos como el SM10000 que están intentando utilizar CPUs Atom.

Si quieres corres un host Xen, necesitas contar con un kernel soportado. Linux, no viene con soporte para correr un host Xen out-of-the-box, aunque algunas distribuciones se han estado lanzando con soporte para correr nativamente como guest desde la versión 2.6.23 (Arch, por ejemplo, cuenta con ellos en el AUR) y algo similar ocurre con Ubuntu (y deduzco también que con Debian y las demás distribuciones). Esto significa que no utilizas una distro común de Linux para correr guests Xen. En cambio, necesitas una distro que venga con soporte para Xen o compilar tu propio kernel. Lo otro, es utilizar alguna solución comercial basada en Xen como Citrix XenServer, esto por supuesto presenta el problema que muchas de estas soluciones no son completamente libres.

Muchos construyen kernels personalizados o buscan a otros fabricantes. Xen funciona en muchos servidores, desde VPS de bajo costo como Linode a grandes como Amazon con EC2. Un artículo de TechTarget muestra como algunos proveedores que han invertido en Xen no es probable que se cambien de forma pronta. Incluso si KVM supera técnicamente a Xen, no es probable que boten todo el trabajo (y dinero) de años y lo reemplacen por una solución que al menos inicialmente pueden otorgar sólo una pequeña ventaja técnica.

De hecho, KVM aún no tiene alguna ventaja técnica clara. Esto porque Xen ha estado disponible más tiempo, y por tanto ha tenido más tiempo para madurar. Además, Xen tiene algunas características que aún no han aparecido en KVM. Aún cuando este último tiene un largo TODO, la lista no es la competencia directa ni puede ser comparada directamente con Xen, pero entrega una buena idea de lo que los amigos de KVM están planeando. Eso sí, tiene la ligera ventaja en el campo de Linux pues como ya he mencionado varias veces, viene “embebido|incrustado” en el Kernel. Si tienes uno reciente, ya tienes KVM incluido. Red Hat Enterprise Linux 5.4 incluyó soporte para KVM y está dejando el soporte para Xen en favor de KVM en RHEL 6.

Logo de KVMEsto es, en parte, una prueba de qué tan lejos KVM ha llegado técnicamente. No sólo tiene el beneficio de Red Hat de contratar gran parte del talento detrás de KVM, tiene el beneficio de introducir roce a las compañías que han clonado RHEL y han invertido en Xen. Al sacar a Xen del mapa, fuerzan a otras compañías a hacer lo mismo o coger el mantenimiento y diverger de RHEL. Esto significa costes extras, mayores esfuerzos para obtener certificaciones ISV, etc.

KVM no está a la par con Xen, pero lo está alcanzando rápidamente. Ha madurado lo suficiente para que muchas organizaciones se sientan seguras utilizándolo en ambientes de producción. ¿Significa esto que Xen está en camino a la extinción? No tan rápido.

¿Puede haber sólo uno?

stock.xchng | gglug

La elección de KVM vs. Xen al parecer será zanjada por tus vendors más que cualquier otra cosa. Si vas a utilizar RHEL en el largo plazo, quédate con KVM. Si estás corriendo Amazon EC2, ya estás utilizando Xen y así suma y sigue. Pareciera eso sí, que la mayoría de los vendors de Linux se están estandarizando en KVM, pero existe bastante soporte comercial allá afuera para Xen. Citrix probablemente no lo dejará en el corto plazo.

Es tentador en la industria de las TI mirar a la tecnología como un juego como una simple suma donde una solución gana y la otra pierde. La verdad es que Xen y KVM seguirán co-existiendo por algunos años más. El mercado es lo suficientemente grande para tener múltiples soluciones y existe suficiente apoyo en ambas tecnologías para asegurarles que lo harán bien en los años venideros.

Fuente:

  • KVM or Xen? Choosing a virtualization platform « via Linux.com
Share
Comments are closed.