¿Por qué montar un cluster en alta disponibilidad con servidores virtuales?

Cuando trabajas como administrador de sistemas, uno de los principales objetivos por no decir el más importante de todos ellos, es poner en marcha un cluster.

La idea es tener varios nodos, que de forma transparente al usuario y al servicio, sean los que ejecutan realmente la carga, monitorizando el estado de todos ellos para poder asumir tareas unos de otros en caso de caídas o falta de capacidad.

Yo mismo tengo una arquitectura formada por cuatro nodos, repartidos dos a dos en dos tipos de sistemas:

  • 2 Scientific Linux ejecutando Xen y dando servicio a otros Scientific Linux que son los verdaderos servidores
  • 2 VMware ESXi dando servicio a servidores Windows Server 2008

Las ventajas son muchas, en mi caso os puedo comentar algunas que yo mismo he “sentido” en comparación con la alternativa servidor físico sin virtualización. Aquí os listo las que me parecen más importantes:

  • Facilidad de balanceo: un nodo con sobrecarga fácilmente puede migrar en caliente servicios al nodo con menos carga
  • Resistencia a caídas: en cuanto cae un nodo, el otro se encarga de todos los servicios
  • Escalabilidad: una arquitectura con un clúster de servidores virtuales, es más compleja de implantar, pero es fácilmente ampliable
  • Eficiencia energética y económica: podemos permitirnos el lujo de migrar todos los equipos en caliente a un nodo y apagar otro por razones energéticas o de mantenimiento.

Tras esta pequeña introducción de “defensa a la arquitectura en clúster de servidores virtualizados”, doy comienzo a una serie de entradas en las que comentaré cómo administrarlos, implantarlos y haré mención a algunas problemas que me han surgido y cómo los he solucionado.

Vía comentarios me gustaría que me comentarais vuestra opinión de este tipo de arquitecturas, si habéis tenido algún tipo de experiencia y os pediría que me corrijáis o mejoréis lo que digo conforme con vuestra experiencia.