SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareWilliam Matamoros
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentestoryneutral
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier ArchitectureWebx
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applicationssandra sukarieh
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vidamadpitbull_99
 
Examen de conocimiento
Examen de conocimientoExamen de conocimiento
Examen de conocimientoDaniel Valdez
 
Disenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de softwareDisenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de softwareAlexander Calderón
 
Gestion de formularios php
Gestion de formularios phpGestion de formularios php
Gestion de formularios phpwilliamCG27
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascadahome
 
Estilos y patrones arquitectónicos
Estilos y patrones arquitectónicosEstilos y patrones arquitectónicos
Estilos y patrones arquitectónicosIsrael Rey
 
Fullandparavirtualization.ppt
Fullandparavirtualization.pptFullandparavirtualization.ppt
Fullandparavirtualization.pptImXaib
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónLeonardo Fleire Morales
 

Was ist angesagt? (20)

Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Desarrollo SW Basado en Componentes
Desarrollo SW Basado en ComponentesDesarrollo SW Basado en Componentes
Desarrollo SW Basado en Componentes
 
Guía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web BásicaGuía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web Básica
 
3 Tier Architecture
3  Tier Architecture3  Tier Architecture
3 Tier Architecture
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vida
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Examen de conocimiento
Examen de conocimientoExamen de conocimiento
Examen de conocimiento
 
Disenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de softwareDisenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de software
 
Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
Gestion de formularios php
Gestion de formularios phpGestion de formularios php
Gestion de formularios php
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
J2ee seminar
J2ee seminarJ2ee seminar
J2ee seminar
 
Que es wamp server
Que es wamp serverQue es wamp server
Que es wamp server
 
Estilos y patrones arquitectónicos
Estilos y patrones arquitectónicosEstilos y patrones arquitectónicos
Estilos y patrones arquitectónicos
 
Fullandparavirtualization.ppt
Fullandparavirtualization.pptFullandparavirtualization.ppt
Fullandparavirtualization.ppt
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de información
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 

Andere mochten auch

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 localJosé Félix Ontañón Carmona
 
Sql server cluster
Sql server clusterSql server cluster
Sql server clusterjo_unwell
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
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...EAE
 
Comunicación en gobierno abierto
Comunicación en gobierno abiertoComunicación en gobierno abierto
Comunicación en gobierno abiertoAntoni
 
Dispositivos Activos y Pasivos - Cableado Estructurado
Dispositivos Activos y Pasivos - Cableado EstructuradoDispositivos Activos y Pasivos - Cableado Estructurado
Dispositivos Activos y Pasivos - Cableado EstructuradoTecnar - Cartagena
 
Dispositivos activos y pasivos redes
Dispositivos activos y pasivos redesDispositivos activos y pasivos redes
Dispositivos activos y pasivos redesJûän Êztêbânn R
 

Andere mochten auch (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
 

Ähnlich wie Clústers Alta Disponibilidad

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 VIRTUALIZADARafa Garrido
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatDavid Acevedo
 
Manual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster KnoppixManual De Instalacion Del Cluster Knoppix
Manual De Instalacion Del Cluster Knoppixandres
 
Clusters de alta disponibilidad lvs
Clusters de alta disponibilidad lvsClusters de alta disponibilidad lvs
Clusters de alta disponibilidad lvsStewart Coronado
 
Funcionamiento con my sql
Funcionamiento con my sqlFuncionamiento con my sql
Funcionamiento con my sqldante123456
 
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Óscar De Arriba González
 
Alta disponibilidad en clusteres asterisk
Alta disponibilidad en clusteres asterisk Alta disponibilidad en clusteres asterisk
Alta disponibilidad en clusteres asterisk Javier Boquin Rivera
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladoressergiovier
 
Sistemas_ operativos
Sistemas_ operativosSistemas_ operativos
Sistemas_ operativosdobby74
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 

Ähnlich wie 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
 

Mehr von Jesús Moreno León

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ónJesús Moreno Leó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 escuelaJesús Moreno León
 
Tecnología educativa en infantil
Tecnología educativa en infantilTecnología educativa en infantil
Tecnología educativa en infantilJesús Moreno León
 
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?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
 
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 classroomJesús Moreno León
 
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 thinkingJesús Moreno León
 
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...Jesús Moreno León
 
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 ...Jesús Moreno León
 
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...Jesús Moreno León
 
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 reviewJesús Moreno León
 
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.Jesús Moreno León
 
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...Jesús Moreno León
 
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...Jesús Moreno León
 
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 ...Jesús Moreno León
 
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 ...Jesús Moreno León
 
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...Jesús Moreno León
 
The Europe Code Week (CodeEU) initiative
The Europe Code Week (CodeEU) initiativeThe Europe Code Week (CodeEU) initiative
The Europe Code Week (CodeEU) initiativeJesús Moreno León
 
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...Jesús Moreno León
 

Mehr von 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...
 

Kürzlich hochgeladen

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.FlorenciaCattelani
 
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 estossgonzalezp1
 
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 JUNITMaricarmen Sánchez Ruiz
 
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.pptxAlan779941
 
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 ASPECTOSpptxJorgeParada26
 
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...JohnRamos830530
 
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 eyvanamcerpam
 
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.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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.pdfvladimiroflores1
 

Kürzlich hochgeladen (11)

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.
 
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
 
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
 
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
 
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...
 
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
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 

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