Alta Disponibilidad - Inicio · Alta Disponibilidad ... grado de confiabilidad del componente Los...
Transcript of Alta Disponibilidad - Inicio · Alta Disponibilidad ... grado de confiabilidad del componente Los...
Alta DisponibilidadAlta Disponibilidad
SISTEMAS DISTRIBUIDOSDepartamento de Sistemas e Informática
Escuela de Ingeniería ElectrónicaFCEIA
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
¿Qué es “Misión Crítica”?¿Qué es “Misión Crítica”?
Cuando del correcto funcionamiento de un sistema informático depende la vida, la seguridad o la propiedad de las personas
Algunos ejemplos: Controladores de tráfico aéreo Tecnología médica Control y supervisión de industrias críticas Transporte Finanzas Seguridad
Requerimientos de misión Requerimientos de misión críticacrítica
En las aplicaciones de misión crítica los sistemas informáticos deben producir las respuestas correctas en tiempos acotados
La capacidad de un SIMC de funcionar sin interrupciones se denomina “disponibilidad”
La “performance” es una medida de la capacidad de un SIMC de producir los resultados correctos en tiempos acotados
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
Tolerancia a FallasTolerancia a Fallas
Tolerancia a Fallas es la capacidad de un sistema informático de mantener servicio ante la presencia de fallas parciales en:
Sistema: Hardware Software de base
Aplicativos Ambientales (energía, temperatura) Operaciones Infraestructura de comunicaciones
Alta DisponibilidadAlta Disponibilidad
Disponibilidad es la medida en que un sistema informático es capaz de proveer servicio ininterrumpido a sus usuarios.
Se mide como la razón entre el tiempo durante el que se provee servicio aceptable y el tiempo total de operaciones, en porcentaje.
Las aplicaciones de misión crítica requieren 99,9% o mas. Estos valores se catalogan como Alta Disponibilidad (HA, High Availability)
Clasificación de DisponibilidadClasificación de Disponibilidad
Disponibilidad Tiempo anual sin servicio
99% 87 horas 36'
99.5% 43 horas 48'
99.95% 4 horas 23'
99.99% 53'
99.999% 5'
Alta disponibi-lidad
Disponibilidad ContinuaDisponibilidad Continua
Implica un servicio sin interrupciones. Representa un estado ideal, generalmente
usado para sistemas de misión crítica en los cuales no son tolerables caídas de servicio, por ejemplo centrales telefónicas.
La disponibilidad continua se obtiene construyendo sistemas redundantes, tanto en hardware como software
Conceptualmente es diferente de la alta disponibilidad, y se denomina tolerancia a fallas
Fallas: clasificaciónFallas: clasificación
De parada: El sistema, recurso o aplicación deja de responder por completo. Son las mas fáciles de detectar -algo “no funciona”-
Bizantinas: El componente en falla no deja de funcionar pero expone comportamientos no previstos o incorrectos. Son difíciles de detectar y pueden afectar a otros componentes, provocando funcionamiento defectuoso de parte o todo el sistema.
MTBFMTBF
Mean Time Between Failures, es una medición estadística de la probabilidad de falla de un componente.
Se especifica en horas y da una idea del grado de confiabilidad del componente
Los componentes actuales de alta calidad tienen MTBF del rango del millón de horas
Punto Unico de FallaPunto Unico de Falla
Se denomina así a todo componente de un sistema informático que si falla, es capaz de impedir el funcionamiento de todo el conjunto.
Los sistemas tolerantes a fallas evitan la existencia de PUF utilizando redundancia.
Ejemplos: Fuentes de alimentación, buses, cpus, almacenamiento, discos, etc.
Punto único de falla: ejemploPunto único de falla: ejemplo
Base de Datos
El servidor es punto único de falla
DowntimeDowntime
Es el tiempo durante el cual un sistema no brinda servicio.Se divide en planeado y no planeado
DowntimeDowntimePlaneadoPlaneado
DowntimeDowntime No PlaneadoNo Planeado
ManteniemientoManteniemientode Rutinade Rutina
OperacionesOperacionesde Rutinade Rutina
ErrorErrorHumanoHumano
DesastresDesastres
Fallas Fallas del Sistemadel Sistema
DesastresDesastres
La ocurrencia de fenómenos externos -es decir, no originados en el propio sistema- puede afectar total o parcialmente su funcionamiento
Ejemplos: incendio, inundación, terremoto, robo, etc.
Los sistemas de misión crítica deben diseñarse teniendo en cuenta la probabilidad de ocurrencia de desastres
FailoverFailover
Cuando un componente de un sistema de alta disponibilidad falla produciendo pérdida de servicio, un proceso de control arranca el servicio afectado en otro componente redundante del sistema.
Implica una relocalización de servicio conocida como Failover
El tiempo que demanda esta acción es un parámetro esencial para calificar el nivel de servicio del sistema
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
SolucionesSoluciones
Los sistemas de misión crítica se diseñan para ofrecer un nivel de disponibilidad predecible en la presencia de fallas como las mencionadas
La primera consideración de diseño es evitar puntos únicos de falla
Si además se requiere mantener el servicio en presencia de desastres, será necesario disponer de redundancia geográficamente separada, con vínculos de datos redundantes
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
¿Qué es un Cluster?¿Qué es un Cluster?
Un cluster es un sistema distribuido consistente en una colección de computadoras autónomas
interconectadas y fuertemente acopladas, que es utilizado como un recurso computacional
unificado
Clusters: RequerimientosClusters: Requerimientos
Disponibilidad Escalabilidad vertical y horizontal Administrabilidad Calidad de Servicio Administración de cargas Seguridad
Componentes de un ClusterComponentes de un Cluster
Nodos: cada uno de los equipos participantes del cluster, aportando CPU, memoria y E/S
Interconexión Almacenamiento Conexión a la red pública Cluster Manager
NodosNodos
Múltiples componentes de alta perfomance individual
Aunque pueden ser heterogéneos, habitualmente los clusters están integrados por computadores similares
La plataforma de software tambien es habitualmente la misma en todos los nodos
Sistemas OperativosSistemas Operativos
Linux (Beowulf, Rock, etc.)
MS Windows (MS Cluster Service)
Sun Solaris (Sun Cluster, Berkeley NOW)
HP-UX (Illinois Panda, HP MC)
IBM AIX pSeries (IBM SP Unix Cluster)
IBM zSeries (IBM SysPlex)
Oracle RAC
InterconexiónInterconexión
Es el vínculo de alta capacidad que enlaza a los nodos
Tecnologías: Gigabit Ethernet (1~10 Gbps) ATM Myrinet (1.2 Mbps) Infiniband (hasta 40 Gbps)
La interconexión es una red privada entre los nodos de baja latencia y alta disponibilidad, sobre enlaces redundantes
Sobre esta red circula la sincronización y el heartbeat del cluster
Red PúblicaRed Pública
Se denomina así a la red mediante la cual los usuarios del cluster acceden a sus servicios
Gigabit Ethernet, Infiniband, etc.
En esa red el cluster se muestra como un solo nodo, con una única dirección de red.
Cluster ManagerCluster Manager
Capa de software que corre en todos los nodos y provee la comunicación de procesos sobre la interconexión privada
Sobre la interconexión circula la información de sincronización del cluster, que permite que su configuración esté replicada en los nodos, y un protocolo de comunicación en grupo que permite determinar en todo momento el estado de funcionamiento de cada nodo del cluster
Cluster Manager (cont)Cluster Manager (cont)
El CM designa un nodo responsable de asumir la imagen única del sistema de cara al exterior y distribuye la carga de procesamiento sobre los nodos disponibles
Es responsable de detectar la caída de uno o mas nodos y conducir el proceso de recuperación (failover)
En caso de caída del nodo primario, el CM debe designar un nuevo primario entre los nodos sobrevivientes
Cluster RockCluster Rock
http://www.rocksclusters.org/Clusters de HPC en Linux
Cluster Cluster MiddlewareMiddleware Reside en cada nodo, entre el SO y las
aplicaciones y provee la infraestructura de soporte para:
Imágen única del cluster (Single System Image, SSI)
Control de disponibilidad del cluster (System Availability, SA)
SSI muestra a los recursos del cluster como una sola máquina -un solo IP, un solo hostname, etc.
SA provee mecanismos de checkpointing y migración de procesos en failover
Single System ImageSingle System Image
SSI provee una visión centralizada de los recursos del cluster.
Maximiza el aprovechamiento de recursos mediante resource pools y administración.
Brinda mayor escalabilidad y abstracción Un cluster puede brindar así servicios
equivalentes a un computador SMP mas costoso.
Beneficios de SSIBeneficios de SSI
Uso transparente de recursos Balanceo de cargas y migración de
procesos transparente Mas confiabilidad y mayor disponibilidad Mayor perfomance y mejor tiempo de
respuesta Simplificación de la administración
Servicios de SSIServicios de SSI
Unico punto de acceso a los servicios del cluster
Unica jerarquía de filesystems
Unico punto de control
Virtual Networking única
Unico espacio de memoria
Unica interface de usuario: CDE, MS-Windows, KDE, Gnome, Web, etc.
Servicios de DisponibilidadServicios de Disponibilidad
Espacio de E/S único: cada nodo accede a todos los periféricos independientemente de su localización.
Espacio de Procesos único: todos los procesos, independientemente del nodo en que se crean pueden comunicarse con el resto en forma transparente.
Checkpointing: salva el estado de los procesos y los resultados intermedios a disco para soportar rollback cuando el nodo falla.
AplicacionesAplicaciones
Un cluster puede ejecutar dos tipos de aplicaciones:
Secuenciales Paralelas (Cluster aware-apps)
Aplicaciones científicas computación-intensivas: meteorología, química cuantica, biología molecular, etc.
Web servers
Data mining
Clasificación de ClustersClasificación de Clusters
Clusters de alta perfomance (HPC)
Aplicaciones de alta carga de procesamiento. Maximizan la performance
Clusters de alta disponibilidad (HA) Aplicaciones de misión crítica Se maximiza la disponibilidad frente a la
performance
Shared NothingShared Nothing Clusters Clusters
Cada nodo tiene recursos de almacenamiento exclusivos
MembresíaMembresía
Es el conjunto de nodos que puede comunicarse con cada uno del resto de los integrantes del grupo a través del interconnect.
Está administrada por un Cluster Membership Manager distribuido que supervisa la entrada y salida de nodos al cluster.
El CMM debe retirar del grupo a los nodos en falla, y reincorporarlos cuando están operacionales nuevamente.
Fallas de particionamientoFallas de particionamiento
Split Brain: el cluster se divide en dos o mas subgrupos autónomos, cada uno de los cuales cree ser el 'sobreviviente'
Amnesia: cuando el cluster rearranca después de una caída con información de configuración inconsistente.
Múltiples Instancias: varias copias de la misma aplicación corriendo en el cluster
Split BrainSplit Brain (cont.) (cont.)
Es una situación que se da cuando un cluster sufre una falla que resulta en la reconfiguración en múltiples particiones, cada una sin conocimiento de la existencia de la(s) otra(s).
Conceptualmente aparecen dos (o mas) clusters que se ignoran mutuamente. Esta situación puede dar lugar a colisiones en la utilización de recursos compartidos, por ejemplo, direcciones de red o almacenamiento compartido. El resultado de esta colisión puede ser catastrófico
Solución al problema “split Solución al problema “split brain”brain”
Quorum device: un dispositivo (gralmente. un disco rígido) de acceso compartido a todos los nodos del cluster, que puede ser “reservado” en forma exclusiva por un nodo. Sólo puede tomar el rol principal de SSI el nodo que detenta la reserva del QD
AmnesiaAmnesia
Es un modo de falla en el cual un nodo arranca con información de configuración del cluster incoherente. Mientras que el cluster está operacional, toda la información acerca del estado del cluster y de sus servicios es mantenida en el CCR, que es la memoria permanente del cluster.La amnesia es un error de sincronización, debido a que la información de configuración no fué propagada consistentemente a todos los nodos. Un ejemplo de esta situación se da cuando un nodo falla y el cluster es reconfigurado, excluyendo al nodo en falla. La información de configuración de este nodo no se actualiza mas, por lo que deviene incoherente con el resto. Si el nodo rearranca y trata de ingresar nuevamente en el cluster, debe resincronizar su información de configuración antes.
Una situación peor puede darse si un nodo falla, el cluster es reconfigurado, mas tarde es sacado de servicio y posteriormente el nodo en falla es reiniciado. En este caso la información de configuración contenida en este nodo se presume correcta y se construye un nuevo cluster con información incoherente.
Instancias MúltiplesInstancias Múltiples
Esta falla ocurre cuando una aplicación está diseñada para operar sobre datos asumiendo acceso exclusivo a los mismos, y se lanzan varias instancias de esa aplicación.
Cuando esto pasa en una computadora existen varias formas de prevenir el problema, usando semáforos, lock files, mutexes, etc.
En un entorno de cluster, la solución es mas dificultosa, dado que hay que chequear en cada nodo la existencia de instancias ya en ejecución.
Failover “En Caliente”Failover “En Caliente”
Nodo 1Nodo 1Instancia ‘A’Instancia ‘A’
Nodo 2Nodo 2Instancia ‘A’Instancia ‘A’
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
GridsGrids
La baja utilización promedio de muchas computadoras conectadas a la red y su gran difusión alentaron esfuerzos dirigidos a aprovechar el poder de cómputo ocioso
Surge así la idea de procesar grandes lotes de datos subdividiéndolos de forma de procesar cada parte en una computadora distinta, integrante de un “grid”
Un software distribuido en cada nodo permite participar del grid
ArquitecturaArquitectura
Los modelos de grids en uso constan de un nodo coordinador, encargado de la distribución de la carga, y
muchos nodos de procesamiento, que devuelven los resultados al nodo coordinador para su integración.
ConceptosConceptos
Los nodos que integran un grid son implícitamente heterogéneos, tanto en software como hardware
Tienen en común su conectividad a la red y un software que les permite participar del trabajo compartido por el grid
Los nodos pueden desconectarse y reconectarse en forma independiente y no planificada, esto no debe afectar el resultado final
Grids y ClustersGrids y Clusters
Débilmente acoplado
Nodos heterogéneos Alta performance con
bajo costo Interconexión sobre
Internet Utilizado en
aplicaciones de tratamiento masivo de datos que pueden segmentarse
Fuertemente acoplado
Nodos homogéneos
Alta disponibilidad y costo medio/alto
Interconexión de alta capacidad entre nodos
Aplicación genérica
GRIDS CLUSTERS
EjemplosEjemplos
Seti@home: proyecto pionero en los grids de Pcs, http://setiathome.berkeley.edu/ es un experimento científico que utiliza computadoras conectadas a Internet para la búsqueda de inteligencia extraterrestre en datos de radiotelescopios
BOINC de la Univ. De California en Berkeley: llega a mas de 400.000 nodos y 5800 Teraflops
TemarioTemario
Disponibilidad y performance
Tolerancia a Fallas y Alta Disponibilidad
Soluciones
Clusters
Grids
Conclusión
ConclusiónConclusión
● Los Sistemas Distribuidos son susceptibles a las fallas
● Los puntos únicos de falla pueden detener el funcionamiento de todo el SD
● La redundancia y replicación son las técnicas empleadas para atacar el problema
● Agregando sistemas independientes conectados puede conseguirse performance