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
Xen 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.
¡Atentos que pronto se viene la segunda parte aquí!











Vamos... sabemos que quieres comentar algo ;)