Virtual Machine Consolidation Agent

Durante el ciclo de vida de un despliegue Cloud privado, las Máquinas Virtuales (VM) son alojadas en las máquinas reales y posteriormente destruídas cuando ya no son necesarias. El problema es que, tras este movimiento de máquinas nos podemos encontrar con que, en un momento dado, las VM existentes están desperdigadas entre los distintas máquinas reales, provocando una baja densidad de VM por nodo real. El resultado es que se provoca una fragmentación de los recursos existentes en las máquinas reales. Esta fragmentación de recursos puede ser crítica ya que se puede dar casos en los que no se pueda alojar una VM de un tamaño determinado, mientras que en realidad sí que se dispone de recursos para ello.

Por otro lado, cuando se da una situación de fragmentación de recursos, estamos introduciendo un problema de uso poco eficiente de los nodos de virtualización. Esto quiere decir que, en un momento dado, tendremos nodos en funcionamiento que, en realidad, podrían estar apagados.

El Agente de Consolidación de Máquinas Virtuales (VMCA) se encarga de inspeccionar el despliegue Cloud privado para tratar de defragmentar los recursos disponibles mediante la migración de las VM que están siendo alojadas por nodos reales a otros nodos en los que ya haya otras VM, y que dispongan de recursos para ello. El resultado es una compactación de los recursos libres existentes en los nodos reales, y un aumento de la densidad de VM por máquina real.

Puesto que uno de los objetivos principales del agente VMCA es el de conseguir que haya nodos reales completamente libres, si lo utilizamos en conjunto con CLUES, se hará un uso más eficiente de los recursos. Además se puede obtener un ahorro de energía puesto que aquellos nodos que no estén siendo utilizados por la plataforma de virtualización, serán apagados por CLUES.

Integración con CLUES

El agente VMCA y el sistema CLUES funcionan de forma independiente entre sí. Sin embargo, resulta muy interesante utilizarlos de forma conjunta en despliegues Cloud privados basados en OpenNebula para conseguir ahorro de energía.

En una situación normal, CLUES se encargará de monitorizar el despliegue OpenNebula y, en el momento en el que detecte que un está nodo ocioso por un tiempo considerable, lo apagará. La fragmentación de los recursos de virtualización provocará que haya nodos que permanezcan encendidos por el hecho de que estén alojando VM. Sin embargo, en algunos casos esas VM podrían (potencialmente) estar siendo alojadas en otros hosts que ya estén ejecutando otras VM. Ahí es donde entra en juego VMCA que, en caso de que detecte una situación en que un nodo esté poco utilizado y haya espacio en otros nodos para alojar sus máquinas virtuales, las migrará.

El resultado es que habrá nodos de virtualización que queden sin VM en ejecución y, por tanto, CLUES los considerará ociosos en su ciclo de trabajo habitual. Como consecuencia dichos nodos serán candidatos a ser apagados y de este modo, ahorrar energía.

Desarrollo y Licencia

En la actualidad el sistema está adaptado para funcionar con OpenNebula, e implementa un algoritmo de recolocación de máquinas virtuales llamado "bestfit". Esta algoritmo proporciona una relación balanceada entre compactación y velocidad de análisis.

El agente VMCA ha sido desarrollado completamente en python y se distribuye su código completo bajo la licencia Open Source GNU General Public License - version 3.0. Esta licencia permite a los usuarios realizar modificaciones siempre que mantengan el tipo de licencia en caso de distribución de los resultados.

© GRyCAP - UPV, Edificio 8B - Universidad Politécnica de Valencia - 46022, Valencia.
Contacto: +34963877023, Fax: +34963877274
nota legal