Icono del sitio Los Habitantes de Kewlona

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:
5. CONCLUSIONES
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
Wikio
Salir de la versión móvil