SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Seguridad y Alta Disponibilidad:
          Clústers HA




                       Jesús Moreno León

                       jesus.moreno.edu@
                       juntadeandalucia.es

                          Febrero 2013
Estas diapositivas son una obra derivada del artículo
“Creación de un Clúster de Alta Disponibilidad con software libre”
      publicado por Miguel Vidal y José Castro en el número 209
       (enero-febrero 2011) de la revista Novática, disponible en:
             http://www.ati.es/novatica/2011/209/Nv209-75.pdf

                            © Jesús Moreno León, Febrero 2013

                                      Algunos derechos reservados.
                         Este artículo se distribuye bajo la licencia
        “Reconocimiento-CompartirIgual 3.0 España" de Creative
                                           Commons, disponible en
        http://creativecommons.org/licenses/by-sa/3.0/es/deed.es

                              Este documento (o uno muy similar)
                             está disponible en (o enlazado desde)
                            http://informatica.gonzalonazareno.org
¿Qué es un Clúster de Alta Disponibilidad?

Un clúster HA (High Availability) es un sistema orientado a
ofrecer y garantizar servicios en Alta Disponibilidad, es decir,
con un alto grado de fiabilidad y de continuidad operativa.
Se basa en máquinas redundantes (o nodos) que asumen el
servicio cuando algún componente del sistema falla.
Un clúster HA debe ser capaz de detectar cualquier fallo de
hardware o de software, reiniciar la aplicación en otro nodo y
mantener el servicio sin intervención de operador alguno,
garantizando la integridad de los datos del clúster.
¿Qué es un Clúster de Alta Disponibilidad?

El propósito de los clusters HA
es eliminar los Puntos Únicos
de Fallo (Single Point of
Failure,SPoF), mediante
redundancia a todos los
niveles:
●
    Hardware
●
    Almacenamiento
●
    Conexiones de red
●
    ...

          Fuente: http://en.wikipedia.org/wiki/High-availability_cluster
¿Qué es un Clúster de Alta Disponibilidad?

Para mantener la redundancia, la integridad y el control del
clúster sobre los recursos es fundamental no realizar acciones
sobre los nodos que no puedan ser replicadas, pues podrían
crearse inconsistencias. Toda modificación de la configuración
de los recursos debe hacerse mediante los agentes de recurso
del propio clúster.
Los Clústers HA son muy utilizados en bases de datos críticas,
sistemas de ficheros compartidos en red, aplicaciones de
negocio o servicios de clientes como sitios web de comercio
electrónico.
Tipos de configuración
 El tamaño más habitual de un clúster HA es de dos nodos, ya
 que es el mínimo exigido para disponer de redundancia. Las dos
 configuraciones más comunes en los clusters de dos nodos son:




  ●   Aprovecha mucho mejor los recursos         ●   Configuración más sencilla
      físicos.
  ●   Permite repartir mejor la carga entre
      los nodos.
Fuente: http://ral-arturo.blogspot.com.es/2011/04/aproximacion-al-clustering-de-alta.html
Conceptos básicos

●
    Failover: capacidad de recuperarse de un fallo desplegando
    los servicios en otro nodo. "Clusters HA" = "failover clusters"
●
    Heartbeat: pulso o "latido" mediante el cual se mantiene la
    comunicación entre los nodos del clúster. Si el nodo activo no
    responde al latido, el nodo pasivo toma el control y despliega
    de inmediato los servicios replicados.
    ●
        Por lo general, se implementa mediante una conexión de red
        privada (dedicada) entre los nodos.
    ●
        Debe ofrecer una infraestructura de comunicación del clúster
        completa y criptográficamente segura.
Conceptos básicos

●
    Split-brain: se produce cuando los enlaces de red que unen a
    los nodos entre sí caen, pero los nodos siguen operando. Se
    dice entonces que el clúster se ha "partido". Puede causar
    corrupción de datos en sistemas de almacenamiento
    compartido.
●
    Quorum: es un mecanismo para prevenir el split-brain. Se
    asigna un voto a cada nodo y se le permite operar si obtiene
    mayoría de votos. Con un clúster de dos nodos, la mayoría
    son dos votos, por lo que no es posible activar el quorum.
Conceptos básicos

●
    STONITH: "Shoot The Other Node In The Head ". Es un
    método automático de recuperación para desbloquear un
    nodo rápidamente, evitando que un administrador deba
    realizar la operación de forma manual.
    ●
        UtiIiza IPMI para el envío de mensajes.
    ●   El agente de recurso STONISH debe correr de forma obligatoria
        en el nodo contrario, para evitar que un nodo pueda llegar a
        "dispararse" a sí mismo.
Linux-HA

Linux-HA es una de las soluciones libres que permite
implementar un clúster HA.




Está formado por diversos componentes, entre los que destacan:
   ●
       Heartbeat: proporciona los servicios de comunicación y
       membresía del clúster. Corosync.
   ●   CRM (Cluster Resource Manager): se encarga de iniciar o
       detener los recursos a los que queremos dotar de alta
       disponibilidad. Pacemaker.
Práctica 1

●
    Sencillo cluster de alta disponibilidad con Linux-HA
    ●
        Configurar un cluster de alta disponibilidad activo/pasivo en el
        que uno de los dos equipos pueda responder siempre a la
        dirección IP que se pretende mantener en alta disponibilidad.
    ●
        Esta situación no es totalmente real, ya que lo lógico es que
        esos equipos estén ofreciendo algún servicio que se quiera
        mantener en alta disponibilidad (ldap, http, https, etc.)
    ●
        Sin embargo es muy útil para comprender el funcionamiento
        del software de HA (pacemaker y corosync) sin las
        configuraciones adicionales necesarias para ofrecer los
        servicios en HA
    ●
        Guía
Práctica 2

●
    Replicación de MySQL
    ●
        Instalación de MySQL a partir de los binarios de MySQL
    ●
        Configuración de los nodos
    ●
        Configuración de la replicación MySQL en modo master-slave
    ●
        Configuración de la replicación MySQL en modo master-master
    ●
        Errores comunes
    ●   Guía
Práctica 3

●
    Balanceadores: ldirectord vs haproxy
    ●
        Estudio, comparación y configuración de dos soluciones
        sofware para Linux: ldirectord y haproxy
    ●
        Uso y funcionamiento de los balanceadores
    ●
        Diferencias entre un balanceador proxy (haproxy) y uno que no
        lo es (ldirectord)
    ●
        Configuraciones y pruebas básicas de ldirectord en modo NAT
    ●
        Configuración y pruebas básicas de haproxy
    ●
        Guía
Práctica 4

●
    Cluster Apache + PHP + Memcached
    ●
        Aplicaciones de un cluster: failover y balanceo
    ●
        Instalación del servidor Apache con PHP
    ●
        Replicación de ficheros mediante rsync
    ●
        Nociones sobre otros sistemas de replicación más sofisticados
    ●
        Replicación de sesiones con rsync y con memcached
    ●   Guía

Mais conteúdo relacionado

Mais procurados

Understanding nas (network attached storage)
Understanding nas (network attached storage)Understanding nas (network attached storage)
Understanding nas (network attached storage)
sagaroceanic11
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
drianda
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativo
Paulo Galarza
 
Servicios del servidor
Servicios del servidorServicios del servidor
Servicios del servidor
Jenny Ospina
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
carlosmax10
 

Mais procurados (20)

Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidos
 
Understanding nas (network attached storage)
Understanding nas (network attached storage)Understanding nas (network attached storage)
Understanding nas (network attached storage)
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Conhecendo Apache Cassandra @Movile
Conhecendo Apache Cassandra  @MovileConhecendo Apache Cassandra  @Movile
Conhecendo Apache Cassandra @Movile
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativo
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Estructura fisica y logica de active directory
Estructura fisica y logica de active directoryEstructura fisica y logica de active directory
Estructura fisica y logica de active directory
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Kubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with PodmanKubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with Podman
 
Storage Virtualization
Storage VirtualizationStorage Virtualization
Storage Virtualization
 
Servicios del servidor
Servicios del servidorServicios del servidor
Servicios del servidor
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Representacion del conocimiento
Representacion del conocimientoRepresentacion del conocimiento
Representacion del conocimiento
 
Software defined storage
Software defined storageSoftware defined storage
Software defined storage
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 
Conjunto residente
Conjunto residenteConjunto residente
Conjunto residente
 

Destaque

Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
jo_unwell
 
Comunicación en gobierno abierto
Comunicación en gobierno abiertoComunicación en gobierno abierto
Comunicación en gobierno abierto
Antoni
 
Dispositivos activos y pasivos redes
Dispositivos activos y pasivos redesDispositivos activos y pasivos redes
Dispositivos activos y pasivos redes
Jûän Êztêbânn R
 

Destaque (10)

Sad tema2 pen_test_iii
Sad tema2 pen_test_iiiSad tema2 pen_test_iii
Sad tema2 pen_test_iii
 
Reutilización de la información pública en el ámbito local
Reutilización de la información pública en el ámbito localReutilización de la información pública en el ámbito local
Reutilización de la información pública en el ámbito local
 
Sad tema2 pen_test_ii
Sad tema2 pen_test_iiSad tema2 pen_test_ii
Sad tema2 pen_test_ii
 
Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
 
Cableado estructurado
Cableado estructuradoCableado estructurado
Cableado estructurado
 
Comunicación en gobierno abierto
Comunicación en gobierno abiertoComunicación en gobierno abierto
Comunicación en gobierno abierto
 
Dispositivos Activos y Pasivos - Cableado Estructurado
Dispositivos Activos y Pasivos - Cableado EstructuradoDispositivos Activos y Pasivos - Cableado Estructurado
Dispositivos Activos y Pasivos - Cableado Estructurado
 
Dispositivos activos y pasivos redes
Dispositivos activos y pasivos redesDispositivos activos y pasivos redes
Dispositivos activos y pasivos redes
 

Semelhante a Clústers Alta Disponibilidad

Manual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster KnoppixManual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster Knoppix
andres
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladores
sergiovier
 
Sistemas_ operativos
Sistemas_ operativosSistemas_ operativos
Sistemas_ operativos
dobby74
 

Semelhante a Clústers Alta Disponibilidad (20)

MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADAMONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
MONTAJE DE INFRAESTRUCTURA DE MÁQUINAS EN ALTA DISPONIBILIDAD VIRTUALIZADA
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeat
 
Manual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster KnoppixManual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster Knoppix
 
Cluster
ClusterCluster
Cluster
 
Conceptos de clustering
Conceptos de clusteringConceptos de clustering
Conceptos de clustering
 
Clusters de alta disponibilidad lvs
Clusters de alta disponibilidad lvsClusters de alta disponibilidad lvs
Clusters de alta disponibilidad lvs
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sql
 
Docker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidadDocker y Kubernetes, en busca de la alta disponibilidad
Docker y Kubernetes, en busca de la alta disponibilidad
 
Alta disponibilidad en clusteres asterisk
Alta disponibilidad en clusteres asterisk Alta disponibilidad en clusteres asterisk
Alta disponibilidad en clusteres asterisk
 
Red Hat Cluster
Red Hat ClusterRed Hat Cluster
Red Hat Cluster
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladores
 
Sistemas operativos
Sistemas  operativosSistemas  operativos
Sistemas operativos
 
Atix26
Atix26Atix26
Atix26
 
Trabajo Clusters
Trabajo ClustersTrabajo Clusters
Trabajo Clusters
 
Sistemas_ operativos
Sistemas_ operativosSistemas_ operativos
Sistemas_ operativos
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Clusters
ClustersClusters
Clusters
 
Clúster
ClústerClúster
Clúster
 
sistemas distribuidos 4
sistemas distribuidos 4sistemas distribuidos 4
sistemas distribuidos 4
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 

Mais de Jesús Moreno León

On the development of computational thinking skills in schools through comput...
On the development of computational thinking skills in schools through comput...On the development of computational thinking skills in schools through comput...
On the development of computational thinking skills in schools through comput...
Jesús Moreno León
 

Mais de Jesús Moreno León (20)

Pensamiento computacional e inteligencia artificial en la educación
Pensamiento computacional e inteligencia artificial en la educaciónPensamiento computacional e inteligencia artificial en la educación
Pensamiento computacional e inteligencia artificial en la educación
 
Investigación sobre el desarrollo del pensamiento computacional en la escuela
Investigación sobre el desarrollo del pensamiento computacional en la escuelaInvestigación sobre el desarrollo del pensamiento computacional en la escuela
Investigación sobre el desarrollo del pensamiento computacional en la escuela
 
Tecnología educativa en infantil
Tecnología educativa en infantilTecnología educativa en infantil
Tecnología educativa en infantil
 
Programación y robótica en la escuela. ¿Un juego de niños pasajero?
Programación y robótica en la escuela. ¿Un juego de niños pasajero?Programación y robótica en la escuela. ¿Un juego de niños pasajero?
Programación y robótica en la escuela. ¿Un juego de niños pasajero?
 
On the development of computational thinking skills in schools through comput...
On the development of computational thinking skills in schools through comput...On the development of computational thinking skills in schools through comput...
On the development of computational thinking skills in schools through comput...
 
Assessing computational thinking with tools in the classroom
Assessing computational thinking with tools in the classroomAssessing computational thinking with tools in the classroom
Assessing computational thinking with tools in the classroom
 
On the quest for assessing computational thinking
On the quest for assessing computational thinkingOn the quest for assessing computational thinking
On the quest for assessing computational thinking
 
Can we Measure Computational Thinking with Tools? Present and Future of Dr. S...
Can we Measure Computational Thinking with Tools? Present and Future of Dr. S...Can we Measure Computational Thinking with Tools? Present and Future of Dr. S...
Can we Measure Computational Thinking with Tools? Present and Future of Dr. S...
 
El repositorio de proyectos Scratch. Nuevas oportunidades de investigación y ...
El repositorio de proyectos Scratch. Nuevas oportunidades de investigación y ...El repositorio de proyectos Scratch. Nuevas oportunidades de investigación y ...
El repositorio de proyectos Scratch. Nuevas oportunidades de investigación y ...
 
Code to learn in k-12?
Code to learn in k-12?Code to learn in k-12?
Code to learn in k-12?
 
How social are Scratch learners? A comprehensive analysis of the Scratch plat...
How social are Scratch learners? A comprehensive analysis of the Scratch plat...How social are Scratch learners? A comprehensive analysis of the Scratch plat...
How social are Scratch learners? A comprehensive analysis of the Scratch plat...
 
Code to Learn with Scratch? A systematic literature review
Code to Learn with Scratch? A systematic literature reviewCode to Learn with Scratch? A systematic literature review
Code to Learn with Scratch? A systematic literature review
 
La programación informática como vía de emprendimiento. Programamos.
La programación informática como vía de emprendimiento. Programamos.La programación informática como vía de emprendimiento. Programamos.
La programación informática como vía de emprendimiento. Programamos.
 
Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
Dr. Scratch, una herramienta de asistencia al docente en la evaluación de pro...
 
Developing Mathematical Thinking with Scratch: An Experiment with 6th Grade S...
Developing Mathematical Thinking with Scratch: An Experiment with 6th Grade S...Developing Mathematical Thinking with Scratch: An Experiment with 6th Grade S...
Developing Mathematical Thinking with Scratch: An Experiment with 6th Grade S...
 
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
 
La programación informática y el desarrollo del pensamiento computacional en ...
La programación informática y el desarrollo del pensamiento computacional en ...La programación informática y el desarrollo del pensamiento computacional en ...
La programación informática y el desarrollo del pensamiento computacional en ...
 
Dr. Scratch, Análisis de proyectos Scratch para medir el desarrollo del a Pen...
Dr. Scratch, Análisis de proyectos Scratch para medir el desarrollo del a Pen...Dr. Scratch, Análisis de proyectos Scratch para medir el desarrollo del a Pen...
Dr. Scratch, Análisis de proyectos Scratch para medir el desarrollo del a Pen...
 
The Europe Code Week (CodeEU) initiative
The Europe Code Week (CodeEU) initiativeThe Europe Code Week (CodeEU) initiative
The Europe Code Week (CodeEU) initiative
 
Computer Programming as an Educational Tool in the English Classroom: a preli...
Computer Programming as an Educational Tool in the English Classroom: a preli...Computer Programming as an Educational Tool in the English Classroom: a preli...
Computer Programming as an Educational Tool in the English Classroom: a preli...
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Clústers Alta Disponibilidad

  • 1. Seguridad y Alta Disponibilidad: Clústers HA Jesús Moreno León jesus.moreno.edu@ juntadeandalucia.es Febrero 2013
  • 2. Estas diapositivas son una obra derivada del artículo “Creación de un Clúster de Alta Disponibilidad con software libre” publicado por Miguel Vidal y José Castro en el número 209 (enero-febrero 2011) de la revista Novática, disponible en: http://www.ati.es/novatica/2011/209/Nv209-75.pdf © Jesús Moreno León, Febrero 2013 Algunos derechos reservados. Este artículo se distribuye bajo la licencia “Reconocimiento-CompartirIgual 3.0 España" de Creative Commons, disponible en http://creativecommons.org/licenses/by-sa/3.0/es/deed.es Este documento (o uno muy similar) está disponible en (o enlazado desde) http://informatica.gonzalonazareno.org
  • 3. ¿Qué es un Clúster de Alta Disponibilidad? Un clúster HA (High Availability) es un sistema orientado a ofrecer y garantizar servicios en Alta Disponibilidad, es decir, con un alto grado de fiabilidad y de continuidad operativa. Se basa en máquinas redundantes (o nodos) que asumen el servicio cuando algún componente del sistema falla. Un clúster HA debe ser capaz de detectar cualquier fallo de hardware o de software, reiniciar la aplicación en otro nodo y mantener el servicio sin intervención de operador alguno, garantizando la integridad de los datos del clúster.
  • 4. ¿Qué es un Clúster de Alta Disponibilidad? El propósito de los clusters HA es eliminar los Puntos Únicos de Fallo (Single Point of Failure,SPoF), mediante redundancia a todos los niveles: ● Hardware ● Almacenamiento ● Conexiones de red ● ... Fuente: http://en.wikipedia.org/wiki/High-availability_cluster
  • 5. ¿Qué es un Clúster de Alta Disponibilidad? Para mantener la redundancia, la integridad y el control del clúster sobre los recursos es fundamental no realizar acciones sobre los nodos que no puedan ser replicadas, pues podrían crearse inconsistencias. Toda modificación de la configuración de los recursos debe hacerse mediante los agentes de recurso del propio clúster. Los Clústers HA son muy utilizados en bases de datos críticas, sistemas de ficheros compartidos en red, aplicaciones de negocio o servicios de clientes como sitios web de comercio electrónico.
  • 6. Tipos de configuración El tamaño más habitual de un clúster HA es de dos nodos, ya que es el mínimo exigido para disponer de redundancia. Las dos configuraciones más comunes en los clusters de dos nodos son: ● Aprovecha mucho mejor los recursos ● Configuración más sencilla físicos. ● Permite repartir mejor la carga entre los nodos. Fuente: http://ral-arturo.blogspot.com.es/2011/04/aproximacion-al-clustering-de-alta.html
  • 7. Conceptos básicos ● Failover: capacidad de recuperarse de un fallo desplegando los servicios en otro nodo. "Clusters HA" = "failover clusters" ● Heartbeat: pulso o "latido" mediante el cual se mantiene la comunicación entre los nodos del clúster. Si el nodo activo no responde al latido, el nodo pasivo toma el control y despliega de inmediato los servicios replicados. ● Por lo general, se implementa mediante una conexión de red privada (dedicada) entre los nodos. ● Debe ofrecer una infraestructura de comunicación del clúster completa y criptográficamente segura.
  • 8. Conceptos básicos ● Split-brain: se produce cuando los enlaces de red que unen a los nodos entre sí caen, pero los nodos siguen operando. Se dice entonces que el clúster se ha "partido". Puede causar corrupción de datos en sistemas de almacenamiento compartido. ● Quorum: es un mecanismo para prevenir el split-brain. Se asigna un voto a cada nodo y se le permite operar si obtiene mayoría de votos. Con un clúster de dos nodos, la mayoría son dos votos, por lo que no es posible activar el quorum.
  • 9. Conceptos básicos ● STONITH: "Shoot The Other Node In The Head ". Es un método automático de recuperación para desbloquear un nodo rápidamente, evitando que un administrador deba realizar la operación de forma manual. ● UtiIiza IPMI para el envío de mensajes. ● El agente de recurso STONISH debe correr de forma obligatoria en el nodo contrario, para evitar que un nodo pueda llegar a "dispararse" a sí mismo.
  • 10. Linux-HA Linux-HA es una de las soluciones libres que permite implementar un clúster HA. Está formado por diversos componentes, entre los que destacan: ● Heartbeat: proporciona los servicios de comunicación y membresía del clúster. Corosync. ● CRM (Cluster Resource Manager): se encarga de iniciar o detener los recursos a los que queremos dotar de alta disponibilidad. Pacemaker.
  • 11. Práctica 1 ● Sencillo cluster de alta disponibilidad con Linux-HA ● Configurar un cluster de alta disponibilidad activo/pasivo en el que uno de los dos equipos pueda responder siempre a la dirección IP que se pretende mantener en alta disponibilidad. ● Esta situación no es totalmente real, ya que lo lógico es que esos equipos estén ofreciendo algún servicio que se quiera mantener en alta disponibilidad (ldap, http, https, etc.) ● Sin embargo es muy útil para comprender el funcionamiento del software de HA (pacemaker y corosync) sin las configuraciones adicionales necesarias para ofrecer los servicios en HA ● Guía
  • 12. Práctica 2 ● Replicación de MySQL ● Instalación de MySQL a partir de los binarios de MySQL ● Configuración de los nodos ● Configuración de la replicación MySQL en modo master-slave ● Configuración de la replicación MySQL en modo master-master ● Errores comunes ● Guía
  • 13. Práctica 3 ● Balanceadores: ldirectord vs haproxy ● Estudio, comparación y configuración de dos soluciones sofware para Linux: ldirectord y haproxy ● Uso y funcionamiento de los balanceadores ● Diferencias entre un balanceador proxy (haproxy) y uno que no lo es (ldirectord) ● Configuraciones y pruebas básicas de ldirectord en modo NAT ● Configuración y pruebas básicas de haproxy ● Guía
  • 14. Práctica 4 ● Cluster Apache + PHP + Memcached ● Aplicaciones de un cluster: failover y balanceo ● Instalación del servidor Apache con PHP ● Replicación de ficheros mediante rsync ● Nociones sobre otros sistemas de replicación más sofisticados ● Replicación de sesiones con rsync y con memcached ● Guía