Tolérance aux fautes-2 Serveurs à haute disponibilité

Documents pareils
Systèmes et algorithmes répartis

2.1 Comment fonctionne un site?

Gestion répartie de données - 1

Livre blanc Haute disponibilité sous Linux

Les bases de données. Historique

Le Centre de Tri. Projet d espace de coworking à Bègles 21 janvier 2011

Utiliser Internet Explorer

L indice des prix à la consommation

ÉTUDE BDC LES CINQ FACTEURS CLÉS ET LES CINQ PIÈGES À ÉVITER POUR RÉUSSIR EN AFFAIRES

Windows Server 2012 R2 Failover de serveurs DHCP

Systèmes à haute disponibilité :

«Des places de jeux pour tous» Formulaire de demande

WebSphere MQ & Haute Disponibilité

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Mécanique : Cinématique du point. Chapitre 1 : Position. Vitesse. Accélération

La continuité de service

Mise en place d un cluster. De basculement. Et DHCP Failover. Installation. Préparation. Vérification

DOSSIER SUR LE SECTEUR DES NOMS DE DOMAINE VOLUME 11 - NUMÉRO 4 - JANVIER 2015

Haute-disponibilité et bases de données

EXERCICE II : LE TELEPHONE "POT DE YAOURT" (5 points)

Abstract. Key-words: The flowshop problem, Heuristics, Job scheduling, Total flowtime.

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Arrondissage des résultats de mesure. Nombre de chiffres significatifs

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Consolidation de stockage

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Échafaudage de façade UNI 70/100

«clustering» et «load balancing» avec Zope et ZEO

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

EMC DATA DOMAIN HYPERMAX

innovation / construction / territoire Crèche modulaire-bois La Rose des Vents GAILLAC (81) COMMUNAUTÉ DE COMMUNES

Réseaux Évidentiels pour la fusion de données multimodales hétérogènes : application à la détection de chutes

Voyez la réponse à cette question dans ce chapitre.

Introduction aux algorithmes répartis

Module BDR Master d Informatique (SAR)

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

EMC DATA DOMAIN OPERATING SYSTEM

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

Sauvegarde et restauration de données

Tolérance aux fautes - 1 Introduction, techniques de base

Réplication des données

Windows Internet Name Service (WINS)

Haute Disponibilité de l environnement WMQ Outils & Méthodes

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

PROPRIETES ELASTIQUES DU PLI UNIDIRECTIONNEL APPROCHE MICROMECANIQUE

La haute disponibilité

Allocation de l adressage IP à l aide du protocole DHCP.doc

La Continuité d Activité

SafeKit. Sommaire. Un livre blanc de Bull Evidian

Disponibilité 24-7/365

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

La mémoire C HAPITRE S EPT. 7.1 Qu est-ce que la mémoire? L utilisation de la mémoire à court terme 169

Smart Notification Management

Cours Bases de données

Cours 13. RAID et SAN. 2004, Marc-André Léger

e-commerce+ Passez au e-commerce pour simplifier vos process de vente! RENCONTREZ-NOUS Salon E-commerce septembre - Paris

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Bases de données documentaires et distribuées Cours NFE04

L étalonnage par traceur Compton, une nouvelle méthode de mesure primaire d activité en scintillation liquide

CH.3 SYSTÈMES D'EXPLOITATION

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Jouez les précurseurs: avec le Managed Server de Hostpoint

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Concepts et systèmes de stockage

Le cluster à basculement

Pour une maîtrise totale de la reprise d activité : bonnes pratiques de continuité d activité et de virtualisation L I V R E B L A N C

PLAN DE REPRISE D ACTIVITE INFORMATIQUE

Quel niveau RAID est le mieux adapté à mes besoins?

CA XOsoft. Suite logiciels. WANSync Solution de réplication des données en LAN ou WAN.

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

FAMILLE EMC RECOVERPOINT

Principes de DHCP. Le mécanisme de délivrance d'une adresse IP à un client DHCP s'effectue en 4 étapes : COMMUTATEUR 1. DHCP DISCOVER 2.

Haute disponibilité avec PostgreSQL

Algorithmique des Systèmes Répartis Protocoles de Communications

JRES 2007 Solution de stockage répartie sur les centres de recherche INRIA, à base de serveurs de fichiers de type «NAS»

Le modèle client-serveur

Haute Disponibilité High-Availability : HA. Les enjeux

Solution Haute Disponibilité pour Linux

Palo Alto Networks Guide de l administrateur Panorama. Panorama 5.1

Introduction aux applications réparties

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Zimbra Forum France. Montée en charge et haute disponibilité. Présenté par Soliman HINDY Société Netixia

Architecture complète de protection du stockage et des données pour VMware vsphere

Gamme et conseils de mise en œuvre

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

EMC Data Domain Boost for Oracle Recovery Manager (RMAN)

Haute disponibilité avec Microsoft SQL Server

LOT 10 PLOMBERIE SANITAIRES

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

ACCESSNET -T IP Technique système TETRA d Hytera.

Continuité d activité : le choix des armes

Transcription:

École Doctorale de Grenoble Master 2 Recherche Systèes et Logiciel Disponibilité des s Tolérance aux fautes-2 Serveurs à haute disponibilité Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia! Motivation et objectifs " Le odèle - est un schéa de base de construction d applications réparties " L objectif est de présenter les principales techniques perettant d augenter la disponibilité des s! Plan " Conditions de cohérence pour des s dupliqués " Techniques de duplication # Serveur - de # Réplication active " Outils de base pour la duplication cohérente " Exeple d application Référence de base : R. Guerraoui, A. Schiper. Software-based Replication for Fault-Tolerant Systes, IEEE Coputer, vol. 30, 4, April 1997, pp. 68-74 2 Serveurs tolérants aux fautes : principes Un odèle pour les s dupliqués! La tolérance aux fautes est obtenue par redondance " On utilise N s pour résister à la panne de N-1 s " Hypothèse!: panne franche (fail stop)! La redondance ipose des contraintes de cohérence " Vu du, l enseble des N s doit se coporter coe un abstrait unique (les spécifications d interface du doivent être respectées) interface Un enseble de processus {p 1,, p n } interagit avec un enseble d objets x, via des appels synchrones ( - réponse) i [x op(arg) p i ] opération op sur x x [x ok(res) p i ] Pour la tolérance aux fautes, chaque objet x existe en plusieurs exeplaires x 1, x 2, x N Coent définir la cohérence de ces exeplaires ultiples? s S abstrait réalisé par On définit une relation d ordre sur les appels. On suppose qu il existe un systèe de datation global avec validité forte (soit t) - en pratique horloges physiques synchronisées Soit t inv (O) la date d éission d un appel d une opération O et soit t res (O) la date de réception de la réponse. Alors O! O' si t res (O) < t inv (O') et O O' si (O! O') et (O'! O) 3 4

Linéarisabilité Linéarisabilité - exeple (1) La cohérence intrinsèque d un objet x est définie vis-à-vis d une suite d opérations sur x. Par exeple : x est une pile. Conditions de cohérence : Si deux objets a et b sont epilés dans l ordre a ; b, ils doivent être dépilés dans l ordre b ; a Soit ndep(x) le nobre total d opérations dépiler et nep(x) celui des opérations epiler ; alors nep(x) - ndep(x)! 0. Si la pile a une taille finie n, alors nep(x) - ndep(x) " n. On dit qu un enseble d opérations E sur un enseble d objets est linéarisable si on peut ranger ces opérations dans une séquence S telle que pour tout couple d opérations O, O' telles que O! O', O précède O' dans S la séquence S est légale pour tout objet, i.e. respecte les conditions de cohérence intrinsèque pour cet objet Soit un objet x qui est une file FIFO (opérations enq et deq) et soit la séquence d appels et réponses suivants sur x depuis ou vers p i et p j x enq(a) p i x enq(b) p j x ok() p i x ok() p j x deq() p i x deq() p j x ok(b) p i x ok(a) p j O3 O4 O1 O2 O1 O2, O3 O4 (O1, O2)! (O3, O4) La séquence est linéarisable en S = [O2, O1, O3, O4]. En effet : les conditions de précédence sont replies les conditions de cohérence égaleent : enq(b), enq(a), deq(b), deq(a) 5 6 Linéarisabilité - exeple (2) Linéarisabilité pour des objets dupliqués Soit le êe objet x (file FIFO) que dans l'exeple précédent : x enq(a) p i x enq(b) p j x ok() p i x ok() p j x deq() p i x deq() p j x ok(b) p i x ok(b) p j O3 O4 O1 O2 O1 O2, O3 O4 (O1, O2)! (O3, O4) La séquence n est pas linéarisable. En effet on ne peut trouver aucune séquence des opérations O1, O4 qui replisse la condition de cohérence pour une file FIFO enq(b), enq(a), deq(b), deq(b) enq(a), enq(b), deq(b), deq(b) Reprenons l exeple de la file FIFO x avec deux exeplaires et x 2 x 1 reçoit [x enq(b) p j ], [x enq(a) p i ], [x deq() p i ], [x deq() p j ] x 2 reçoit [x enq(a) p i ], [x enq(b) p j ], [x deq() p i ], [x deq() p j ] Les deux objets exécutent les s dans l ordre des réceptions. Si p i et p j prennent les réponse de x 1, l exécution est linéarisable Si p i prend les réponses de x 1 et p j celles de x 2, l exécution n est pas linéarisable Conditions suffisantes de cohérence Si une est traitée par un, elle doit être traitée par tous les s (en état de arche) Deux s différentes doivent être traitées dans le êe ordre par tous les s 7 8

Construction de s tolérants aux fautes Serveur - de! Deux techniques de base (nobreuses variantes) " Rappel : N s pour résister à N-1 pannes (franches)! Serveur - de (poursuite) " Un () joue un rôle privilégié " La panne du est visible par les s (changeent de ) " La panne d un de est invisible aux s! Redondance active (copensation) " Les N s jouent un rôle syétrique et exécutent tous les êes s " Les pannes sont invisibles aux tant qu il reste un en arche de de attente ise à jour de l état + réponse diffusion fiable ack ack réponse Diffusion fiable : le essage parvient à tous ses destinataires non en panne, ou à aucun (pas de diffusion partielle) Lorsque le renvoie la réponse, tous les s non en panne sont donc dans le êe état C Les conditions suffisantes de cohérence s appliquent dans les deux cas Tout de peut replacer le en cas de panne (l ordre de succession est défini à l avance, par exeple - ) 9 10 Serveur - de Traiteent des défaillances Serveur - de Mécanise de base de de attente ise à jour de l état + réponse ack délai de garde 1 2 (répétée) Défaillance du : détectée par le (délai de garde) et par les s de (écanise de groupe, défini plus loin) Le contacte le de qui a pris la place du (il connaît son adresse) Grâce à la diffusion fiable, tous les s de sont à jour, ou aucun. Si la panne est arrivée en 1 (aucun de n est à jour) : le nouveau réexécute la et et à jour les s de Si la panne est arrivée en 2 (tous les s de sont à jour) : le nouveau renvoie sipleent la réponse Les s ont une identification unique, ce qui peret de distinguer entre 1 et 2 C! Gestion de groupe " Mécanise perettant de connaître à tout instant la coposition d un groupe de processus (ou s), c-à-d. l enseble des processus valides (non en panne) " Outil de base : la vue : essage contenant la liste des processus valides " Propriété de cohérence : vues synchrones (cohérence entre diffusion des vues et diffusion des essages) =(,,, ) +1 =(,, ) Soit un essage diffusé dans une vue Soit P = { processus couns à et +1 } Alors : ou bien parvient à tous les ebres de P avant +1 ou bien ne parvient à aucun ebre de P 11 12

Vues synchrones Serveur - de Réinsertion après panne =(,,, ) OUI OUI =(,,, ) +1 =(,, ) Après réparation, le défaillant doit se réinsérer et restaurer son état Réalisé grâce au écanise de groupe 1) le qui se réinsère envoie un essage rejoindre qui provoque un changeent de vue 2) le réinséré deande une copie de l état à un des autres s NON NON rejoindre =(,, ) +1 =(,,, ) état +1 =(,,, ) =(,,, ) +1 =(,, ) =(,,, ) +1 =(,, ) Le réinsèré peut fonctionner 13 14 Serveur - de Cas particulier de deux s (schéa de Alsberg & Day) Serveur - de Application à la reprise dans Tande de état + réponse ise à jour En cas de panne du réponse ack Détection par le (délai de garde) Le de devient Réinsertion du (coe de ) après réparation, avec copie de l état On gagne un peu de teps par rapport au schéa classique (réponse par le de ) On n a pas besoin d un écanise de vues Le de surveille le En cas de panne du de Rien à faire par le Réinsertion après réparation (copie de l état) processus A () processus B () reprise données de reprise (état) sauvegarde processus A () processus B () Principe de la reprise Sauvegarde périodique sur disque de l état des processus. Surveillance utuelle de chaque systèe par l autre (essages je suis vivant ). En cas de dépasseent du délai de garde, le processeur survivant reprend les processus défaillants à partir du dernier point de reprise enregistré. Le schéa tolère la défaillance d un 15 16

Paires de processus dans Tande Redondance active Échanges entre processus et processus de Soit 2 processus s A, B ; les processus de sont A', B' ; on note [A] l état de A, etc. Scénario : -réponse de A vers B Initialeent [A] = a0, [A'] = a0, [B] = b0, [B'] = b0 Requête A! B : (nuéroté) B traite la : [B] = b1, [B'] = b0 B et à jour B' : [B] = b1, [B'] = b1 Réponse B! A : (nuéroté) A traite la réponse : [A] = a1, [A'] = a0 A et à jour A' : [A] = a1, [A'] = a1 Une défaillance est tolérée en tout point de cette séquence La nuérotation des essages évite les duplicata diffusion attente prend en copte la preière réponse ignore les autres réponses Tous les s sont équivalents et exécutent le êe La diffusion doit avoir les propriétés suivantes (pour satisfaire la cohérence) Un essage diffusé est reçu par tous les destinataires (non en panne), ou par aucun Deux essages différents sont reçus dans le êe ordre par leurs destinataires Ces propriétés définissent la diffusion atoique, ou totaleent ordonnée C 17 18 Redondance active (copléent) Redondance active Nécessité de la diffusion atoique diffusion attente réponses ajorité C 1 2 2 1 T1 T2 C1 C2 T1 T2 T2 T1 Le schéa de la redondance active s étend aux pannes byzantines (réponse arbitraire). Dans ce cas, on attend toutes les réponses et on choisit la réponse ajoritaire. Il faut alors 2k + 1 s pour résister à k défaillances (au lieu de k + 1 avec pannes franches) Dans l exeple ci-dessus, la diffusion n est pas atoique Serveur 1 : T1 ; T2 Serveur 2 : T1 ; T2 Serveur 3 : T2 ; T1 Si les s odifient l état des s, le systèe est incohérent 19 20

Redondance active Réinsertion après panne Coparaison entre et redondance active La panne d un est invisible aux s Pour se réinsérer après une panne, un diffuse (atoiqueent) une deande de reconstitution d'état 1 2 1 2 3 deande état 1 2 nouvel état Les 3 s sont dans le êe état pour traiter réquête 2! Mécanises nécessaires " Serveur : technique de groupe dynaique (vue synchrones, sauf si 1 seul de, cas très fréquent) " Redondance active : diffusion atoique " Les deux écanises sont équivalents (en coplexité) " Voir étude détaillée dans la suite du cours! Usage des ressources " Serveur : les s de peuvent exécuter une tâche de fond, non prioritaire ; reprise non iédiate " Redondance active : tous les s sont obilisés, reprise iédiate réinsertion report Coporteent du nouveau Un essage tel que 1 (parvenant avant sa propre deande d état) est ignoré Le d un essage tel que 2 (parvenant avant la réponse à la deande d état) est retardé jusqu après l arrivée du nouvel état Motivation : préserver la cohérence, grâce aux propriétés de la diffusion atoique! Travail pour les s " Serveur : le doit détecter la panne du " Redondance active : le n a rien à faire! Conclusion " Serveur : le plus utilisé dans les applications courantes " Redondance active : applications critiques, teps réel 21 22 Serveurs à haute disponibilité : aspects pratiques Serveurs : configurations (1)! Serveur d inforation redondant disques iroir partagés " Duplication passive des s : et " Réseaux : réseau d accès, réseau d adinistration, réseaux heartbeat dual data paths " Disques : # Disques privés (par ) # Disques partagés (redondants -> RAID iroir ou parité) dual heartbeat Réseau d! accès " Pas de point de défaillance unique (single point of failure) # Alientation électrique # Événeents externes! Configuration 1-1 asyétrique! Réseaux heartbeat dédiés! Les disques partagés contiennent l état du systèe! Bascule (failover) entre et en cas de panne du (accès aux disques partagés bascule égaleent) 23 24

Serveurs : configurations (2) Serveurs : configurations (3) disques iroir partagés dual data paths» LAN SAN 1 / 2 dual heartbeat 1 / 2 Réseau d! accès! Configuration syétrique! Les s restent indépendants l un de l autre! Moindre coût! Ipact sur la perforance en cas de bascule! Accès aux disques iroir via un SAN! Réseaux heartbeat séparés! Flexibilité accrue! Peut être généralisée à plusieurs applications (service level failover)! Utilisation pour s en grappes (server fars) 25 26 Exeple de systèe à haute disponibilité : IBM HA-CMP IBM HA-CMP : architecture logicielle (1)! HA-CMP : High Availability Cluster MultiProcessing " Principe : disque partagé (accès ultiple) Client Client Client CLINFO CLINFO CLINFO CLINFO Grappe (cluster) gérant de verrous gérant de grappe Agent SNMP Serveur A Disque 1 Disque 2 Serveur B CLINFO : service d inforation sur la grappe (infore les s sur l état de la grappe) Agent SNMP : reçoit inforation du gérant de grappe et la rend accessible via SNMP (Siple Network Manageent Protocol, protocole d'adinistration des systèes Unix) Gérant de verrous : synchronisation distribuée pour la gestion des verrous des transactions Gérant de grappe : gestion globale de ressources (voir suite) 27 28

IBM HA-CMP : architecture logicielle (2) IBM HA-CMP : principe de la reprise configuration de la grappe odules d interface réseau Gérant de grappe Contrôleur de grappe échanges de essages fonctionnels (application) "je suis vivant" (surveillance utuelle) Gérant d'événeents Interface réseau contrôleur de ressources surveillance scripts d'événeents Gérant de verrous Agent SNMP Plusieurs variantes Recouvreent siple : l application fonctionne sur l un des systèes (). L autre systèe est inactif ou exécute des tâches de fond, non critiques. Recouvreent utuel : les applications sont exécutées sur les deux systèes, ais sans partage d inforation (fichiers disjoints). En cas de défaillance d un systèe, ses applications sont reprises par l autre. Partage de charge : les applications sont exécutées sur les deux systèes et peuvent partager des données. Mais ce partage passe nécessaireent par un gérant distribué de verrous pour assurer des propriétés transactionnelles Dans tous les cas, la counication (pour reprise) se fait toujours par le disque partagé. 29 30