Clúster de alta disponibilidad

E-mail Imprimir PDF

La alta disponibilidad ha sido tradicionalmente un requerimiento exigido a aquellos sistemas que realizaban misiones críticas. Sin embargo, actualmente, está siendo cada vez más importante exigir esta disponibilidad en sistemas comerciales y en áreas académicas donde el objetivo de prestar los servicios en el menor tiempo posible, es cada vez más perseguido.

El concepto de clúster de disponibilidad continua, se basa en la idea de   mantener la prestación del servicio en todo momento. Esto representa una situación ideal, sería necesario que el sistema estuviera compuesto de componentes perfectos que no fallaran nunca, tanto en hardware como en software. Realmente no hay sistemas que puedan asumir este tipo de disponibilidad.

Necesitamos que el clúster sea tolerante a los fallos.

Definiremos un clúster de alta disponibilidad como un sistema capaz de encubrir los fallos que se producen en él para mantener una prestación de servicio continua. En este caso nos centraremos en los clústeres de este tipo que utilizan componentes hardware de forma redundante y software capaz de unir estos componentes y enmascarar los fallos de manera que los servicios ofrecidos al usuario no sean interrumpidos.

Los conceptos de alta disponibilidad y de “clustering” están íntimamente relacionados ya que el concepto de alta disponibilidad de servicios implica directamente una solución mediante “clustering”. La principal prestación de un sistema de alta disponibilidad es que el fallo de un nodo derive en que las aplicaciones que se ejecutaban en él sean migradas a otro nodo del sistema. Este migrado puede ser automático (failover) o manual (switchover).

Desde un punto de vista general, una solución de alta disponibilidad consiste en dos partes:

  • la infraestructura de alta disponibilidad
  • y los servicios.

La adaptación más común que debe sufrir una aplicación para poder ser ejecutada en un clúster de alta disponibilidad implementado sobre GNU/Linux, es añadir scripts. Existen APIs para trabajar cómodamente con alta disponibilidad; todas ellas incluyen métodos que permiten el switchover y el failover y que permiten  arrancar, parar o monitorizar una aplicación por mencionar algunas de sus funcionalidades.