Clúster de alta Disponibilidad

of 23/23
CLÚSTER DE ALTA DISPONIBILIDAD
  • date post

    13-Jun-2015
  • Category

    Education

  • view

    792
  • download

    1

Embed Size (px)

Transcript of Clúster de alta Disponibilidad

  • 1. CLSTER DE ALTADISPONIBILIDAD

2. CLSTER DE ALTA DISPONIBILIDAD(HA) Para conseguir redundancia y proteccin contrafallos de un sistema, la primera de las medidas quese suelen tomar es replicar sus componenteshardware ms crticos. Por ejemplo en el caso deun servidor se emplean configuraciones de discosen RAID, fuentes de alimentacin redundantes,varias interfaces de red en bonding, etc. Y el mismoconcepto de redundancia se aplica tambin parael resto de componentes como la electrnica dered o el sistema elctrico. 3. CLSTER DE ALTA DISPONIBILIDAD(HA)Estas medidas indudablemente aumentan el nivel de disponibilidad deun sistema, pero para conseguir un nivel aun mas alto, se suelen utilizarconfiguraciones avanzadas de hardware y software como son losclusters de Alta Disponibilidad.Un Cluster de Alta Disponibilidad es un conjunto de dos o mas servidores,que se caracteriza por compartir el sistema de almacenamiento, y porque estn constantemente monitorizndose entre s. Si se produce unfallo del hardware o de los servicios de alguno de las maquinas queforman el cluster, el software de alta disponibilidad es capaz derearrancar automticamente los servicios que han fallado en cualquierade los otros equipos del cluster. Y cuando el servidor que ha fallado serecupera, los servicios se migran de nuevo a la mquina original.Esta capacidad de los clusters de restablecer en pocos segundos unservicio, manteniendo la integridad de los datos, permite que en muchoscasos los usuarios no tengan por que notar que se ha producido unproblema. Cuando una avera de este tipo, en un sistema sin cluster,podra dejarles sin servicio durante horas. 4. CLSTER DE ALTA DISPONIBILIDAD(HA) En general las razones para implementar un clusterde alta disponibilidad son:* Aumentar la disponibilidad* Mejorar el rendimiento* Escalabilidad* Tolerancia a fallos* Recuperacin ante fallos en tiempo aceptable* Reducir costes* Consolidar servidores* Consolidar el almacenamiento 5. CLSTER DE ALTA DISPONIBILIDAD(HA) 1. Configuraciones de Alta Disponibilidad Las configuraciones mas comunes en entornos declusters de alta disponibilidad son la configuracinactivo/activo y la configuracin activo/pasivo. 6. CONFIGURACIN ACTIVO/ACTIVO -En una configuracin activo/activo, todos los servidores del clusterpueden ejecutar los mismos recursos simultneamente. Es decir, losservidores poseen los mismos recursos y pueden acceder a estosindependientemente de los otros servidores del cluster. Si un nodo delsistema falla y deja de estar disponible, sus recursos siguen estandoaccesibles a travs de los otros servidores del cluster.La ventaja principal de esta configuracin es que los servidores en elcluster son mas eficientes ya que pueden trabajar todos a la vez. Sinembargo, cuando uno de los servidores deja de estar accesible, sucarga de trabajo pasa a los nodos restantes, lo que produce unadegradacin 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 clientesacceden al servicio o recursos deforma transparente y no tienenconocimiento de la existencia de varios servidores formando un cluster. 7. CONFIGURACIN ACTIVO/ACTIVO 8. -CONFIGURACIN ACTIVO/PASIVOUn cluster de alta disponibilidad, en una configuracinactivo/pasivo, consiste en un servidor que posee los recursosdel cluster y otros servidores que son capaces de acceder aesos recursos, pero no los activan hasta que el el propietariode los recursos ya no este disponible.Las ventajas de la configuracin activo/pasivo son que nohay degradacin de servicio y que los servicios solo sereinician cuando el servidor activo deja de responder. Sinembargo, una desventaja de esta configuracin es que losservidores pasivos no proporcionan ningn tipo de recursomientras estn en espera, haciendo que la solucin seamenos eficiente que el cluster de tipo activo/activo. Otradesventaja es que los sistemas tardan un tiempo en migrar losrecursos (failover) al nodo en espera. 9. CONFIGURACIN ACTIVO/PASIVO 10. 2. FUNCIONAMIENTO DE UN CLSTERDE ALTA DISPONIBILIDADEn un cluster de alta disponibilidad, el software decluster realiza dos funciones fundamentales. Por un ladointercomunica entre s todos los nodos, monitorizandocontinuamente su estado y detectando fallos. Y por otrolado administra los servicios ofrecidos por el cluster,teniendo la capacidad de migrar dichos servicios entrediferentes servidores fsicos como respuesta a un fallo. A continuacin se describen los elementos y conceptosbsicos en el funcionamiento del cluster. 11. - RECURSO Y GRUPOS DE RECURSOSTradicionalmente se entiende como servicio a un conjunto deprocesos que se ejecutan en un momento dado sobre unservidor y sistema operativo. Este ltimo provee a los procesosde los recursos necesarios para realizar su tarea: sistema deficheros, 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 diferentesservidores de forma trasparente para la aplicacin o losusuarios.El software de cluster permite definir grupos de recursos, queson todos aquellos recursos necesarios por el servicio. Estosrecursos sern los scripts de arranque del servicio, un sistemade ficheros, una direccin IP, etc. 12. - REINICIAR RECURSOSCuando un recurso falla, la primera medida quetoman las soluciones de cluster es intentar reiniciardicho recurso en el mismo nodo. Lo que suponedetener una aplicacin o liberar un recurso yposteriormente volverlo a activar.Algunas implementaciones no permiten reiniciar unnico recurso, y lo que realizan es un reiniciocompleto de todo un grupo de recursos (servicio).Esto puede llegar a demorar bastante paraservicios como las bases de datos. 13. HEARTBEATEl software de cluster conoce en todo momento ladisponibilidad de los equipos fsicos, gracias a latcnica de heartbeat. El funcionamiento essencillo, cada nodo informa peridicamente de suexistencia enviando al resto una seal de vida. 14. INTERCOMUNICACINEl software de cluster gestiona servicios y recursosen los nodos. Pero adems, tiene que mantenercontinuamente entre estos una visin global de laconfiguracin y estado del cluster. De esta forma,ante el fallo de un nodo, el resto conoce queservicios se deben restablecer.Ya que la comunicacin entre los nodos del clusteres crucial para el funcionamiento de este, eshabitual utilizar un canal especifico como una redIP independiente o una conexin serie, que no sepueda ver afectada por problemas de seguridad orendimiento. 15. ESCENARIO SPLIT-BRAIN - En un escenario split-brain, mas de un servidor oaplicacin pertenecientes a un mismo clusterintentan acceder a los mismos recursos, lo quepuede causar daos a dichos recursos. Esteescenario ocurre cuando cada servidor en elcluster cree que los otros servidores han fallado eintenta activar y utilizar dichos recursos. 16. - MONITORIZACIN DE RECURSOS(RESOURCE MONITORING)Ciertas soluciones de clustering HA permiten no solomonitorizar si un host fsico esta disponible, tambinpueden realizar seguimientos a nivel de recursos oservicios y detectar el fallo de estos.El administrador puede configurar la periodicidadde estos monitores as como las acciones a llevar acabo en caso de fallo. 17. - MIGRACIN DE RECURSOS(FAILOVER)Cuando un nodo ya no esta disponible, o cuandoun recurso fallido no se puede reiniciarsatisfactoriamente en un nodo, el software decluster reacciona migrando el recurso o grupo derecursos a otro nodo disponible en el cluster.De este modo el tiempo de inactividad por elposible fallo es mnimo, y el cluster seguirproporcionando el correspondiente servicio. 18. - Dependencia entre recursosHabitualmente para que el cluster proporcione un servicio, sonnecesarios no solo un recurso si no varios (ip virtual, sistema deficheros, proceso), lo que se conoce como grupo de recursos.Cuando se arranca o detiene un servicio, sus recursos tienen queactivarse en el orden apropiado ya que unos dependen deotros. El software de cluster tiene que permitir definir estasdependencias entre recursos as como entre grupos. - Preferencia de Nodos (Resource Stickiness)En configuraciones de cluster con mltiples nodos, es comndistribuir los servicios a proporcionar entre los diferentesservidores. Adems puede que los servidores tengancaractersticas hardware diferentes (cpu, memoria ram) y nosinterese que, para un estado ideal del cluster, determinadosservicios se ejecuten siempre en un determinado servidor.Este comportamiento se define mediante la preferencia de nodoen la definicin de cada recurso. 19. - Comunicacin con otros sistemasEl cluster tiene que monitorizar no solo que un servidor y sus servicios estn activos, tambindebe de comprobar que, de cara a los usuarios, dicho servidor no queda desconectado de lared por el fallo de un latiguillo, switch, etc.Por lo tanto el software de cluster debe comprobar que los nodos son alcanzables. Un mtodosimple para conseguirlo, es verificar que cada nodo tiene accesible el router o puerta deenlace de la red de usuarios. - FencingEn los clusters HA existe una situacin donde un nodo deja de funcionar correctamente perotodava sigue levantado, accediendo a ciertos recursos y respondiendo peticiones. Para evitarque el nodo corrompa recursos o responda con peticiones, los clusters lo solucionan utilizandouna tcnica llamada Fencing.La funcin principal del Fencing es hacerle saber a dicho nodo que esta funcionando en malestado, retirarle sus recursos asignados para que los atiendan otros nodos, y dejarlo en unestado inactivo. - QuorumPara evitar que se produzca un escenario de Split-Brain, algunas implementaciones de clusterHA introducen un canal de comunicacin adicional que se emplea para determinarexactamente que nodos estn disponibles en el cluster y cuales no. Tradicionalmente seimplementa utilizando los llamados quorum devices, que habitualmente son un volumen dealmacenamiento compartido exclusivo (disk heart beating). Tambin existen implementacionesque utilizan una conexiones de red adicional o una conexin serie. Esta ltima tienelimitaciones de distancia y actualmente ha quedado en desuso. 20. Documentacin:* Blueprints for High Availability Evan Marcus, HalStern Wiley 2003* Clusters for High Availability Peter S. Weygant Prentice Hall 2001* Red Hat Cluster Suite Overview Red Hat Inc. 2008* The SUSE Linux Enterprise Server Heartbeat Guide Novell 2008* Linux-HA Project Documentation www.linux-ha.org