1 / 62

TOLERANCIA A FALLAS

TOLERANCIA A FALLAS. Consistencia y Replicación. Integrantes. Astrid Siry Iván Aponte Eduardo Anuel Jorge González Jimmy Ortega. CONSISTENCIA Y REPLICACIÓN. Introducción Protocolos Distribuídos Protocolos de Consistencia Discos RAID. IMPORTANCIA DE REPLICACIÓN. Seguridad

maitland
Download Presentation

TOLERANCIA A FALLAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TOLERANCIA A FALLAS Consistencia y Replicación Integrantes. Astrid Siry Iván Aponte Eduardo Anuel Jorge González Jimmy Ortega

  2. CONSISTENCIA Y REPLICACIÓN • Introducción • Protocolos Distribuídos • Protocolos de Consistencia • Discos RAID

  3. IMPORTANCIA DE REPLICACIÓN • Seguridad • Performance • Escalar en Número • Escalar por zona geográfica • Consistencia

  4. REPLICACIÓN DE OBJETOS ¿Cómo proteger al objeto de múltiples accesos?

  5. REPLICACIÓN DE OBJETOS (cont) • Opción 1: el objeto maneje las peticiones concurrentes

  6. REPLICACIÓN DE OBJETOS (cont) • Opción 2: el servidor sea el responsable

  7. REPLICACIÓN DE OBJETOS (cont) • Sincronización • Objeto se encarga

  8. REPLICACIÓN DE OBJETOS (cont)

  9. REPLICACIÓN DE OBJETOS (cont) • Sincronización • Sistema responsable

  10. REPLICACIÓN Y ESCALABILIDAD • Problemas • Consistencia requiere mayor ancho de banda. • Escalabilidad: replicación síncrona • Costos en performance

  11. REPLICACIÓN Y ESCALABILIDAD • Solución • Relajar consistencia • Copias desactualizadas, pero se tiene alto performance

  12. ORGANIZACIÓN DE LAS RÉPLICAS • Réplicas Permanentes • Réplicas iniciadas en el servidor • Réplicas iniciadas por el cliente

  13. RÉPLICAS INICIADAS POR SERVIDOR • Ayudan a reducir carga en el servidor • Posicionan caches cerca de los clientes mediante el algoritmo de conteo de accesos

  14. RÉPLICAS INICIADAS POR CLIENTE • Optimiza el acceso a los datos • Los caches ubicados del lado de los clientes pueden ser compartidos

  15. PROPAGACIÓN DE ACTUALIZACIONES • ¿ Qué ? • Propagar sólo una notificación de actualización • Transferir datos de una replica a la otra • Propagar las operaciones de actualización

  16. PROPAGACIÓN DE ACTUALIZACIONES • ¿Cómo? • Enfoque push • Requieren alto grado de consistencia • Requiere que el servidor conozca todos los clientes • Menor tiempo de respuesta • Enfoque pull • Mayor simplicidad • Tiempo de respuesta mayor

  17. PROPAGACIÓN DE ACTUALIZACIONES • Cómo? (cont.) • Método Híbrido • Leases • Diferentes estrategias para diferentes enfoques. • Permiten un balance entre push y pull

  18. PROTOCOLOS EPIDÉMICOS • Sirven para propagar datos muy rápidamente • Escalan muy bien • Modelo anti-entropía • Modelo del rumor • Para borrar se utiliza la propagación de certificados de defunción

  19. PROTOCOLOS DE CONSISTENCIA • Los protocolos de consistencia describen una implementación de un modelo de consistencia específico (incluyen la consistencia secuencial, consistencia débil con variables de sincronización así como transacciones atómicas). • Básicamente pueden ser separados considerando si hay una copia primaria de los datos donde todas las escrituras son mandadas, en caso contrario las copias pueden ser iniciadas desde cualquier réplica.

  20. PROTOCOLOS BASADOS EN PRIMARIO • Cada ítem de datos tiene asociado un servidor primario que es responsable de todas las operaciones de escritura sobre el mismo. • Pueden hacerse distinciones tomando en cuenta si el primario es un servidor remoto o si las operaciones de escritura pueden llevarse a cabo localmente, moviendo el primario al proceso donde la operación de escritura es iniciada.

  21. PROTOCOLOS DE ESCRITURA REMOTA • El protocolo más simple es en el cual todas las operaciones de lectura y escritura son hechas en un servidor remoto. • Otro más interesante permite la lectura de las variables localmente pero debe mandar las operaciones de escritura a un servidor fijo que contiene las copias primarias son llamados protocolos de respaldo primario.

  22. PROTOCOLOS DE ESCRITURA REMOTA • El protocolo de respaldo primario provee una implementación que garantiza la consistencia secuencial pues el primario puede organizar las operaciones d escritura, además con protocolos bloqueantes los procesos saben que siempre estarán viendo las últimas actualizaciones de los datos. Su inconveniente es que las actualizaciones bloqueantes implican un tiempo de respuesta alto, pero si son implementados con no bloqueantes no se garantizaría la consistencia realmente.

  23. PROTOCOLOS DE ESCRITURA LOCAL • Existen dos tipos de protocolos, con y sin replicación de los datos. • Sin Replicación: • Si un proceso opera sobre cierto dato x, este es transferido al proceso antes de realizar la operación. • La consistencia es total, pues hay una sola copia. • Mantener registro de donde se encuentra cada ítem de datos es un problema.

  24. PROTOCOLOS DE ESCRITURA LOCAL • Con Replicación: • La copia primaria de cada ítem de datos migra entre los procesos que desean escribir en ella. • Si el protocolo de propagación de actualizaciones de los ítems de datos es no bloqueante; múltiples operaciones de escritura pueden realizarse localmente, mientras otros leen su copia local. • Si un computador puede trabajar desconectado las actualizaciones se realizan localmente, mientras los otros procesos pueden aún leer. Luego cuando se conecta nuevamente se propagan las actualizaciones del primario a los backups

  25. PROTOCOLOS DE ESCRITURA REPLICADA • Las operaciones de escritura pueden ser llevadas a cabo en múltiples réplicas, la consistencia es provista mediante votación. • Hay dos tipos, la replicación activa y los protocolos basados en quorum.

  26. PROTOCOLOS DE ESCRITURA REPLICADA • Replicación Activa • Cada réplica tiene un proceso asociado que lleva a cabo las operaciones de actualización. • Las operaciones deben ser realizadas en orden por lo tanto es necesario un multicast ordenado (uso de Timestamps y/o de coordinador central, también llamado secuenciador). • Problema de invocaciones replicadas.

  27. PROTOCOLOS DE ESCRITURA REPLICADA Problema de Invocaciones Replicadas

  28. PROTOCOLOS DE ESCRITURA REPLICADA • Protocolos basados en quorum • Los clientes piden el permiso de múltiples servidores antes de leer o escribir un ítem de datos replicado. • Para leer un ítem del que existen N réplicas se necesita una colección arbitraria de cualesquiera Nr servidores, igualmente para escribir deben encontrarse Nw servidores, los valores de estas variables están sujetos a dos condiciones: • Nr + Nw > N • Nw > N/2

  29. PROTOCOLOS DE COHERENCIA DE CACHE • Aseguran que el cache (generalmente controlado por los clientes en lugar de los servidores) es consistente con las réplicas iniciadas por el servidor. • En sistemas multiprocesador con memoria compartida muchas soluciones se basan en el hardware • En sistemas distribuidos basados en middleware las soluciones son basadas en software y son más interesantes.

  30. PROTOCOLOS DE COHERENCIA DE CACHE • Estrategias de detección de coherencia: Cuándo son detectadas las inconsistencias. • Soluciones estáticas: compilador hace el análisis previo a la ejecución e inserta instrucciones contra las inconsistencias. • Soluciones dinámicas: inconsistencias detectadas en runtime, por ej. Se chequea el servidor para ver si ha modificado la data después de su última actualización. • En el caso de BD distribuidas se puede clasificar por el momento durante la transacción donde se hace la detección.

  31. PROTOCOLOS DE COHERENCIA DE CACHE • Estrategias de aplicación de coherencia: cómo son mantenidos consistentes los caches. • No permitir que los datos compartidos estén en cache. • A los clientes solo se les permite poner en cache datos privados. • Permitir los datos compartidos en los caches. • Los servidores envían una invalidación a todos los caches cuando los datos han sido modificados. • Los servidores propagan la actualización de los datos.

  32. PROTOCOLOS DE COHERENCIA DE CACHE • ¿Qué sucede cuando un proceso modifica datos en el cache? • Caches de sólo lectura sólo lo actualizan los servidores y utilizan pulling cuando detectan que están desactualizados. • Los clientes pueden modificar los datos en cache y mandar la actualización a los servidores (llamados write-through caches), para garantizar la secuencialidad se le debe proveer al cliente con permisos exclusivos de escritura. • Puede mejorarse inclusive más el desempeño si se permite que se hagan varias modificaciones antes de notificar a los servidores (llamado write-back cache).

  33. Corrección de Errores Para poder recuperar los datos perdidos es necesario emplear códigos altamente redundantes, de esta forma, la utilización efectiva del canal de transmisión se reduce considerablemente.

  34. Definiciones Básicas • Bit de Paridad: Es un método para la deteccion de errores de transmisión o almacenamiento de datos. Consiste en agregar 1 bit para cada palabra, en donde se especifica si la cantidad de bits con valor 1 de la palabra es par o impar. • DistanciaHamming: La distancia Hamming entre dos palabras código se define como el número de bits que cambian entre una palabra código y la otra.

  35. Definiciones Básicas (Cont.) • Código de Hamming: El código de Hamming agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje. El algoritmo de Hamming puede corregir cualquier error de un solo bit, y detecta todos los errores de dos bits.

  36. Definiciones Básicas (Cont.) • Hot swap: Son discos que se reemplazan en caliente. Esto quiere decir que si alguno de los discos RAID se estropeara físicamente bastaría con quitarlo y poner otro sin tener que apagar el sistema. • Hot spare: Disco sobrante. Es un disco que permanece siempre en el sistema esperando a que uno se estropee y entre directamente en funcionamiento.

  37. Discos RAID

  38. Definición De RAID • RAID (Redundant Array of Independent Disks): Consiste en una serie de sistemas para organizar varios discos como si de uno solo se tratara pero haciendo que trabajen en paralelo para aumentar la velocidad de acceso o la seguridad frente a fallos del hardware o ambas cosas.

  39. ¿Porqué usar discos RAID? • Las operaciones de I/O a disco son sumamente lentas. • Los sistemas de almacenamiento están expuestos a fallas. • En caso de ocurrir fallas que afecten la integridad de los datos, se desea poseer respaldo de los mismos.

  40. Tipos De RAID • Software: El RAID Software implementa los diferentes niveles de RAID en el codigo del kernel que tienen que ver con la gestión del disco (block device). • Hardware: Las soluciones hardware gestionan el subsistema RAID independientemente del host, presentándole a este un solo disco. Existen 2 tipos: • Basado en Host. • RAID externo.

  41. Tipos De RAID (Cont.) • Software: Ventajas: • Costo más bajo que la solución RAID implementada en hardware. Desventajas: • La utilización excesiva de la CPU es su principal inconveniente. • El uso del software RAID puede degradar el rendimiento del sistema.

  42. Tipos De RAID (Cont.) • Software: El driver MD del kernel de Linux es un ejemplo de la solución RAID que es independiente del hardware.

  43. Tipos De RAID (Cont.) • Hardware: Ventajas: • Independencia de la plataforma. • Intercambio de unidades mientras el sistema está activo. • Funciones de gestión remota. • Son más rapidos que el software RAID.

  44. Arreglos Paralelos vs. Independientes. • Paralelos:Son aquellos en que cada disco participa en todas las operaciones de entrada/salida. Este tipo de arreglo ofrece tasas altísimas de transferencia. • Independientes: Son denominados así aquellos arreglos en los cuales cada disco integrante opera en forma independiente, aún en el caso de que le sea solicitado atender varios requerimientos en forma concurrente.

  45. Niveles De RAID Cada nivel de RAID representa una combinación especifica de tolerancia a fallos (redundancia), rendimiento y coste, diseñada para satisfacer las distintas necesidades de almacenamiento.

  46. Ventajas De RAID • Tolerancia a fallos. • Mejora del rendimiento. • Mayor fiabilidad. • Alta disponibidad.

  47. Tolerancia a fallos • Protección contra la pérdida de datos • Recuperación de datos en tiempo real • Acceso interrumpido en caso de falla

  48. Mejora Rendimiento/Velocidad • Funciona como un único dispositivo • Fraccionamiento de datos • Permite a varias unidades trabajar en paralelo, aumentando el rendimiento

  49. Mayor Fiabilidad • Redundancia de datos • Información de paridad • $ paridad <$ redundancia

More Related