Virtualización en software libre con PROXMOX VE: hacia el CPD sostenible

3,670 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,670
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Virtualización en software libre con PROXMOX VE: hacia el CPD sostenible

  1. 1. 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ñaRESUMEN. SANDETEL realizó una prospectiva para evaluar las distintas soluciones de virtualización disponibles comoproyecto interno para maximizar el uso de la infraestructura existente en su CPD con la idea de disminuir costes yminimizar las inversiones en nuevo hardware. Con tal fin, tras evaluar distintas soluciones, comenzó a utilizar PROXMOXVE 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 laemulación de múltiples instancias o máquinas sobre un mismo hardware, denominadas máquinasvirtuales[1.]. La virtualización no es algo nuevo, es una tecnología que lleva bastante tiempo en desarrollo y enuso, si bien es cierto, que los avances en los desarrollos, la evolución del hardware y la necesidad de unarapidez en despliegue de aplicaciones junto con un abaratamiento en los costes, han potenciado mucho eluso 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 lapropia Administración Pública. Permite un mayor aprovechamiento de las infraestructuras instaladas[2.] (quenormalmente suelen tener un rendimiento por debajo del 50%), maximizando el retorno de inversión y minimizandonuevas inversiones. Un mejor aprovechamiento de los recursos y, por tanto, el decremento en inversiones en nuevasmá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 laadministración de sistemas, la virtualización permite centralizar la gestión, desplegar de manera rápida aplicaciones omejorar 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 bajolicencia). Son muy conocidas, y extendidos en uso, las soluciones comerciales y con licencia de VMWare y CitrixXenServer, que si bien disponen de versiones gratuitas, están muy recortadas en funcionalidades y requieren deaplicaciones 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 estatecnología en Citrix XenServer, y que permite la paravirtualización de máquinas con un alto rendimiento (con un 2% depenalización) utilizando Ports del S.O. que se quiera virtualizar (templates). La administración de Xen era algo complejay poco amigable, ya que únicamente podía manejarse desde consola, no existiendo entorno gráfico o herramientasespecí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 kernelmodificado que agrega las funciones de virtualización y que proporciona cuatro aspectos: virtualización, aislamientoentre máquinas virtuales (servidores privados virtuales), administración de recursos y puntos de comprobación. Cadaservidor privado virtual es una entidad separada del resto y, desde el punto de vista del usuario, se comporta como unservidor real, es decir, cuenta con sus propios dispositivos (tarjeta de red), memoria compartida, semáforos, árbol de
  2. 2. 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 cadauna 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áquinasvirtuales 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 deAndalucí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 yCiencia, que son gestionados y ejecutados desde SANDETEL.Hasta el año 2009, aquellos proyectos que dentro de sus objetivos, contemplaban desarrollo de aplicaciones (portalesweb), adquirían infraestructuras para dotarse de entornos de pre-producción y producción. Normalmente, un entorno depre-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 evitarproblemas de incompatibilidad de versiones y/o dependencias. Lógicamente, las infraestructuras de los entornos depre-producción tenían baja ocupación y tampoco era lógica, ni asumible, la adquisición de un nuevo servidor con cadanuevo proyecto o desarrollo.Hasta esa fecha, para los entornos de prueba dedicados a desarrollos internos, se contaba con un servidor físico quemediante Xen, permitía la virtualización (con una gestión bastante rudimentaria) de varios entornos virtuales que eranusados para pruebas.La llegada de nuevos proyectos, la necesidad de un mejor aprovechamiento de los recursos existentes y la eficiencia enel gasto, nos llevaron a explorar todas las alternativas en virtualización existentes en el mercado, tanto solucionescomerciales (en sus versiones gratuitas y de pago) como en software libre. En un primer paso, se realizaron variaspruebas con la versión gratuita de XenServer, si bien, el hecho de una administración con una herramienta de escritoriopara 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, muypotente y versátil.4. PROXMOX VEPROXMOX Virtual Environment es una plataforma de virtualización, basada en sistemas de código abierto para laimplementació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 elnúcleo y sistema operativo Linux que permite a un servidor físico ejecutar múltiples instancias de sistemas operativosaislados conocidos como Servidor Privado Virtual o VPS. Por contra, KVM o Kernel-based Virtual Machine es unatecnologí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 sutotalidad 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 permiteutilizar dos tipos de entornos de virtualización, OpenVZ, que es el más idóneo para realizar virtualizaciones de máquinasLinux y que permite una asignacion dinámica de recursos, y KVM, que dado que permite instalar imágenes ISO, sueleusarse para virtualizar sistemas basados en MS Windows, al ser una virtualización completa con recursos virtuales fijos.
  3. 3. La instalación es muy sencilla, una vez dotado al servidor de soporte para virtualización, tan sólo hay que realizar lainstalación de la plataforma, como si del S.O. se tratase. Durante la instalación hay que facilitar una serie de datosbásicos (configuración de red del nodo, password de administración, etc). Finalizada la instalación y tras reiniciar elsistema, 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 usaraplicaciones 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, todoello mediante conexiones a través de SSL (puerto 443). Esta interfaz web de gestión permite la creación, arranque yparada de las distintas máquinas virtuales.Figura 1: Pantalla de inicio del gestor web de PROXMOX VEPROXMOX 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 operativoslinux (Debian 4.0 a 6.0, Ubuntu Hardy, CentOS 4 y 5 y Fedora 9) como de aplicaciones opensource listas parafuncionar (Drupal, Wordpress, eyeOS, Zimbra, Feng Office, etc). Todos los templates disponibles son accesibles desde lainterfaz 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 plataformaPROXMOX, para ello incluye una funcionalidad para la creación de clústers de servidores. Un clúster está formado porun nodo máster y N nodos esclavos, lógicamente, el clúster mínimo estará formado por un nodo máster y otro nodoesclavo.El clúster permite la administración centralizada de todas las máquinas virtuales alojadas en todos los nodos queforman parte del clúster desde la consola web del nodo master, además de permitir que todos los nodos compartan labiblioteca 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 enel servicio[3.]. Esta funcionalidad permite mucha flexibilidad en la administración y despliegue de máquinas virtuales, ya
  4. 4. que permite mover instancias con demandas de servicio a servidores físicos menos cargados o, por ejemplo, migrarinstancias 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. Estainfraestructura abarca tanto los sistemas de pre-producción de algunos de los proyectos que son gestionados desdeSANDETEL, 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últiplesproyectos, llegándose a alojar cuarenta y una máquinas virtuales entre los tres nodos, alcazándose unos altos niveles deoptimizació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), alojaservicios de red, servidores centralizados de bases de datos (MySQL y PosgreSQL) y aplicaciones internas (como porejemplo, 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 yCiencia, encomendado a SANDETEL, Consulta Teleco, que en su nuevo portal (basado en Drupal), utiliza unainfraestructura en clúster con dos nodos y que montan dos frontales virtuales, un servidor de base de datos (MySQL yPosGIS), 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 diversosproyectos, 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
  5. 5. 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. 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, MA9. LICENCIAEste artículo se distribuye bajo licencia Creative Commons.

×