Dec 28, 2009

Instalación de VMware ESXi

VMware ESXi es la versión gratuita del producto vSphere. Podemos descargar esta aplicación desde la web de VMware (ESXi), con el paso previo de un registro en línea.

Una vez registrados podremos descargar la ISO del ESXi, el cliente gráfico para administrarlo (VMware vSphere Client) y toda la documentación correspondiente. VMware nos proporcionará un número de serie que posteriormente utilizaremos para licenciar el producto.

Antes de realizar cualquier tipo de instalación o descarga, hay que comprobar si el hardware que vamos a utilizar es compatible con el ESXi. Para ello tendremos que consultar la guía de compatibilidades que VMware tiene para tal fin.

El proceso de instalación es muy sencillo. Únicamente habrá que aceptar el contrato con VMware. Durante la instalación se creará un sistema de archivos utilizando todo el espacio de almacenamiento de la máquina, reservándose una pequeña parte para el propio sistema operativo (ESXi).

En el espacio restante se creará una partición que será conocida como datastore1 y será éste el espacio que podrá utilizar el administrador del ESXi para construir las distintas máquinas virtuales. Posteriormente podremos añadir múltiples datastores al sistema. Decir también que el sistema de ficheros utilizado por VMware se denomina VMFS (Virtual Machine File System), el cual permite el acceso concurrente de múltiples máquinas virtuales a un mismo espacio de almacenamiento.

Una vez instalado el ESXi sobre la máquina física, nos saldrá una pantalla como la mostrada en la imagen siguiente.


Pulsando la tecla F12 podremos configurar alguna de las características básicas del ESXi, como por ejemplo el password de root, nombre de la máquina, parámetros de red, teclado, etc. Por defecto, ESXi viene configurado para recibir sus parámetros de red por DHCP. Y con la tecla F2 tendremos la posibilidad de reiniciar o apagar el sistema.

Accediendo por HTTPS a la dirección IP que tenga configurado nuestro ESXi, aparecerá una página web a través de la cual el usuario tendrá la posibilidad de descargarse el cliente vSphere (cliente gráfico para gestionar el ESXi), el vSphere Remote Command Line (línea de órdenes que permite utilizar comandos remotos para administrar el ESXi) y la documentación del producto.

Y a través del link Browse datastores in this host's inventory que se mostrará también en esta pantalla, el usuario podrá navegar por el datastore del ESXi.

Para conectarnos al ESXi con el objetivo de administrarlo, podremos emplear el cliente vSphere, accediendo la primera vez con las credenciales del usuario root. Posteriormente podremos crear más usuarios. Una vez estemos conectados al sistema, aparecerá una pantalla como la siguiente.


En la pestaña Summary pueden verse los recursos físicos (memoria, CPUs, espacio, etc.) de los que dispone el ESXi. Ésta será la pantalla principal del ESXi. La otra pestaña importante es la de Configuration, a través de la cual podremos gestionar de una forma más detallada los distintos elementos hardware y software del sistema.

Dentro de esta pestaña pulsaremos sobre la opción Licensed Features, Edit y accederemos a la pantalla de licencias del ESXi. En esta ventana introduciremos el número de serie proporcionado por VMware. Si todavía no queremos licenciar el producto, dispondremos de un total de 60 días durante los cuales tendremos a nuestra disposición todas las características del ESX (vSphere, versión de pago).

Y una vez llegados a este punto, ya estaremos en disposición de crear todas las máquinas virtuales que queramos. Para asegurarnos de que el sistema operativo que queremos virtualizar está soportado por VMware, conviene consultar el documento que VMware proporciona para tal fin.

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.

Dec 14, 2009

Benchmark IOzone: Sistemas de almacenamiento compartido en red (III)

Y ya para terminar los resultados de la herramienta IOzone para las pruebas de benchmarking sobre sistemas de almacenamiento compartido, vamos a emplear esta aplicación para estudiar el comportamiento del sistema ante la lectura/escritura secuencial de varios ficheros de 512 MB por múltiples procesos.

Mediante los siguientes comandos, cada uno de los procesos lanzados (desde uno hasta doce) realizará la escritura y lectura secuencial de un fichero de 512 MB a través de registros de 1024 KB.

[root@centos02 shared02]# iozone –Rc –r 1024 –s 512M –l 1 –u 50 –i 0 –i 1 –b shared02.xls

[root@centos03 shared03]# iozone –Rc –r 1024 –s 512M –l 1 –u 12 –i 0 –i 1 –b shared03.xls


Escritura secuencial de múltiples procesos






Re-Escritura secuencial de múltiples procesos






Lectura secuencial de múltiples procesos






Re-Lectura secuencial de múltiples procesos




Dec 8, 2009

Benchmark IOzone: Sistemas de almacenamiento compartido en red (II)

Continuando con los resultados obtenidos para la herramienta IOzone para las pruebas de benchmarking sobre sistemas de almacenamiento compartido, vamos a seguir empleando esta aplicación para estudiar el comportamiento del sistema ante la lectura/escritura secuencial de varios ficheros por múltiples procesos.

Mediante los siguientes comandos, cada uno de los procesos lanzados (desde uno hasta cincuenta) realizará la escritura y lectura secuencial de un fichero de 4 MB a través de registros de 64 KB.

[root@centos02 shared02]# iozone –Rc –r 64 –s 4M –l 1 –u 50 –i 0 –i 1 –b shared02.xls

[root@centos03 shared03]# iozone –Rc –r 64 –s 4M –l 1 –u 50 –i 0 –i 1 –b shared03.xls


Escritura secuencial de múltiples procesos






Re-Escritura secuencial de múltiples procesos






Lectura secuencial de múltiples procesos






Re-Lectura secuencial de múltiples procesos




Dec 2, 2009

Benchmark IOzone: Sistemas de almacenamiento compartido en red (I)

Una vez presentados los resultados de benchmarking sobre sistemas de almacenamiento compartido a través de bonnie++, ahora le toca el turno a los resultados obtenidos a través de la aplicación IOzone.

IOzone es una herramienta destinada a comprobar el rendimiento de un sistema de archivos. La aplicación genera y mide una gran cantidad de operaciones sobre ficheros (escritura, re-escritura, lectura, re-lectura, lectura/escritura aleatoria, etc.).

Para el presente caso de estudio se lanzará simultáneamente en ambos nodos un test de lectura/escritura secuencial, variando los tamaños de los ficheros empleados desde 64 KB a 4 GB (tamaño de la memoria RAM disponible en cada uno de los nodos), utilizando para ello buffers de transferencia comprendidos entre 4 KB y 16 MB.

Esto es lo que se conoce como barrido de un determinado espectro de almacenamiento, y tiene como principal objetivo el poder generar una gráfica de superficie que determine el comportamiento del sistema ante variaciones de los registros y ficheros empleados.

Las órdenes que se utilizarán en ambos nodos (centos02 y centos03) para ejecutar los distintos tests serán las siguientes, siendo shared02 y shared03 los directorios temporales utilizados para las pruebas y ubicados en el mismo espacio de almacenamiento a testear. En los ficheros centos02.xls y centos03.xls serán guardados los resultados de las pruebas.

[root@centos02 shared02]# iozone –Razc –i 0 –i 1 –g 4G –b shared02.xls
[root@centos03 shared03]# iozone –Razc –i 0 –i 1 –g 4G –b shared03.xls


Escritura espectral secuencial











Re-Escritura espectral secuencial











Lectura espectral secuencial











Re-Lectura espectral secuencial