Alta disponibilidad para Linux

Juan Pedro Paredes

juampe@retemail.es

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.