Software de virtualización empleado
Dentro del campo la virtualización existe diversidad de alternativas tecnológicas. Para este caso en particular las soluciones probadas fueron:
- VMWare Server 2.0.2
- Sun VirtualBox 3.1.6
- Red Hat Xen 3 (paquete xen-3.0.3-94.el5_4.3)
Observaciones detectadas por software
VMWare
- Si bien VMware es la solución más conocida y con mayor presencia comercial, VMWare Server ejecutado sobre CentOS 5 no resultó tan estable como se esperaba. En una instalación realizada con tres máquinas virtuales con Linux y una con Windows, la plataforma sufría caídas recurrentes (en el peor de los casos hasta una vez al día), y donde ninguna máquina virtual instalada era accesible.
- Una particularidad de VMWare Server es que la interfaz de configuración y consola es accesible vía una interfaz Web. La consola es una extensión disponible para Firefox 3.5. En la versión probada la consola no soportaba Firefox 3.6.x.
- Los drivers adicionales (vmware-tools) tanto para Windows como para Linux mejoran notablemente la integración de la consola y en menor medida la performance de los discos.
- El controlador o driver escogido para los discos virtuales (IDE, SATA, SCSI, etc.) impacta de manera notable en el desempeño de la máquina virtual.
- En el caso de instalar VMWare sobre una máquina con sistema operativo Fedora es necesario parchar el instalador de vmware-server para ponerlo en funcionamiento (esto debido a que la distribución cuenta con un kernel Linux más reciente).
VirtualBox
- VirtualBox ofrece en su sitio web de descargas una gran cantidad de binarios, optimizados para diferentes sistemas operatvos.
- Luego de instalar vbox-additions, la integración entre el host (el sistema operativo del equipo físico) y el guest (el sistema operativo de la máquina virtual) es muy buena. Ofrece facilidades como portapapales compartido, carpetas compartidas, modo fluido, y redimensionamiento automático de la resolución/tamaño de ventana.
- Una desventaja detectada es que no es posible modificar las propiedades de la máquina virtual mientras está en ejecución (memoria, tarjetas de red, discos, etc.)
- Su rendimiento es bajo en máquinas de pocos recursos (P4 HT 3.2 Ghz, 2G RAM)
- La administración de las máquinas virtuales se realiza mediante un programa cliente instalado en el host.
XEN
- La instalación es nativa (con yum, el asistente de instalación de paquetes en CentOS)
- Soporta modos de full y para virtualization
- Requiere que el hardware soporte virtualization technology (en caso de utilizar full virtualization)
- La interfaz gráfica y la integración de ingreso y salida de datos es bastante precaria. Utiliza una variación de VNC para el control de consola
- Para máquinas virtuales Linux requiere que éstas utilicen un núcleo especializado, kernel-xen. Este kernel se puede instalar de manera nativa en distribuciones Red Hat (RHEL, CentOS y Fedora)
- El rendimiento con para-virtualization es bastante bueno en términos de uso de memoria, disco y CPU
- El uso de discos raw (acceso directo a particiones o discos) es nativo. Esto elimina una capa adicional de acceso , utilizada comúnmente para gestionar archivos como discos virtuales.
- Una característica particular de Xen es que, al utilizar para-virtualization, el consumo de memoria RAM disminuye en el sistema operativo host al ser asignada a una máquina virtual.
- Una instalación de una máquina virtual de CentOS 5.4 con 1 procesador y 128 MB RAM asignados corre sin problemas con servicios básicos
- La configuración se realiza mediante un programa cliente instalado en el host, pero puede conectarse a la máquina virtual desde un cliente remoto
- En Xen es posible modificar el tamaño de memoria RAM asignada, conectar tarjetas de red y agregar discos en caliente.
Resultados obtenidos
Característica \ Software | VMWare | VirtualBox | Xen |
Conocimiento requerido para administración | Medio | Bajo | Alto |
Integración video, I/O | Medio | Alto | Bajo |
Capacidad de para-virtualización | No | No | Si |
Driver para los guest | Si vmware-tools | Si vbox-additions | No |
Requerimientos del guest | Ninguno | Ninguno | Kernel-xen en para-virtualización |
Discos Raw | Configuración adicional | Configuración adicional | Nativo |
Soporte Network Bridge | Si | Si | Si |
Sistemas Operativos guest probados | Windows XP, 2000, 2000 Server, 2003 server Linux Fedora, Red Hat |
Windows XP, 2003 Server, OpenSolarisLinux Fedora, Red Hat |
Windows XP Fedora, Red Hat |
Requiere configuración al hacer upgrade de Kernel | Si | Si | No |
Conclusiones
Las diferentes soluciones presentadas pueden ser utilizadas de manera óptima en diferentes entornos. Para el escenario específico evaluado en este artículo (máquinas virtuales para servidores de pruebas de software) la opción elegida es la plataforma Xen por los siguientes motivos:
- Mejor rendimiento y mejor soporte para servidores y host Linux.
- Escalabilidad y estabilidad.
- Permite tener máquinas virtuales con pocos recursos asignados
- Si bien la interfaz gráfica y la consola son bastante limitadas, esto no constituye una limitante, ya que la mayor parte de la interacción con el servidor puede realizarse mediante conexión remota vía SSH.
En otras circunstancias es posible que otra solución sea la más recomendada, por ejemplo:
- Host Fedora – Guest Windows XP – Desktop: Para este caso se recomendaría utilizar VirtualBox, ya que presenta la mejor integración entre los escritorios. Esto mejora la usabilidad de las máquinas virtuales de manera considerable.
- Solución integral para servidores de producción virtualizados: Para este caso VMWare ofrece una mayor cantidad de servicios de valor agregado como monitoreo, soporte en línea, consultoría y soporte local.
Via: Elmundoesopensource