Dec 19, 2009

VMware ESXi y vSphere

VMware ESXi ha sido personalmente para mí, uno de los descubrimientos del año. Este producto provee las funcionalidades necesarias para construir y administrar infraestructuras virtualizadas de una forma rápida, cómoda y sencilla, optimizando los recursos hardware y con unas penalizaciones de rendimiento mínimas.

WMware ESXi está basado en una arquitectura bare-metal (primer nivel) de 64 bits (sólo puede instalarse en máquinas de 64 bits). Esto significa que el ESXi es directamente un sistema operativo (basado en RHEL) que se instala directamente sobre el hardware, sin necesidad de instalar ningún otro sistema operativo por debajo (como ocurría con VMware Server), y permite la gestión directa de las máquinas virtuales.


Yo siempre he sido partidario de la virtualización, porque las ventajas que se obtienen son prácticamente innumerables. Destacaría las siguientes:
  • Balanceo y ampliación de los recursos hardware (CPUs, memoria, espacio de disco, etc.) de las distintas máquinas virtuales según las necesidades del momento, incluso en caliente.

  • Optimización de los recursos hardware: dedicar una máquina física actual (con su enorme potencia en cuanto a cómputo y memoria se refiere) a un único servicio, como por ejemplo un servidor web, es un desperdicio. Es preferible aprovechar ese hardware para crear diferentes máquinas virtuales.

  • Portabilidad: se pueden mover las máquinas virtuales entre distintos equipos físicos.

  • Seguridad: podemos emplear una única máquina física para montar por ejemplo un servidor web, un servidor de aplicaciones y una base de datos, o bien podemos crear dentro de esa máquina física tres máquinas virtuales en donde cada una de ellas albergue cada uno de esos servicios. Con esta última arquitectura tenemos tres servidores independientes que en caso de que alguno de ellos se vea comprometido, no tendrá por qué afectar al resto de servicios.

  • Migración: de cara a la actualización del sistema operativo de una máquina virtual o de alguno de sus componentes software, siempre vamos a tener la posibilidad de hacer un snapshot previo, el cual podremos restaurar en caso de problemas.

VMware ESXi viene a ser una versión muy recortada del ESX, ahora conocido como VMware vSphere, aunque más que suficiente para muchos entornos de producción: nos permite crear y gestionar máquinas virtuales, exportarlas e importarlas, conocer su rendimiento, tomar snapshots, etc.

A continuación se describen las principales características de VMware ESXi 4.0:

  • Soporte para máquinas físicas con hasta 64 CPUs (físicas), 256 CPUs virtuales y 1 TB de RAM. Cada máquina virtual puede disponer de hasta un máximo de 255 GB RAM.

  • Optimización para aplicaciones críticas de negocio: bases de datos Oracle o Microsoft SQL Server, Microsoft Exchange, etc.

  • Mejoras de rendimiento para el almacenamiento iSCSI.

  • Soporte para multiprocesamiento simétrico (SMP, Symmetric Multi-Processing): una máquina virtual podrá utilizar múltiples procesadores físicos simultáneamente (hasta un máximo de ocho).

  • VMware VMsafe: tecnología de seguridad que ayuda a proteger las cargas de trabajo virtualizadas, proporcionando para ello un conjunto de APIs de seguridad.

  • VMDirectPath: mejora la eficiencia de la CPU permitiendo la posibilidad de acceder directamente al hardware para aquellos accesos frecuentes a dispositivos de I/O.

  • Sistema de archivos clusterizado VMFS (Virtual Machine File System): permite el acceso concurrente de múltiples máquinas virtuales a un mismo espacio de almacenamiento.

  • Redes virtuales (Virtual networking): VMware permite la creación de redes complejas entre las distintas máquinas virtuales, empleando para ellos dispositivos virtuales tales como tarjetas y switches.

  • Balanceo automático de recursos en función de las necesidades de las máquinas virtuales.

En el siguiente cuadro se muestran las diferencias entre las distintas licencias de ESX/ESXi:


VMware Distributed Resource Scheduler (DRS) se encarga de agrupar todos los recursos computacionales de las distintas máquinas físicas, y a continuación asignarlos dinámicamente a las distintas máquinas virtuales. A su vez, VMware Distributed Power Management (DPM) automatiza el consumo eficiente de la energía en los clusters DRS.

Storage vMotion permite la migración en caliente de los discos de las distintas máquinas virtuales, y vMotion permite mover en caliente las máquinas virtuales entre servidores físicos (ambas técnicas sin interrupciones para los usuarios ni pérdidas de servicio).

High Availability permite levantar una máquina virtual en otra máquina física en caso de que ocurriera algún fallo hardware en la máquina física que originalmente la albergaba.

Consolidated Backup ofrece funciones de backup y restauraciones sencillas, sin necesidad de emplear agentes en las máquinas virtuales.

Update Manager es una extensión que permite mantener actualizados los servidores ESX, las VMware Tools y los servidores virtuales de Microsoft Windows y Linux.

Y por último, el Virtual Center es una aplicación que permite una gestión centralizada de todos los ESX/ESXi, así como de todas sus máquinas virtuales.

En la siguiente figura puede observarse un esquema genérico de una infraestructura vSphere. Por una parte se dispone de un sistema de almacenamiento en donde residirán las máquinas virtuales. A ese espacio de almacenamiento se podrá acceder a través de distintas tecnologías: fibra, iSCSI, NFS, etc. A su vez, esas VMs utilizarán recursos (CPUs y memoria) procedentes de las granjas de servidores, en donde en cada uno de ellos irá instalada una versión del ESX/ESXi.


Y a su vez, toda esta arquitectura será administrada de una forma centralizada a través del Virtual Center, software que deberá estar instalado en una máquina física dedicada. El usuario podrá acceder al vCenter a través del vSphere Client. Este cliente también se podrá utilizar para gestionar individualmente un ESX/ESXi concreto.

¿Qué alternativas reales se tienen a VMware ESXi?

XenServer: este producto (basado en Xen), inicialmente opensource y posteriormente adquirido por Citrix, le ocurre lo mismo que a su homólogo de VMware: mantiene una versión gratuita llamada XenServer y una versión de pago denominada Essentials for XenServer, que viene a ser lo mismo que el vSphere de VMware.

XenServer tiene muchas más funcionalidades que el ESXi, destacando principalmente la posibilidad de mover máquinas virtuales en caliente entre distintas máquinas físicas. Por contra, VMware ESXi es un producto mucho más estable, más consolidado y con un mejor rendimiento que Citrix XenServer.

En la siguiente tabla se muestran las principales diferencias entre XenServer y ESXi.


Xen hypervisor: podemos instalar el kernel de Xen en cualquier distribución Linux, y a partir de este momento levantar sobre ella las distintas máquinas virtuales que queramos. Para los "puristas", ésta sea posiblemente la opción más idónea. Yo he utilizado Xen y funciona muy bien. Su rendimiento es sustancialmente menor al ofrecido por VMware y también tiene en contra que su administración es algo más complicada al no disponer de una herramienta como el vSphere Client de VMware, como ocurre en el caso del ESXi.

KVM (Kernel based Virtual Machine): solución de virtualización creada y mantenida por Qumranet, empresa que posteriormente fue adquirida por Red Hat. Por este motivo, Red Hat a partir de su sistema operativo RHEL 5.4 optó por esta opción, relegando a Xen a un segundo plano, al cual le seguirá dando soporte durante un tiempo determinado.

La principal ventaja de KVM es que a partir del kernel 2.6.20 está integrado directamente con éste mediante el módulo kvm.ko. KVM probablemente será una opción a tener muy en cuenta en un futuro no muy lejano, pero a día de hoy su rendimiento deja mucho que desear.

Hace poco pude analizar las pruebas de un benchmark desarrollado por Phoronix, donde comparaban el rendimiento de una Ubuntu 9.10 virtualizada con KVM y sin virtualizar: KVM Virtualization Performance With Linux 2.6.31. Los resultados hablan por sí solos.

No comments:

Post a Comment