Din�mica HA

Se considera din�mica HA a todas las reconfiguraciones del cl�ster que garanticen la m�xima disponibilidad del servicio de datos. Esta din�mica esta orientada a los nodos integrantes del c�ster y la forma en la cual el cl�ster responde. Se denomina de la siguiente manera:

Failover

Es un t�rmino gen�rico que se usa cuando un nodo debe asumir la responsabilidad de otro nodo, importar sus recursos y levantar el servicio de datos.

Takeover

Es un failover autom�tico se produce cuando un nodo nota un fallo en el servicio de datos. Para ello debe haber cierta monitorizaci�n con respecto al servicio de datos. El nodo que se declara fallido fallido es forzado a ceder el servicio, o simplemente eliminado.

Swichover o Giveaway

Es un failover manual, consiste en ceder los recursos de un servicio de datos y este mismo, a otro nodo del cl�ster, mientras se realizan ciertas tareas administrativas. A este procedimiento se le denomina "Node outage".

Splitbrain

Es un caso especial de failover en el cual falla el mecanismo de comunicacion y gestion del cluster (Entre nodos). Cada nodo cree que es el unico activo y por tanto tomara acciones en consecuencia forzando un takeover.

Esta situaci�n es peligrosa, sobre todo cuando tenemos recursos delicados, como recursos de almacenamiento, ya que cada nodo podria escribir por su cuenta y quebrar a integridad de datos.

Para ello se habilita un recurso qu�rum, dendro de un recurso compartido, que permita a los nodos poner una especie de bandera de propiedad; los demas nodos deberan ceder sus recursos y abandonar el cluster. El qu�rum es utilizado como m�todo de decisi�n; el primero que se apropie de el, se queda con todos los recursos.

Otra forma de evitar esta situacion es que los nodos eliminen a sus compa�eros de cluster directamente apagandolos.

Grupos de recursos de un servicio de datos

Pensando en un servicio de datos cualquiera, se puede pensar en unas serie de recursos que va a utilizar. Por ejemplo, imaginemos un servicio de datos de servicio web como puede ser apache, este va a necesitar un nodo donde va a ser ejecutado (Ciclos de CPU, Memoria), un sistema de ficheros donde guardar toda la informaci�n web y por supuesto una red donde poder responder a las peticiones de servicio. Estos recursos deben atender a cierta flexibilidad, donde la flexibilidad es la capacidad del recurso de ser estatico virtualmente y ser din�mico f�sicamente. A continuaci�n se enumeraran los distintos tipos de servicios de datos que son interesantes en un cluste HA.

Recursos de computacionales

Los recursos computacionales pueden ser considerados a nivel de CPU, nodo o cl�ster. Son los recursos que permiten que el programa que se encarga de ofrecer servicio de datos pueda ser ejecutado. Si tenemos varias CPU, varios nodos o varios cl�sters estos deberan tener una copia del programa del servicio de datos en memoria.

En la HA para Linux este tise considera a nivel de nodo, donde el servicio de datos va a estar situado en un nodo determinado (Como master del servicio). El software de HA es quien decide que nodo va a alojar que servicio de datos dependiendo del estado del cl�ster.

Recursos de comunicaciones

Normalmente el servicio de datos va a ser accedido mediante una red de comunicaciones. Los interfaces de red asi como el stack de protocolos de red, deben ser capaces de responder a varias direcciones de red con el fin de dar flexiblidad al servicio de datos; es decir virtualizar el servicio. En el caso de redes TCP/IP el servicio de datos sera accedido mediante una direcci�n IP y un puerto; para que el servicio de datos pueda residir f�sicamente en cualquier nodo se debe utilizar IP's virtuales (IP aliasing) para que esto sea posible.

Si se utiliza una red Ethernet-TCP/IP y el NIC no es capaz de cambiar la direccion MAC, se puede llegar aun problema con las tablas ARP de los demas elementos de red; ya que se debe obligar a los clientes o routers de la LAN a actualizar la nueva MAC para la IP de servicio.

Recursos de almacenamiento

El almacenamiento de los datos del servicio de datos es quiz�s uno de los puntos mas delicados de el HA. Pues en ellos tendremos la aplicaci�n que se usara para el servicio de datos junto con los datos.

El almacenamiento suele ser el recurso mas complicado de virtualizar en configuraciones clasicas; ya que suele ser un medio SCSI compartido con muchos discos y muchos elementos candidatos a SPOF. En configuraciones hardware mas modernas no hay tanta problem�tica; las arquitecturas SAN (System Area Network) permiten que los recursos de computaci�n accedan por red SAN a los recursos de almacenamiento. Los recursos de almacenamiento suelen ser servidores de archivos en con discos en RAID y backup integrado con interfaz FiberChannel. Al estar en un entorno SAN permite acceder a estos recursos a mas de un nodo de forma muy flexible.

El recurso de almacenamiento adem�s de ser flexible debe ser independiente para las necesidades de cada servicio de datos. Surge el concepto de grupos de volumenes; un grupo de volumenes es un conjunto de volumenes que pertenecen a un servicio de datos en concreto. Cada volumen es un espacio de almacenamiento que el servicio de datos utilizar� para sus prop�sitos con independencia de otros volumenes.

Es vital que el recurso de almacenamiento sea capaz de mantener la integridad de los datos y el tiempo de recuperaci�n ante un fallo sea minimo. Ante estos problemas surge las t�cnicas de journaling para la gesti�n de los datos.