virtualización en software libre con proxmox ve: hacia el cpd sostenible

5
Virtualización en software libre con PROXMOX VE: hacia el CPD sostenible Juan J. Velasco, Federico Coria, Juan J. Cevaqueva, Javier Martín y Ana Mª Mejías Departamento de Proyectos - Área de Sistemas Sociedad Andaluza para el Desarrollo de las Telecomunicaciones S.A. (SANDETEL) Consejería de Economía, Innovación y Ciencia. Junta de Andalucía. Centro de Empresas Pabellón de Italia, Avenida de Isaac Newton Nº 4 Planta 5ª 41092 Sevilla – España RESUMEN. SANDETEL realizó una prospectiva para evaluar las distintas soluciones de virtualización disponibles como proyecto interno para maximizar el uso de la infraestructura existente en su CPD con la idea de disminuir costes y minimizar las inversiones en nuevo hardware. Con tal fin, tras evaluar distintas soluciones, comenzó a utilizar PROXMOX VE que se ha convertido en la plataforma de virtualización que tiene en explotación desde hace más de un año. 1. INTRODUCCIÓN 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[1.]. 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. 2. 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

Upload: juan-j-velasco

Post on 29-Jun-2015

3.199 views

Category:

Technology


11 download

DESCRIPTION

Paper para la Conferencia Internacional de Software Libre 2010 (OSWC) sobre PROXMOX VE y la virtualización de servidores en software libre

TRANSCRIPT

Virtualización en software libre con PROXMOX VE: hacia el CPD sostenibleJuan J. Velasco, Federico Coria, Juan J. Cevaqueva, Javier Martín y Ana Mª Mejías

Departamento de Proyectos - Área de SistemasSociedad Andaluza para el Desarrollo de las Telecomunicaciones S.A. (SANDETEL)

Consejería de Economía, Innovación y Ciencia. Junta de Andalucía.Centro de Empresas Pabellón de Italia, Avenida de Isaac Newton Nº 4 Planta 5ª

41092 Sevilla – España

RESUMEN. SANDETEL realizó una prospectiva para evaluar las distintas soluciones de virtualización disponibles como proyecto interno para maximizar el uso de la infraestructura existente en su CPD con la idea de disminuir costes y minimizar las inversiones en nuevo hardware. Con tal fin, tras evaluar distintas soluciones, comenzó a utilizar PROXMOX VE que se ha convertido en la plataforma de virtualización que tiene en explotación desde hace más de un año.

1. INTRODUCCIÓNSe 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[1.]. 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.

2. LA VIRTUALIZACIÓN DE SERVIDORES HOY EN DÍALa 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.

3. EL ESCENARIO DE PARTIDA DE SANDETELSANDETEL es una empresa instrumental adscrita a la Consejería de Economía, Innovación y Ciencia de la Junta de Andalucía, cuyo objetivo es contribuir al desarrollo y fomento de las Tecnologías de la Información y las Comunicaciones (TIC) en la sociedad y en la empresa andaluza, y en las administraciones públicas. Dentro de la actividad de SANDETEL, se encuentra la de la gestión de proyectos que son encomendados desde Consejería de Economía, Innovación y Ciencia, que son gestionados y ejecutados desde SANDETEL.

Hasta el año 2009, aquellos proyectos que dentro de sus objetivos, contemplaban desarrollo de aplicaciones (portales web), adquirían infraestructuras para dotarse de entornos de pre-producción y producción. Normalmente, un entorno de pre-producción constaba de un servidor dedicado con una configuración idéntica (S.O., paquetes, dependencias, configuración, etc) al entorno de producción, lo cual, no era recomendable compartir con otros proyectos para evitar problemas de incompatibilidad de versiones y/o dependencias. Lógicamente, las infraestructuras de los entornos de pre-producción tenían baja ocupación y tampoco era lógica, ni asumible, la adquisición de un nuevo servidor con cada nuevo proyecto o desarrollo.

Hasta esa fecha, para los entornos de prueba dedicados a desarrollos internos, se contaba con un servidor físico que mediante Xen, permitía la virtualización (con una gestión bastante rudimentaria) de varios entornos virtuales que eran usados para pruebas.

La llegada de nuevos proyectos, la necesidad de un mejor aprovechamiento de los recursos existentes y la eficiencia en el gasto, nos llevaron a explorar todas las alternativas en virtualización existentes en el mercado, tanto soluciones comerciales (en sus versiones gratuitas y de pago) como en software libre. En un primer paso, se realizaron varias pruebas con la versión gratuita de XenServer, si bien, el hecho de una administración con una herramienta de escritorio para MS Windows y el no soporte para Debian 5.0, fueron puntos suficientes en contra para descartar la solución.

La siguiente iteración en la búsqueda nos llevó a PROXMOX VE, un sistema de virtualización en código abierto, muy potente y versátil.

4. PROXMOX VEPROXMOX 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.

Figura 1: Pantalla de inicio del gestor web de PROXMOX VE

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.

5. PROXMOX VE CLÚSTERPROXMOX 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).

5. CASO DE ÉXITO: LA IMPLANTACIÓN DE PROXMOX VE EN SANDETELDesde verano de 2009, SANDETEL dispone de una infraestructura de virtualización basada en PROXMOX VE. Esta infraestructura abarca tanto los sistemas de pre-producción de algunos de los proyectos que son gestionados desde SANDETEL, como en sistemas de producción, tanto de uso interno como de proyectos.

El clúster de desarrollo está formado por tres nodos (un máster y dos esclavos), si bien será ampliado a un cuarto nodo. En este clúster se almacenan todas las instancias relativas a entornos de desarrollo y pre-producción de múltiples proyectos, llegándose a alojar cuarenta y una máquinas virtuales entre los tres nodos, alcazándose unos altos niveles de optimización de uso de recursos, sin perjuicio del rendimiento de las aplicaciones alojadas dentro del clúster.

El primero de los clústers de producción es de uso interno, formado por dos nodos (un máster y un esclavo), aloja servicios de red, servidores centralizados de bases de datos (MySQL y PosgreSQL) y aplicaciones internas (como por ejemplo, el gestor de tareas Feng Office).

El segundo clúster en producción está dedicado en exclusiva a un proyecto de la Consejería de Economía, Innovación y Ciencia, encomendado a SANDETEL, Consulta Teleco, que en su nuevo portal (basado en Drupal), utiliza una infraestructura en clúster con dos nodos y que montan dos frontales virtuales, un servidor de base de datos (MySQL y PosGIS), un servidor de informes (Birt-Pentaho), un servidor de mapas (OpenLayer) y una NFS.

Figura 2: Máquinas virtuales de uno de los nodos del clúster de desarrollo de SANDETELFinalmente, se dispone en producción de un servidor que es usado como hosting virtual compartido para diversos proyectos, incluido el website de SANDETEL. 6. BENEFICIOSLos beneficios de la implementación de PROXMOX VE en SANDETEL 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 poco usuales y, por tanto, no hay que habilitar reglas especiales en un firewall 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 actual 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. PROXMOX VE ha permitido a SANDETEL alojar 46 aplicaciones en sólo 3 servidores físicos, resultando cada aplicación (desde el punto de vista del usuario) totalmente independiente al resto como si de servidores físicos distintos se tratasen.

7. 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.

• PROXMOX VE ha sido desplegado tanto en entornos de desarrollo, pre-producción y producción con alto grado de satisfacción con unos altos resultados de rendimiento.

8. REFERENCIAS1. “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

9. LICENCIAEste artículo se distribuye bajo licencia Creative Commons.