Alta disponibilidad para Linux

Juan Pedro Paredes

Este documento relata los principios b�sicos de la alta disponibilidad, adem�s de dar un enfoque a la problem�tica que ha llevado el desarrollo de estos sistemas.

Luego se enumeraran las caracter�sticas que hacen de Linux un sistema operativo robusto para su uso en estos sistemas. Adem�s se comentaran diversas soluciones ya creadas.


Tabla de contenidos
Introducci�n
SPOF (Single Point Of Failure � punto simple de fallo)
Servicio de datos
Din�mica HA
Entorno HA para Linux
Soluciones HA para Linux
Copyleft
Bibliograf�a

Introducci�n

Actualmente Linux es conocido, como un sistema operativo estable; la problem�tica se genera cuando el hardware, no es tan fiable como se desear�a. En la mayor�a de los casos, cuando un sistema falla normalmente es debido a un fallo de hardware o a un fallo humano (debido a un error en la administraci�n del sistema).

En los casos en que un fallo hardware provoca graves consecuencias, debido a la naturaleza del servicio (aplicaciones cr�ticas), se implementan sistemas tolerantes a fallos (fault tolerant � FT); en los cuales, el servicio esta siempre activo. El problema de estos sistemas, es que son extremadamente caros y normalmente no hay presupuesto. Adem�s suelen ser soluciones cerradas, totalmente dependientes de la empresa contratada. Se suele poner un servidor tolerante a fallos, varias interfaces de red, con tomas de alimentaci�n redundantes y climatizaci�n especial.

Los sistemas de alta disponibilidad (high availability � HA), intentan obtener prestaciones cercanas al la tolerancia a fallos, pero a un precio much�simo m�s interesante. Esta es una opci�n, que la ha hecho crecer en importancia dentro del mundo empresarial. La alta dsiponibilidad est� basada en la replicaci�n de elementos, mucho m�s baratos que un s�lo elemento tolerante a fallos. Naturalmente, si hablamos de replicar servidores, hablaremos de un cl�ster d e alta disponibilidad (ver Figura 2). Sistemas tolerantes a fallos los podemos encontrar en entornos muy cr�ticos, tales como una central nuclear o el sistema de navegaci�n de una aeronave moderna.

Figura 1. Sistema HA de 2 nodos

Sistemas de alta disponibilidad y sistemas tolerantes a fallos

En un sistema tolerante a fallos, cuando se produce un fallo hardware, el hardware asociado a este tipo de sistema es capaz de detectar el subsistema que falla y obrar en consecuencia para restablecer el servicio en segundos (o incluso d�cimas de segundo). El cliente del servicio no notar� ning�n tiempo de fuera de servicio. En los sistemas de alta disponibilidad existen los tiempos de fuera de servicio; son m�nimos pero existen, van desde 1 minuto o menos hasta 5 o 10 minutos, seg�n sea el caso. En teor�a esta es la �nica diferencia entre ambos, pero en los �ltimos a�os, se ha ido acercando la idea de alta disponibilidad a la idea de tolerancia a fallos, debido al abaratamiento de hardware, y de ciertas tecnolog�as que han ido surgiendo. Estas tecnolog�as han evolucionado de tal forma, que han logrando que subsistemas donde hab�a que recurrir a la alta disponibilidad ahora, se puede lograr tolerancia a fallos a bajo precio. De todos modos en un sistema (como veremos en la siguiente secci�n) hay muchos elementos y subsistemas, y algunos subsistemas tolerantes a fallos siguen siendo demasiados caros.

En la mayoria de los an�lisis, que se hacen de un sistema de servicio, si la aplicaci�n puede estar un m�nimo tiempo fuera de servicio, y podemos permitir que el cliente pierda la sesi�n o la conexi�n, temporalmente, la alta disponibilidad es una opci�n muy apropiada. Hay soluciones de alta disponibilidad en las cuales las conexiones se mantienen y las sesiones se recuperan.

Gracias al equipo de desarrollo de linux-ha, en especial a Alan Robertson y a Horms quienes han hecho un trabajo excelente y constante en el �rea de la alta disponibilidad para Linux.

Gracias al grupo SERA, sin el cual este documento no ser�a posible.