Virtualización Open Source

Los centros de datos se enfrentan con mayor frecuencia al reto de bajar los costos de operación de la infraestructura, al mismo tiempo de innovar su plataforma y cumplir con objetivos a largo plazo como el ser más eficientes en el uso energético, es decir, menos Watts por Ghz; enfriamiento y uso inteligente del espacio en rack. Los fabricantes de hardware han hecho los primeros avances al proveer nuevas tecnologías “más verdes” con diseños compactos y el reto ha quedado en el software para innovar en la consolidación y “virtualización de recursos” o últimamente llamada cloud computing.
En este reto, la integración de software y hardware resulta vital. La comunidad de software libre ha trabajado en el tema de virtualización desde hace muchos años, los frutos de este trabajo quedan plasmados en Qemu, Xen y Libvirt por mencionar algunos. Con estas tecnologías vimos nacer las primeras plataformas de virtualización empresarial open source, sin embargo, cada uno de los proyectos
avanzaba a su propio ritmo y el consolidarlos en una sola plataforma de virtualización era lento e ineficiente. Eventualmente la comunidad concentró los esfuerzos en tres proyectos: un nuevo hypervisor, API’s de desarrollo estándar y unificadas con los nuevos hypervisores y una nueva consola de administración gráfica. Todo esto denominado la “siguiente generación de software de virtualización
basada en open source”.

KVM (Kernel-based Virtual Machine) es el nuevo hypervisor que provee una nueva infraestructura de virtualización en Linux, en esta ocasión (y a diferencia de otras soluciones) ofrece una integración total con el núcleo del sistema operativo. KVM utiliza las extensiones de procesadores modernos (Intel VT y AMD-V) para implementar un ambiente de virtualización acelerado directamente por el hardware.

En el modelo de virtualización de KVM, el sistema operativo administra las máquinas virtuales como procesos normales de Linux, utilizando así tanto las ventajas sistema operativo Linux directamente,
como la calendarización y priorización de procesos, la administración administración avanzada de memoria, redes y almacenamiento. Además agrega funciones de alta disponibilidad y migración de máquinas virtuales en tiempo real.

KVM permite que las máquinas virtuales sean calendarizadas como cualquier otro proceso, a partir de los distintos schedulers que provee el núcleo, y de su parametrización. Es posible asignar hasta 16 procesadores virtuales a una máquina virtual y hacer un uso inteligente de estos desde el sistema operativo padre.


En cuanto al uso de la memoria, KVM se desmarca de Xen al permitir el ‘overcommit’, que es la capacidad de asignar más memoria virtual que la que contiene el hardware físico, para así aumentar la cantidad de máquinas virtuales en un mismo servidor. Esto es posible gracias a una función especial llamada “Page Sharing”; de esta forma, cuando KVM encuentra que varias máquinas virtuales contienen porciones de memoria idénticas, consolida las copias y libera la memoria restante.

KVM permite crear configuraciones sofisticadas y avanzadas de seguridad de redes, filtrado de paquetes, QoS, ruteo y bridging entre máquinas virtuales y las interfaces de red físicas a través de los mecanismos incluidos en Linux. Es posible crear escenarios sofisticados de conectividad y seguridad
de servicios sin importar el sistema operativo virtualizado.

En cuanto a la facilidad para la administración del Almacenamiento, Linux provee una amplia diversidad de mecanismos de administración de dispositivos de almacenamiento local y remoto, con alta disponibilidad y redundancia. KVM puede hacer uso de todas estas tecnologías.

KVM ha tomado mucha inercia en la comunidad y en la integración con la infraestructura de Linux y se ha establecido como la opción preferida de la virtualización empresarial open source. Así mismo, el nuevo protocolo de despliegue remoto de máquinas virtuales, SPICE, viene a aportar nuevas capacidades y a otorgar un nivel superior de experiencia accediendo el display de los equipos remotos.

SPICE es un protocolo inicialmente desarrollado por Qumranet que provee una funcionalidad superior para visualización de “clientes virtualizados”. SPICE expone hacia el exterior los eventos de hardware
generados por una máquina virtual y son administrados por KVM. Esto permite que las máquinas virtuales puedan exportar audio, video y dispositivos USB de forma bidireccional entre un servidor y un cliente, habilitando así dispositivos como webcams o headsets y aplicaciones como video conferencia y VoIP. Entre las capacidades innovadoras están el poder tener más de un monitor exportado, y tener resolucionesHD. Es con la unión entre SPICE, KVM y la nueva consola de administración lanzada por Red Hat en Noviembre del 2009, que se cumple la promesa del cómputo
ubicuo, de fácil acceso y administrable para los data centers.

Interoperabilidad entre tecnologías de virtualización
Con la llegada de nuevos hypervisor a la escena empresarial, hemos de mencionar que Xen no ha desaparecido, sino se ha reutilizado el esfuerzo de tener API’s unificados y compatibles para la administración del hypervisor y que hoy también integra a KVM.

Libvirt y VDSM son APIs que exponen funciones del hypervisor hacia el exterior. De esta forma es posible acceder y ejecutar comandos remotamente a un servidor con máquinas virtuales desde una consola de administración. Esto ha habilitado el desarrollo de nuevas consolas gráficas de administración de los recursos virtuales.

De manera paralela al constante esfuerzo por perpetuar La Ley de Moore, se han hecho grandes avances en desarrollar software que provea gran desempeño escalabilidad, predictibilidad y facilidad de administración. Así es como un sistema Operativo Linux, con un nuevo hypervisor, un nuevo protocolo de despliegue y API’s de administración unificadas, dan suficiente impulso a la “siguiente generación de software de virtualización basada en open source”, que busca posicionarse en los centros de datos al ofrecer una alternativa eficiente, escalable, flexible y confiable, sin un costo de adquisición y con el costo de operación más bajo que se alinea con el objetivo de las empresas en tiempos de reducción de
presupuestos y conciencia ecológica.

Acerca del Autor
César Guerra Egresado de Sistemas. Apasionado de la Tecnología, Linuxero desde hace 10 años. Trabaja en Red Hat México apoyando en las actividades de pre venta, Servicios Profesionales y demás sombreros tecnológicos. Considera que el reto a vencer en la siguiente década es reducir el impacto ecológico de la información, tanto su proceso como consumo.