Sunteți pe pagina 1din 14

CLUSTERING En sentido genrico, un cluster es un conjunto de mquinas funcionando como unidad y trabajando juntas para tratar una nica

tarea. Dependiendo del uso que se haga del clster y de los servicios que ste deba ofrecer podemos clasificarlos de la siguiente forma:

Alto rendimiento (HPC High Performance Clusters): En este tipo de clster se ejecutan tareas que requieren de gran capacidad computacional y a veces mucha memoria. El llevar a cabo estas tareas puede comprometer los recursos del cluster por largos periodos de tiempo. Estos son usados generalmente para aplicaciones cientficas Alta disponibilidad (HA High Availability): Son clusters que tratan de brindar la mxima disponibilidad de los servicios que ofrecen. Se provee mediante software que detecta fallos y permite recuperarse frente a los mismos, mientras que en hardware se utilizan sistemas redundantes. Generalmente usados en entornos empresariales donde es estrictamente necesario prestar ciertos servicios de forma ininterrumpida. Alta eficiencia (HT High Throughput): Su objetivo es ejecutar la mayor cantidad de tareas en el menor tiempo posible. Existe independencia de datos entre las tareas individuales. El retardo entre los nodos del cluster no es considerado un gran problema.

CLSTER DE ALTA DISPONIBILIDAD Para conseguir redundancia y proteccin contra fallos de un sistema, la primera de las medidas que se suelen tomar es replicar sus componentes hardware ms crtico. Por ejemplo en el caso de un servidor se emplean configuraciones de discos en RAID, fuentes de alimentacin redundantes, varias interfaces de red en bonding, etc. Y el mismo concepto de redundancia se aplica tambin para el resto de componentes como la electrnica de red o el sistema elctrico. Estas medidas indudablemente aumentan el nivel de disponibilidad de un sistema, pero para conseguir un nivel aun ms alto, se suelen utilizar configuraciones avanzadas de hardware y software como son los clster de Alta Disponibilidad. Un Cluster de Alta Disponibilidad es un conjunto de dos o ms servidores, que se caracteriza por compartir el sistema de almacenamiento, y por qu estn

constantemente monitorizndose entre s. Si se produce un fallo del hardware o de los servicios de alguno de las maquinas que forman el cluster, el software de alta disponibilidad es capaz de rearrancar automticamente los servicios que han fallado en cualquiera de los otros equipos del cluster. Y cuando el servidor que ha fallado se recupera, los servicios se migran de nuevo a la mquina original. Esta capacidad de los clusters de restablecer en pocos segundos un servicio, manteniendo la integridad de los datos, permite que en muchos casos los usuarios no tengan por qu notar que se ha producido un problema. Cuando una avera de este tipo, en un sistema sin cluster, podra dejarles sin servicio durante horas. La utilizacin de clusters no solo es beneficiosa para cadas de servicio no programadas, si no que tambin es til en paradas de sistema programadas como puede ser un mantenimiento hardware o una actualizacin software. En general las razones para implementar un cluster de alta disponibilidad son: * Aumentar la disponibilidad * Mejorar el rendimiento * Tolerancia a fallos * Recuperacin ante fallos en tiempo aceptable * Reducir costes * Consolidar servidores * Consolidar el almacenamiento 1.- Divisin: Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en alguna de las mquinas del cluster, el software de alta disponibilidad es capaz de arrancar automticamente los servicios en cualquiera de las otras mquinas del cluster (failover). Y cuando la mquina que ha fallado se recupera, los servicios son nuevamente migrados a la mquina original (failback). Esta capacidad de recuperacin automtica de servicios nos garantiza la alta disponibilidad de los servicios ofrecidos por el clster, minimizando as la percepcin del fallo por parte de los usuarios.

Alta disponibilidad de aplicacin: Si se produce un fallo del hardware o de las aplicaciones de alguna de las mquinas del cluster, el software de alta disponibilidad es capaz de arrancar automticamente los servicios que han fallado en cualquiera de las otras mquinas del cluster. Y cuando la mquina que ha fallado se recupera, los servicios son nuevamente migrados a la mquina original. Esta capacidad de recuperacin automtica de servicios nos garantiza la integridad de la informacin, ya que no hay prdida de datos, y adems evita molestias a los usuarios, que no tienen por qu notar que se ha producido un problema. 2. Configuraciones de Alta Disponibilidad Las configuraciones ms comunes en entornos de clusters de alta disponibilidad son la configuracin activo/activo y la configuracin activo/pasivo. - Configuracin Activo/Activo En una configuracin activo/activo, todos los servidores del cluster pueden ejecutar los mismos recursos simultneamente. Es decir, los servidores poseen los mismos recursos y pueden acceder a estos independientemente de los otros servidores del cluster. Si un nodo del sistema falla y deja de estar disponible, sus recursos siguen estando accesibles a travs de los otros servidores del cluster. La ventaja principal de esta configuracin es que los servidores en el cluster son ms eficientes ya que pueden trabajar todos a la vez. Sin embargo, cuando uno de los servidores deja de estar accesible, su carga de trabajo pasa a los nodos restantes, lo que produce una degradacin del nivel global de servicio ofrecido a los usuarios. En la siguiente figura se muestra como ambos servidores estn activos, proporcionando un mismo servicio a los diferentes usuarios. Los clientes acceden al servicio o recursos deforma transparente y no tienen conocimiento de la existencia de varios servidores formando un cluster.

- Configuracin Activo/Pasivo Un cluster de alta disponibilidad, en una configuracin activo/pasivo, consiste en un servidor que posee los recursos del cluster y otros servidores que son capaces de acceder a esos recursos, pero no los activan hasta que el el propietario de los recursos ya no este disponible. Las ventajas de la configuracin activo/pasivo son que no hay degradacin de servicio y que los servicios solo se reinician cuando el servidor activo deja de responder. Sin embargo, una desventaja de esta configuracin es que los servidores pasivos no proporcionan ningn tipo de recurso mientras estn en espera, haciendo que la solucin sea menos eficiente que el cluster de tipo activo/activo. Otra desventaja es que los sistemas tardan un tiempo en migrar los recursos (failover) al nodo en espera.

3. Funcionamiento de un cluster de alta disponibilidad En un cluster de alta disponibilidad, el software de cluster realiza dos funciones fundamentales. Por un lado intercomunica entre s todos los nodos, monitorizando continuamente su estado y detectando fallos. Y por otro lado administra los servicios ofrecidos por el cluster, teniendo la capacidad de migrar dichos servicios entre diferentes servidores fsicos como respuesta a un fallo. A continuacin se describen los elementos y conceptos bsicos en el funcionamiento del cluster. - Recurso y Grupos de Recursos Tradicionalmente se entiende como servicio a un conjunto de procesos que se ejecutan en un momento dado sobre un servidor y sistema operativo. Este ltimo provee a los procesos de los recursos necesarios para realizar su tarea: sistema de ficheros, interfaces de red, tiempo de cpu, memoria, etc. En un cluster de alta disponibilidad, el software de cluster, abstrae e independiza a los servicios de un host concreto. Posibilitando que estos se desplacen entre diferentes servidores de forma trasparente para la aplicacin o los usuarios. El software de cluster permite definir grupos de recursos, que son todos aquellos recursos necesarios por el servicio. Estos recursos sern los scripts de arranque del servicio, un sistema de ficheros, una direccin IP, etc.

- Intercomunicacin El software de cluster gestiona servicios y recursos en los nodos. Pero adems, tiene que mantener continuamente entre estos una visin global de la

configuracin y estado del cluster. De esta forma, ante el fallo de un nodo, el resto conoce que servicios se deben restablecer. Ya que la comunicacin entre los nodos del cluster es crucial para el funcionamiento de este, es habitual utilizar un canal especifico como una red IP independiente o una conexin serie, que no se pueda ver afectada por problemas de seguridad o rendimiento. - Heartbeat El software de cluster conoce en todo momento la disponibilidad de los equipos fsicos, gracias a la tcnica de heartbeat. El funcionamiento es sencillo, cada nodo informa peridicamente de su existencia enviando al resto una seal de vida. - Escenario Split-Brain En un escenario split-brain, mas de un servidor o aplicacin pertenecientes a un mismo cluster intentan acceder a los mismos recursos, lo que puede causar daos a dichos recursos. Este escenario ocurre cuando cada servidor en el cluster cree que los otros servidores han fallado e intenta activar y utilizar dichos recursos. - Monitorizacin de Recursos (Resource Monitoring) Ciertas soluciones de clustering HA permiten no solo monitorizar si un host fsico esta disponible, tambin pueden realizar seguimientos a nivel de recursos o servicios y detectar el fallo de estos. El administrador puede configurar la periodicidad de estos monitores as como las acciones a llevar a cabo en caso de fallo. - Reiniciar Recursos Cuando un recurso falla, la primera medida que toman las soluciones de cluster es intentar reiniciar dicho recurso en el mismo nodo. Lo que supone detener una aplicacin o liberar un recurso y posteriormente volverlo a activar. Algunas implementaciones no permiten reiniciar un nico recurso, y lo que realizan es un reinicio completo de todo un grupo de recursos (servicio). Esto puede llegar a demorar bastante para servicios como las bases de datos. - Migracin de Recursos (Failover) Cuando un nodo ya no esta disponible, o cuando un recurso fallido no se puede reiniciar satisfactoriamente en un nodo, el software de cluster reacciona migrando el recurso o grupo de recursos a otro nodo disponible en el cluster. De este modo el tiempo de inactividad por el posible fallo es mnimo, y el cluster seguir proporcionando el correspondiente servicio.

- Dependencia entre recursos Habitualmente para que el cluster proporcione un servicio, son necesarios no solo un recurso si no varios (ip virtual, sistema de ficheros, proceso), lo que se conoce como grupo de recursos. Cuando se arranca o detiene un servicio, sus recursos tienen que activarse en el orden apropiado ya que unos dependen de otros. El software de cluster tiene que permitir definir estas dependencias entre recursos as como entre grupos. - Preferencia de Nodos (Resource Stickiness) En configuraciones de cluster con mltiples nodos, es comn distribuir los servicios a proporcionar entre los diferentes servidores. Adems puede que los servidores tengan caractersticas hardware diferentes (cpu, memoria ram) y nos interese que, para un estado ideal del cluster, determinados servicios se ejecuten siempre en un determinado servidor. Este comportamiento se define mediante la preferencia de nodo en la definicin de cada recurso. - Comunicacin con otros sistemas El cluster tiene que monitorizar no solo que un servidor y sus servicios estn activos, tambin debe de comprobar que, de cara a los usuarios, dicho servidor no queda desconectado de la red por el fallo de un latiguillo, switch, etc. Por lo tanto el software de cluster debe comprobar que los nodos son alcanzables. Un mtodo simple para conseguirlo, es verificar que cada nodo tiene accesible el router o puerta de enlace de la red de usuarios.

- Fencing En los clusters HA existe una situacin donde un nodo deja de funcionar correctamente pero todava sigue levantado, accediendo a ciertos recursos y respondiendo peticiones. Para evitar que el nodo corrompa recursos o responda con peticiones, los clusters lo solucionan utilizando una tcnica llamada Fencing. La funcin principal del Fencing es hacerle saber a dicho nodo que esta funcionando en mal estado, retirarle sus recursos asignados para que los atiendan otros nodos, y dejarlo en un estado inactivo. - Quorum Para evitar que se produzca un escenario de Split-Brain, algunas implementaciones de cluster HA introducen un canal de comunicacin adicional que se emplea para determinar exactamente que nodos estn disponibles en el cluster y cuales no. Tradicionalmente se implementa utilizando los llamados quorum devices, que habitualmente son un volumen de almacenamiento compartido exclusivo (disk heart beating). Tambin existen implementaciones que utilizan una conexiones de red adicional o una conexin serie. Esta ltima tiene limitaciones de distancia y actualmente ha quedado en desuso.

4.-TECNICAS DE CLUSTER DE ALTA DISPONIBILIDAD Con el objetivo de garantizar una alta disponibilidad a nuestras aplicaciones, podemos utilizar una combinacin de tcnicas. Actualmente existen principalmente cuatro tcnicas de hacer que las aplicaciones ejecutndose en nuestras mquinas virtuales estn siempre disponibles:

Clusters de Host fsicos. Clusters Guest Failover.

Clusters Network Load Balancing (NLB). Mquinas virtuales tolerantes a fallos.

Cada una de estas opciones puede dar a nuestras mquinas virtuales un nivel especfico de disponibilidad. La importancia de que una determinada aplicacin est siempre funcionando marcar el mtodo a escoger. Utilizar una configuracin en cluster de alta disponibilidad (HA) nos permite poder tratar potenciales incidencias en nuestro entorno: Protegemos el sistema de fallos en los Hosts fsicos: en la mayora de los sistemas de alta disponibilidad, cuando un Host falla las mquinas virtuales que ejecuta son migradas a otros Hosts (incurriendo en prdida de servicio durante el reinicio de la mquina virtual); o las aplicaciones que se ejecutan dentro de una mquina virtual son movidas a otras mquinas virtuales (resultando en una menor prdida de servicio). Tambin nos podemos proteger contra prdidas de servicio utilizando tcnicas como la tolerancia a fallos. Por ejemplo VMware tiene el producto VMware Fault Tolerance que nos permite tener una mquina virtual imagen protegindonos frente a corrupcin de datos y prdidas de servicio. Podemos seguir ejecutando aplicaciones durante perodos de mantenimiento de los Host fsicos: las mquinas virtuales sern migradas a los otros Hosts disponibles en el cluster evitando prdidas de servicio. Dinmicamente podemos mover las cargas de trabajo de una mquina a otra: nos aseguramos de que las aplicaciones se ejecutan con un rendimiento ptimo. Qu estrategia HA es mejor? La importancia de la aplicacin para la empresa determinar qu mtodo deberemos utilizar. Como mnimo deberemos configurar un cluster HA entre los Host fsicos.

Un cluster HA nos permitir obtener dos niveles de continuidad de servicio:

Ejecucin no-continua de mquinas virtuales. Si un Host falla, todas las mquinas que est ejecutando sern transferidas a otros hosts reinicindose automticamente.

Ejecucin contina de mquinas virtuales durante operaciones de mantenimiento. Podemos transferir las mquinas a otros hosts disponibles sin prdida de servicio.

Single-Site y Multi-Site Clusters Los clusters single-site se basan en la utilizacin de almacenamiento compartido. Por ejemplo, VMware utiliza dos tecnologas para construir un cluster de alta disponibilidad: HA y su sistema de ficheros VMFS (sistema de ficheros que permite a mltiples hosts fsicos conectarse al mismo contenedor de almacenamiento). VMFS requiere un sistema de almacenamiento SAN (iSCSI o Fiber Channel) o NFS. Los clusters VMware pueden soportar hasta 32 nodos. Los sistemas Citrix tambin utilizan un sistema de almacenamiento compartido y pools de recursos. A diferencia de otros sistemas que se basan en un sistema de base de datos para gestionar la alta disponibilidad, cada Host Citrix XenServer

almacena su propia copia de la configuracin de pool de recursos. De este modo se elimina un potencial punto de fallo. Al igual que VMware, los clusters Citrix soportan hasta 32 nodos. Por ltimo, Microsoft Hyper-V utiliza la tecnologa Windows Server 2008 Failover Clustering para crear clusters HA. Los cluster Hyper-V single-site requieren un sistema de almacenamiento compartido y soportan hasta 16 nodos. Hyper-V tambin soporta clusters multi-site que abarcan ms de una localizacin fsica. De este modo podemos hacer frente a desastres que afecten a uno de nuestros centros de datos. Para dar soporte a clusters multi-site, Hyper-V soporta tecnologas DAS (no requiere almacenamiento compartido) que deben ser sincronizadas mediante herramientas de replicacin. En todos estos sistemas, cuando un cluster detecta que un nodo falla de manera completa, el servicio de cluster mueve las mquinas virtuales a otros nodos disponibles. A diferencia de una migracin en vivo entre nodos, este proceso de migracin reinicia la mquina virtual en el nuevo nodo, incurriendo en una prdida de servicio. Hay que recordar que se deben tener recursos disponibles en cada Host fsico del cluster para soportar el movimiento de mquinas virtuales. Por ejemplo, VMware muestra un mensaje de error si los recursos disponibles no son suficientes.

Clusters tolerantes a fallos Como hemos comentado, un cluster a nivel de Host no incluye a las aplicaciones que se estn ejecutando en las mquinas virtuales. Por lo tanto, no se asegura que la aplicacin se ejecute en caso de que un Host falle. Algunas aplicaciones como Microsoft Exchange no se comportan adecuadamente bajo este modelo y pueden incurrir en prdidas de datos cuando tiene lugar una transferencia entre Hosts. Para este tipo de aplicaciones tenemos que pensar en construir clusters de alta disponibilidad a nivel de mquina virtual. De este modo aseguraremos la disponibilidad y estabilidad de nuestras aplicaciones en caso de fallo fsico o de aplicacin. Estos clusters tolerantes a fallos trabajan slo para cargas de trabajo stateful. Para cargas de trabajo stateless tendremos que utilizar clusters NLB, tambin soportado a nivel de capa de mquina virtual. Para construir este tipo de soluciones, tendremos que preparar complejas configuraciones a nivel de mquina virtual (ver imagen inferior un ejemplo). A diferencia de otros fabricantes, VMware dispone del producto Fault Tolerance. Gracias a este producto creamos imgenes en vivo de mquinas virtuales que se sincronizan continuamente permitindonos obtener de manera sencilla alta disponibilidad a todos los niveles.

5. Relacin de los planes de continuidad de negocio y planes de recuperacin de desastres. Existen diferentes componentes para recuperar la informacin frente a desastres, entre estos se encuentran los diferentes servidores tolerantes a fallos como clster.El clster de alta disponibilidad ayuda a tener la informacin disponible cuando existe algn desastre y ayuda a continuar el negocio gracias a los fallos encontrados y la migracin a otro servidor.

Referencias http://planocomplejo.com.ar/cms/index.php?option=com_content&view=article&id= 52:clusters&catid=44:articulos&Itemid=57 http://es.wikipedia.org/wiki/Cl%C3%BAster_de_alta_disponibilidad

http://www.lintips.com/?q=node/119

S-ar putea să vă placă și