VMware – Estrategia de Virtualización VMware es una empresa dedicada a proveer virtualización de máquinas para plataformas Intel, con una sólida y larga reputación en el mercado mundial. A nivel nacional, Cibergroup ha implantado proyectos exitosos empleando su tecnología, y existen numerosos ejemplos en diversos ámbitos. Compuesto por ESX Server 2.1, SMP, Vmotion, y un sistema de administración global de máquinas virtuales, permite administrar centralizadamente el conjunto de servidores, posibilitando esquemas de manejo de carga y control de sistemas en forma más dinámica, expedita y con mejores funcionalidades. ESX Server y SMP son los virtualizadores de máquinas y efectivamente disponen de ambientes independientes, a nivel de los recursos de hardware, hospedando sistemas operativos como Windows NT, 2000, 2003, Linux, y otros, en forma independiente unos de otros. Los mecanismos de virtualización consideran cpu, memoria, adaptadores ethernet, discos y adaptadores de canal de fibra entre los recursos que son controlados. Vmotion es una tecnología que permite mover máquinas virtuales entre servidores físicos, sin detener los servicios. Disponiendo de sus datos en almacenamiento externo a la máquina física, en un medio compartido, Vmotion efectivamente congela sus operaciones, transfiere la imagen de la máquina virtual a un nuevo servidor, y continúa las operaciones previamente congeladas. Esta tecnología permite balancear carga entre servidores, efectuar mantenciones, y disponer de mecanismos de contingencia en forma efectiva y con mínimo impacto en los usuarios finales. Máquinas Virtuales para procesadores Intel – VMware WMware a través de sus productos de virtualización de hardware, basados en ambientes pioneros como el IBM/VM 370, permite adoptar innovadoras estrategias en plataformas Intel. Esta capa de virtualización provee una plataforma consistente para desarrollos, pruebas, y soporte de aplicaciones, partiendo en el escritorio del desarrollador hasta los centros de datos de producción. El concepto de máquina virtual de VMware ofrece una completa virtualización del hardware; el sistema operativo residente y sus aplicaciones nunca pueden determinar qué recursos físicos están empleando, tales como el procesador en que se ejecutan en sistemas SMP, o la memoria en la cual están mapeadas sus páginas. La virtualización de la cpu incorpora ejecución directa: instrucciones privilegiadas por los procesadores sin sobrecarga por emulación. La capa de virtualización provee una máquina física idealizada, aislada de otras máquinas en el sistema. Presenta los dispositivos virtuales que se mapean y comparten dispositivos físicos: éstos incluyen cpu, memoria, buses de E/S, interfaces de red, adaptadores de almacenamiento (HBA), interfaces humanas, BIOS, y otros. Cada máquina virtual ejecuta su propio sistema operativo y aplicaciones. No pueden comunicarse entre ellas o intercambiar información, excepto por medio de mecanismos de red similares a los empleados en comunicar máquinas físicas. Esta aislación conduce a muchos usuarios de VMware a construir firewalls internos u otros mecanismos de protección de ambientes de red, permitiendo a algunas máquinas virtuales conectarse al exterior mientras otras sólo se conectan vía redes virtuales por otras máquinas virtuales. En la arquitectura de ESX, el sistema operativo residente interactúa sólo con el hardware virtual estándar x86-compatible presentado por la capa de virtualización. Esto provee la capacidad para que VMware ESX soporte cualquier sistema operativo compatible x86. En la práctica, sin embargo, VMware soporta un subconjunto de SO que son probados a través del ciclo de desarrollo del producto. VMware documenta la instalación y operación de de esos sistemas operativos y entrena al personal técnico en su soporte. A causa de que las aplicaciones interactúan solamente con el sistema operativo, y no con el hardware virtual subyacente, una vez que se ha establecido y certificado la compatibilidad con el hardware, la compatibilidad con las aplicaciones no es tema de soporte. Diseño y Arquitectura de la Solución con VMware Uno de los beneficios de la utilización de VM es el de poder utilizar capacidades disponibles (ociosas) entre máquinas virtuales. En general, es típico que cada servidor sea configurado y diseñado para dejar una capacidad remanente que permita absorber peaks de carga, o eventuales crecimientos. Si bien esta es una política saludable, tiene el efecto adverso de que en la suma total de servidores (y este es un efecto importante cuando se trata de varios equipos), la capacidad que permanece ociosa es comparable a uno o más equipos. En sistemas físicamente independientes, es imposible emplear estos recursos (cpu, memoria, E/S, LAN). Como se grafica en la figura, cada servidor deja una cierta capacidad sin utilizar, que sumada podría equivaler a uno o más equipos. Por otra parte, el hecho de disponer de un sistema independiente para cada servicio, supone que hay también una protección ante una eventual falla de un sistema, sea por el sistema operativo, la aplicación, o disponibilidad de un recurso específico. La aplicación de VMware permite disponer los beneficios de cada aspecto mencionado, sin compromisos. Al centralizar físicamente varios servicios, cada uno en una máquina virtual, VM, independiente lógicamente, permite por un lado optimizar el uso de recursos ociosos, y por otra parte provee ambientes protegidos a partir del nivel del sistema operativo, con lo cual aísla cada servicio de fallas de otros ambientes. Si esto se combina con capacidades de clustering nativo del sistema operativo, o de balanceo de carga de las aplicaciones, se obtienen elevados niveles de prestaciones tanto en rendimiento y reutilización de recursos, como en disponibilidad de recursos. Asignación de Recursos Bajo VMware, cada VM, y su sistema operativo residente y aplicaciones, reciben acceso compartido a los recursos físicos de que dispone el equipo servidor. Esta compartición se realiza en base a cuotas proporcionales y prioridades, pudiendo cada VM acceder a fracciones de procesador, hasta el equivalente a 2 procesadores físicos en el caso de cpu. Esquemas similares se aplican al caso de la memoria, canales de E/S a disco, y acceso a canales ethernet. Esta asignación es administrable, permitiendo reservar recursos para aplicaciones críticas en desempeño, o pudiendo ser dinámicamente controladas por los administradores, sin interrumpir para ello la normal operación de las aplicaciones. En la práctica significa que los recursos ociosos pueden ser aprovechados por otros procesos, o en caso de requerirse potenciar uno o más servicios, disminuir las prioridades de procesos menos requeridos. Eventualmente, ante la disponibilidad de recursos, es posible crear dinámicamente nuevas VM, en forma temporal, para disponer de servicios esporádicos. Considérese el caso de requerir un ambiente de testing, o de desarrollo, por un período determinado, lo cual normalmente significa necesitar disponerse de al menos un servidor físico, que eventualmente debe ser desechado. Con VMware esto se puede hacer sin requerirse de recursos reales, sólo reutilizando recursos disponibles. El incremento de potencia permitiría puntualmente ofrecer mayores y mejores niveles de servicio ante requerimientos periódicos en que algunos sistemas pueden verse sometidos a alta demanda, lo cual en servidores tradicionales no puede hacerse. La creación de nuevas máquinas virtuales por demanda utiliza capacidades ociosas para facilitar ambientes temporales, como pruebas, desarrollos, validaciones, certificaciones, etc., en que generalmente se requieren recursos escasos por períodos cortos (días, semanas), luego de lo cual quedan disponibles para otras labores. En general esto requiere emplear un recurso menor que esté disponible, o adquirir una activo valioso que luego no es utilizado. VMware VirtualCenter Virtual Infraestructure provee una capa de abstracción entre hardware de cálculo, almacenamiento, y redes, y el software que se ejecuta en éstos. En una infraestructura virtual, los usuarios ven los recursos como si estuvieran dedicados a ellos. El administrador maneja y optimiza recursos globalmente a través de la organización Utilizando la plataforma de máquinas virtuales de ESX, VirtualCenter crea una imagen uniforme del hardware – implementado por ESX – sobre el cual se ejecuta el sistema operativo y aplicaciones. Sobre esta plataforma, la familia de productos de VMware provee administración y provisionamiento de las máquinas virtuales, consolidación continúa de cargas de trabajo a través de servidores físicos, y la tecnología Vmotion para movilidad de máquinas virtuales. Vmotion habilita mantenciones con cero inactividad de aplicaciones. Vmotion permite una reconfiguración rápida y optimización de recursos a través de la infraestructura virtual pues los cambios se realizan en-línea, sin impacto en los usuarios. Migra una máquina virtual en producción, ejecutando aplicaciones, a un servidor físico distinto conectado al mismo almacenamiento compartido (SAN), sin interrupción de servicio. Los servidores pueden ser programados para mantención, sin interrumpir el servicio. Es importante destacar que hoy, ESX Server 2.1 es compatible a nivel de máquinas virtuales con las versiones Workstation y GSX, lo cual facilita considerar nuevos mecanismos en las áreas de desarrollo, testing, y producción. Efectivamente, el paso entre desarrollo y testing, en ambientes separados, generalmente requiere traspasar el desarrollo de alguna forma, lo cual debe ser instalado en una nueva plataforma, con su software básico requerido. Si el desarrollo se realiza sobre una máquina virtual con VMware Workstation, el traspaso podría ser simplemente transferir la máquina virtual completa a una plataforma de testing, bajo ESX. El tiempo en hacer esto es de algunos minutos. Por otro lado, Workstation permite tener múltiples ambientes en la misma máquina física, sin perturbarse entre ellos, lo que permite mantener activos múltiples proyectos en forma concurrente. Esto aumenta la productividad, y el uso eficiente de recursos en una forma dramática. Beneficios 1. Balanceo de carga entre servidores, facilitando elegir la mejor combinación de servicios y plataformas existentes, para disponer los mejores recursos y niveles de servicios. 2. Administración centralizada de servidores lógicos. 3. Soporte para Disaster Recovery, con la aplicación de Vmotion, y empleando la replicación de las bases de datos, quedan sentadas las bases tecnológicas de la arquitectura de Alta Disponibilidad de servicios. 4. Portabilidad de máquinas, dada la independencia de las plataformas soportantes, un servicio o aplicación es fácilmente transportable a otra plataforma, incluso sin detener el servicio. 5. Uso de recursos ociosos, durante períodos en que los servicios no estén en uso intensivo, se pueden utilizar sin impacto ni costos adicionales en utilizarse en otros servicios. Por ejemplo, un servicio de base de datos que tiene actividad de 8:00 a 14:00, deja libre sus recursos de máquina para emplearse, por ejemplo, en extracción de datos, ambientes de pruebas, etc., en el resto del día. 6. Ambientes de testing, pueden crearse utilizando recursos ociosos, y una vez terminado su ciclo, respaldarse, y reutilizar la máquina. Ante una eventual necesidad, es posible restaurarlo completamente, sin necesidad de costosos procesos de reinstalación de software, ni de máquinas físicas. Av. Providencia # 1806 – Piso 9 – Providencia – Santiago – Fono:(562) 754 64 00 – Fax:(562) 754 64 34 www.cibergroup.cl