Saltar al contenido

Virtualización en software libre con PROXMOX VE

Se define la virtualización como la capa abstracción dispuesta en una máquina física que permite la emulación de múltiples instancias o máquinas sobre un mismo hardware, denominadas máquinas virtuales. La virtualización no es algo nuevo, es una tecnología que lleva bastante tiempo en desarrollo y en uso, si bien es cierto, que los avances en los desarrollos, la evolución del hardware y la necesidad de una rapidez en despliegue de aplicaciones junto con un abaratamiento en los costes, han potenciado mucho el uso de este tipo de tecnologías.
 

1. LA VIRTUALIZACIÓN DE SERVIDORES  HOY EN DÍA
La virtualización de servidores es un hecho dentro de cualquier departamento IT, tanto en el sector privado, ISPs o la propia Administración Pública. Permite un mayor aprovechamiento de las infraestructuras instaladas[2.] (que normalmente suelen tener un rendimiento por debajo del 50%), maximizando el retorno de inversión y minimizando nuevas inversiones. Un mejor aprovechamiento de los recursos y, por tanto, el decremento en inversiones en nuevas máquinas, permitirán un crecimiento controlado del CPD con el consiguiente ahorro de espacio y un ahorro en energía (por la alimentación de la granja de servidores como por el ahorro en climatización). Desde el punto de vista de la administración de sistemas, la virtualización permite centralizar la gestión, desplegar de manera rápida aplicaciones o mejorar la continuidad del negocio, permitiendo rápidas recuperaciones ante fallos o desastres.
A día de hoy existen múltiples opciones para la creación y gestión de máquinas virtuales (libres, gratuitas y bajo licencia). Son muy conocidas, y extendidos en uso, las soluciones comerciales y con licencia de VMWare y Citrix XenServer, que si bien disponen de versiones gratuitas, están muy recortadas en funcionalidades y requieren de aplicaciones de escritorio en etorno MS Windows para su manejo.
Dentro del mundo del software libre encontramos el proyecto Xen, que fue adquirido en 2007 por Citrix, integrando esta tecnología en Citrix XenServer, y que permite la paravirtualización de máquinas con un alto rendimiento (con un 2% de penalización) utilizando Ports del S.O. que se quiera virtualizar (templates). La administración de Xen era algo compleja y poco amigable, ya que únicamente podía manejarse desde consola, no existiendo entorno gráfico o herramientas específicas para su administración.

OpenVZ es una tecnología de virtualización que sólo soporta máquinas virtuales GNU Linux. Está basado en un kernel modificado que agrega las funciones de virtualización y que proporciona cuatro aspectos: virtualización, aislamiento entre máquinas virtuales (servidores privados virtuales), administración de recursos y puntos de comprobación. Cada servidor privado virtual es una entidad separada del resto y, desde el punto de vista del usuario, se comporta como un servidor real, es decir, cuenta con sus propios dispositivos (tarjeta de red), memoria compartida, semáforos, árbol de procesos, etc. Es el kernel de OpenVZ el que gestiona el hardware físico y el uso que las máquinas virtuales hacen de éste. De esta forma, mediante OpenVZ, la virtualización es dinámica, ya que así es como se asignan los recursos a cada una de las máquinas virtuales (cuota de disco, planificador de recursos, uso de CPU, etc). OpenVZ ofrece  rendimiento, escabilidad, densidad, administración de recursos dinámicos, y facilidad de administración, si bien, las máquinas virtuales tendrán como origen plantillas (templates) diseñadas para su manejo desde OpenVZ.
 

2. PROXMOX VE
PROXMOX Virtual Environment es una plataforma de virtualización, basada en sistemas de código abierto para la implementación de máquina virtuales utilizando los entornos OpenVZ y KVM. Está disponible bajo licencia GPLv2.
OpenVZ, tal y como se ha comentado, es una tecnología de virtualización a nivel de sistema operativo basada en el núcleo y sistema operativo Linux que permite a un servidor físico ejecutar múltiples instancias de sistemas operativos aislados conocidos como Servidor Privado Virtual o VPS. Por contra, KVM o Kernel-based Virtual Machine es una tecnología de virtualización completa con Linux en procesadores x86 que permite ejecutar e instalar imágenes .ISO. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc. KVM necesita un procesador x86 con soporte Virtualization Technology. 
Por tanto, PROXMOX VE es una plataforma de virtualización basada en software libre, totalmente gratuita y que permite utilizar dos tipos de entornos de virtualización, OpenVZ, que es el más idóneo para realizar virtualizaciones de máquinas Linux y que permite una asignacion dinámica de recursos, y KVM, que dado que permite instalar imágenes ISO, suele usarse para virtualizar sistemas basados en MS Windows, al ser una virtualización completa con recursos virtuales fijos.
La instalación es muy sencilla, una vez dotado al servidor de soporte para virtualización, tan sólo hay que realizar la instalación de la plataforma, como si del S.O. se tratase. Durante la instalación hay que facilitar una serie de datos básicos (configuración de red del nodo, password de administración, etc). Finalizada la instalación y tras reiniciar el sistema, la plataforma está disponible.
PROXMOX VE ofrece al administrador una interfaz web de gestión, lo cual independiza la gestión del S.O. (por no usar aplicaciones de escritorio) y al ser web no exige la apertura de puertos poco usuales. Esta interfaz web incluye (mediante el uso de un applet de Java) conexión ssh a la consola de cada una de las máquinas virtuales alojadas, todo ello mediante conexiones a través de SSL (puerto 443). Esta interfaz web de gestión permite la creación, arranque y parada de las distintas máquinas virtuales.
PROXMOX VE, al utilizar OpenVZ, también utiliza, como base de las distintas máquinas virtuales, templates, denominados Virtual Appliances. PROXMOX VZ tiene disponibles multitud de templates, ya sea de sistemas operativos linux (Debian 4.0 a 6.0, Ubuntu Hardy, CentOS 4 y 5 y Fedora 9) como de aplicaciones opensource listas para funcionar (Drupal, WordPress, eyeOS, Zimbra, Feng Office, etc). Todos los templates disponibles son accesibles desde la interfaz web de gestión, desde la que se descarga y pasa a integrarse en el repositorio local de templates del sistema.
3. PROXMOX VE CLÚSTER
PROXMOX VE permite la administración centralizada de múltiples servidores físicos que utilicen la plataforma PROXMOX, para ello incluye una funcionalidad para la creación de clústers de servidores. Un clúster está formado por un nodo máster y N nodos esclavos, lógicamente, el clúster mínimo estará formado por un nodo máster y otro nodo esclavo.

El clúster permite la administración centralizada de todas las máquinas virtuales alojadas en todos los nodos que forman parte del clúster desde la consola web del nodo master, además de permitir que todos los nodos compartan la biblioteca de imágenes y templates y añadir la funcionalidad de “migración en caliente”.

La migración en caliente consiste en permitir portar una máquina virtual desde una máquina física a otra sin cortes en el servicio[3.]. Esta funcionalidad permite mucha flexibilidad en la administración y despliegue de máquinas virtuales, ya que permite mover instancias con demandas de servicio a servidores físicos menos cargados o, por ejemplo, migrar instancias a otros servidores físicos para realizar intervenciones de mantenimiento (ampliación de memoria RAM, cambio de rack, etc).

 
4. BENEFICIOS
Los beneficios de la implementación de PROXMOX VE han sido múltiples:
  • Gestión centralizada de la infraestructura de virtualización con un interfaz sencillo e independiente del sistema operativo de escritorio. Además, al ser un interfaz web, no necesita la apertura de puertos extraños y no hay que habilitar reglas extrañas para su manejo en remoto (por ejemplo, desde VPN), y al ser SSL todas las operaciones son ejecutadas de manera segura.
  • La infraestructura de virtualización permite un rápido despliegue de nuevas máquinas virtuales (para entornos de desarrollo o producción) sin necesidad de adquirir nuevo hardware dedicado en exclusiva e infrautilizado. El nivel de aprovechamiento de las infraestructuras ha aumentado exponencialmente, sacándose el máximo partido a las inversiones realizadas y minimizando nuevas inversiones, con las consiguientes ventajas derivadas (crecimiento sostenido del CPD, menor consumo energético, etc). Además, se minimizan las interrupciones de servicio por paradas programadas gracias a la migración en caliente.
  • Aplicando soluciones de virtualización, el TCO (Coste total de propiedad) del desarrollo o la implantación de cualquier nueva aplicación baja, ya que los costes asociados a la operación (administración, configuración, mantenimiento, etc) y a la infraestructura (servidores, rack, electrónica de red, etc) son compartidos con el resto de aplicaciones. Además, este decremento del TCO proviene de la implantación de una herramienta totalmente libre y gratuita, por lo que los beneficios son perceptibles desde el primer momento.
  • El bajo grado de utilización del hardware disminuía el retorno de la inversión en éste (ROI), ya que se adquiría hardware dedicado a cada aplicación (por la imposibilidad de compartirlo para prevenir incompatibilidades). Sin embargo, la virtualización permite un aprovechamiento total de los recursos. Por ejemplo, distribuyendo 46 máquinas virtuales entre 3 nodos físicos.
5. CONCLUSIONES
  • La virtualización de servidores es el primer paso en la consolidación de los CPDs para permitir una optimización y un mejor aprovechamiento de las infraestructuras existentes, un ahorro en costes de operación, eficiencia energética y un crecimiento sostenible.
  • El software libre es una alternativa real para la consolidación de CPDs y la virtualización de servidores.
  • PROXMOX VE es una plataforma de virtualización totalmente libre y de código abierto (GPLv2) que posee una serie de funcionalidades que lo posicionan como una alternativa viable a cualquier otro producto comercial existente en el mercado.
6. REFERENCIAS
1.“Introducción a las máquinas virtuales”. Montserrat Pérez Lobato. 2007. Observatorio Tecnológico para la Educación. Instituto de Tecnologías Educativas. Ministerio de educación, política social y deporte. Gobierno de España.
 
2.“Virtualización de Servidores. Una solución de futuro”. J. M. Doña, J.E. García, F. Pascual y otros. Área de Tecnologías y Sistemas de Información. Hospital Universitario Virgen de la Victoria (Málaga). Congreso Mundo Internet 2009.
 
3.“Live Migration of Virtual Machines”. C. Clark, K. Fraser y otros. University of Cambridge Computer Laboratory. Proceedings of the 2nd Symposium on Networked Systems Design and Implementation (NSDI ’05), May 2005, Boston, MA

Publicado enSoftware

Sé el primero en comentar

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.