Fehlertoleranzmechanismen in hochverfügbaren Clustersystemen



Ähnliche Dokumente
Zuverlässige Systeme Fehlertoleranz

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Hochverfügbarkeits-Szenarien

Hochverfügbarkeit von TransConnect 2.2

Adaptive und fehlertolerante MPI-Varianten. Heiko Waldschmidt

Oracle 9i Real Application Clusters

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

FEHLERTOLERANZ EINE SEHR GROBE ÜBERSICHT BETRIEBSSYSTEME UND SICHERHEIT, WS 2016/17 HERMANN HÄRTIG

Datensicherheit und Hochverfügbarkeit

Datenübernahme easyjob 3.0 zu easyjob 4.0

SDD System Design Document

Fehlertoleranz. Betriebssysteme. Hermann Härtig TU Dresden

Powermanager Server- Client- Installation

Grundlagen Digitaler Systeme (GDS)

Motivation für Fehlertoleranz in VS Fehlermodelle Erreichen von Fehlertoleranz. Verteilte Systeme. 7. Fehlertoleranz

Installationsvoraussetzungen

Business Continuity and Recovery Services, BCRS

Verwendung des IDS Backup Systems unter Windows 2000

Installation und Inbetriebnahme von SolidWorks

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Firmware-Update, CAPI Update

Daten: Gründungsjahr 1995 Schwerpunkte Oracle, VMware, Microsoft, Linux und Novell Ausschließlich zertifizierte Techniker:

> Wir sind ein unabhängiges IT- Dienstleistungsunternehmen

Modul 8: Geschäftsprozesse, SLA, ITIL und CMDB (Fortsetzung)

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

Top-Themen. Hochverfügbarkeit - Storage richtig konfigurieren Seite 1 von 12

Solaris Cluster. Dipl. Inform. Torsten Kasch Bielefeld.DE> 8. Januar 2008

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

ProSafe-RS sicherheitsgerichtete Technik

Systemanforderungen für MSI-Reifen Release 7

OpenMAP WEBDrive Konfiguration. Oxinia GmbH , Version 1

Taxifahrende Notebooks und andere Normalitäten. Frederik Humpert

Sichere Daten mit OSL Storage Cluster

Felix Großkreuz Philipps-Universität Marburg Fachbereich 12 Seminar IT-Administration SS2011

Wege zur Hochverfügbarkeit. Christian Affolter High Availability 08. Mai 2015

PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD

was ist ein backup? Unter Backup ist eine Rücksicherung der Daten zu verstehen.

Systeme 1. Kapitel 10. Virtualisierung

Auswertungen mit SAP PM. Auswertungen und Kennzahlen

ANYWHERE Zugriff von externen Arbeitsplätzen

Agile Software Verteilung

Installationsanleitung SSL Zertifikat

Preis- und Leistungsverzeichnis der Host Europe GmbH. Loadbalancer V 1.1. Stand:

Band M, Kapitel 5: Server

OSL Storage Cluster und RSIO unter Linux Storage-Attachment und Hochverfügbarkeit in 5 Minuten

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Einsatzbearbeitung im Sanitätsdienst

Redundanz und Replikation

Hochverfügbare Lösungen für Windows Serversysteme

IBM Software Demos Tivoli Composite Application Manager for SOA

WINDOWS 8 WINDOWS SERVER 2012

MySQL High Availability. DOAG 2013 Datenbank. 14. Mai 2013, Düsseldorf. Oli Sennhauser

Storage as a Service im DataCenter

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Grundlagen der Technischen Informatik. 2. Übung

.nfs. Verfügbarkeit für die industrielle Produktion. mit.nfs NotfallServer. Hochverfügbare Daten-Sicherung Windows basierender Systeme.

Daten sichern mit Time Machine

FAST LTA Systeme Langzeitspeicher für medizinische Universalarchive

Lizenzen auschecken. Was ist zu tun?

Formular»Fragenkatalog BIM-Server«

MySQL Security. DOAG 2013 Datenbank. 14. Mai 2013, Düsseldorf. Oli Sennhauser

Programmieren im Team

Planung & Aufbau eines Datensicherungssystems

Preis- und Leistungsverzeichnis der Host Europe GmbH. Root Server 4.0 V 1.3. Stand:

ANLEITUNG. Firmware Flash. Seite 1 von 7

An integrated total solution for automatic job scheduling without user interaction

SharePoint Demonstration

Validierung und Verifikation

Zuverlässiger IT-Service und Support Wir haben Ihr EDV-System im Griff.

Speicher in der Cloud

Anbindung des eibport an das Internet

AnyOS Setupbeschreibung Installation und Konfiguration Bedienung Fazit. AnyOS. Axel Schöner. 25. August 2012

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO

5 Schritte zur IT-Sicherheit. Johannes Nöbauer Leiter Enterprise Services

Windows 8/8.1 RecImg-Manager

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

BERNINA ArtLink V7.0N Installationsanleitung der Sticksoftware

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Installationsanleitung


Die allerwichtigsten Raid Systeme

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Installation der Eicon Diva PCI Karte unter Windows XP

Mit der in Windows Vista integrierten Firewall Schützen Sie Ihren Computer gegen Angriffe aus dem Internet.

Dialogik Cloud. Die Arbeitsumgebung in der Cloud

Leitfaden Datensicherung und Datenrücksicherung

Evoko. Der «Room Manager», einfacher gehts nicht.

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Transkript:

Holger Sattel Seminar Rechnerarchitektur WS 2003/04 Universität Mannheim Lehrstuhl Rechnerarchitektur Prof. Dr. U. Brüning

Inhaltsverzeichnis Grundlagen / Begriffe Fehlertoleranz Fehlertoleranz in (Rechen-)Clustern Zusammenfassung / Anmerkungen Quellen 2

Hochverfügbarkeit - Definitionen MTBF ( Mean Time Before Failure ) Zuverlässigkeit der Hard- und Software MTTR ( Mean Time To Repair ) Erkennung, Diagnose, Reparatur, Inbetriebnahme Availability = MTBF MTBF + MTTR 2 Wege zur Erhöhung von Availability: Erhöhung der MTBF Verringerung der MTTR 3

Erhöhung der MTBF Zuverlässige Hardware Fehlerprävention ( fault prevention ) Regelmäßige Inspektionen Rechtzeitiges Tauschen von Verschleißteilen Klimaanlage Zuverlässige Software Code Audits Defensives Programmieren Redundante Stromversorgung UPS Eigene Generatoren 4

Verringerung der MTTR Automatische Reparatur: Redundante Hardware RAID Systeme Redundante Netzteile Fehlertoleranzmechanismen Manuelle Reparatur: Gut geschultes Personal Verfügbarkeit der Komponenten Schneller Bootvorgang ( Filesystem) 5

Hochverfügbarkeit vs. Fehlertoleranz Hochverfügbarkeit Bezieht sich nur auf den Wert von Availability Fehlertoleranz Hardware: fault tolerance (klassisch) Transparent für das Betriebssystem bzw. Software Software: software fault tolerance Fehlertoleranz gegen Software-Fehler Clustersysteme automatische Reparatur Erhöhung der Verfügbarkeit Kein Daten-/Verbindungsverlust 6

Hochverfügbarkeitsklassen Anzahl der 9er in Availability Meist nur Hardware Fehler berücksichtigt! Klasse 2 3 4 5 6 7 Availability 99% 99.9% 99.99% 99.999% 99.9999% 99.99999% Ausfallzeit pro Jahr 3.6 Tage 8.76 Stunden 52 Minuten 5 Minuten 30 Sekunden 3 Sekunden 7

AEC-Klassen AEC = Availability Environment Classifications AEC-0 ( Conventional ) Datenintegrität ist nicht gewährleistet. AEC-1 ( High Reliable ) Datenintegrität ist gewährleistet. AEC-2 ( High Available ) Minimale Ausfälle. Neues Einloggen notwendig. AEC-3 ( Fault Resilient ) Keine Ausfälle. Kein neues Einloggen notwendig. AEC-4 ( Fault Tolerant ) Keine Ausfälle. Kein Performanceverlust. AEC-5 ( Disaster Tolerant ) Unter keinen Umständen Ausfälle. 8

Fehlertoleranz - Begriffe Fault Der eigentliche Defekt Error Der ungültige Systemzustand Failure Der Systemausfall Beispiel: Fehlerhaftes RAM Fault: Bit-Flip im RAM Error: Variable hat falschen Pointer Failure: SIGSEGV bei Sprung zu Pointer 9

Fehlerklassifikationen Dauer Permanent Sporadisch Ursache Fehler im Betrieb (physikalisch) Fehler im Design Verhalten Modul liefert kein Ergebnis (oder zu langsam) Modul liefert falsches Ergebnis 10

Fehlertoleranz - Voraussetzungen Redundanz + kein Single Point of Failure Hardware Mehrfache Berechnung von Daten Daten Mehrfache Speicherung von Daten Software Vergleich von Daten ( Fehlererkennung) Backup der Daten Mehrfache Berechnung von Daten 11

Fehlertoleranz - Ablauf Fehlererkennung ( Error Detection ) Erkennung des Fehlers Schadenseingrenzung ( Damage Confinement ) Bestimmung des Schadens Fehlerbehebung ( Error Recovery ) Versetzen des Systems in gültigen Zustand Fehlerbehandlung ( Fault Treatment ) Sicherstellen, dass Fault nicht mehr auftritt 12

Fehlererkennung (1) Replication Checks Ausnutzen von Redundanz Timing Checks Objekt liefert kein Ergebnis nach bestimmter Zeit Runtime Constraint Checking Checksummen, erlaubte Wertebereiche Diagnostic Checks Heartbeat, Hintergrund - Tests 13

Fehlererkennung (2) Replication Checks Hardware Redundanz TMR - Triple Modular Redundancy 3 unabhängige Einheiten rechnen parallel Vergleich der Ergebnisse mittels Komparators Software Redundanz N-version Programming N unabhängig voneinander entwickelte Module rechnen parallel Vergleichbar TMR Zeit Redundanz 14

Fehlererkennung (3) Timing Checks Problem Bestimmung des besten Timeouts Zu kurz: falscher Fehler Zu lang: unnötig gewartete Zeit Runtime Constraint Checking Code- u. Performance-Overhead Assertions Diagnostic Checks Vergleich von Ist- und Soll-Ergebnissen 15

Schadenseingrenzung Aufbau des Systems in Komponenten Grenzen der Komponenten als Firewall Redundanz der Komponenten Hilft bei permanenten Fehlern Transaktionen ACID (Atomicy, Consistency, Isolation, Durability) Hilft bei sporadischen Fehlern 16

Fehlerbehebung Vorwärtsgerichtete Fehlerbehebung ( forward error recovery ) Nachteil: Fehler müssen vorausgeahnt werden nicht für alle Fehler möglich! Beispiel: Fehlerkorrigierende Hamming-Codes Rückwärtsgerichtete Fehlerbehebung ( backward error recovery ) Nachteil: Benötigt Informationen über früheren Systemzustand Checkpointing Langsam 17

Fehlerbehandlung Cold Standby Backup System wird erst im Fehlerfall eingesetzt Vorteil: kein Overhead im Betrieb Nachteil: Langsame Recovery Warm Standby Backup System wird regelmäßig synchronisiert Relativ schnelle Recovery Hot Standby Backup System läuft ständig synchron mit Vorteil: keine Recovery nötig Nachteil: Synchronisation kompliziert 18

Checkpointing Software Fault Tolerance Regelmäßiges Speichern des Systemzustandes auf externem Speicher Ziel: Wiederherstellen dieses Systemzustands Probleme: Wann und wie oft speichern? Größe der Daten System muss meistens gestoppt werden während des Checkpointing-Prozesses Beispiel: Prozesse Backward fault recovery 19

Verschiedene Clustersorten 2 Sorten von Clustern Fokus auf Hochverfügbarkeit eines Dienstes Meist kommerzielle Systeme Oftmals nur eine Applikation (Finanzsysteme, Datenbanken) Relativ wenige hochwertige Knoten Eng gekoppelte Systeme ( hot standby ) Z.B. IBM Parallel Sysplex Rechencluster ( Numbercrunching ) Basierend auf MPI oder PVM Applikationen laufen nicht permanent Viele billige Knoten Wissenschaftliche Berechnungen Lose gekoppelte Systeme Standardmäßig haben Beowulf, Wolfpack keine Fehlertoleranz Spezialbibliotheken 20

Fehlertoleranz in Rechenclustern Cluster oft aus billigen Komponenten hohe Ausfallquote Laufzeit einer Berechnung > MTBF Einfacher Neustart im Fehlerfall nicht möglich Fehlertoleranz nötig, damit Berechnung überhaupt möglich Neue Fehlerquellen in Clustern Verbindungen Fehlertoleranz: Routingalgorithmen, Message Logging Rechenknoten Master/Slave Modelle Distributed Checkpointing Mehrere unabhängige Betriebssysteme Synchronisationsprobleme 21

Master/Slave Modell Master Hat kompletten Systemzustand lokal Einfaches Checkpointing Verteilt die Aufgaben an Slaves Fügt Ergebnisse zusammen Slaves werden per Timeout überwacht Slaves Kommunikation nur mit Master Rechnen immer nur kleine Aufgaben Nur geringe Fehlertoleranz notwendig Vorteile/Nachteile Nicht für jede Berechnung geeignet Master darf nicht ausfallen 22

Distributed Checkpointing Abbild des globalen Systemzustandes Neustart des Gesamtsystems (am Checkpoint) Konsistenz des Checkpoints nicht trivial Problem Gültiger Zeitpunkt Nachrichten können unterwegs sein Globaler vs. Lokaler Checkpoint Synchronisation vor globalem Checkpoint 23

Fehlertolerante Kommunikation Fehlertoleranz in Library gekapselt (MPI) 2 Ansätze Fehlertolerante Verbindungen (z.b. LA-MPI) Fehlertoleranz bei Knotenausfall (z.b. CoCheck) Verbindungen Message Logging Knotenausfall Checkpointing Verschiedene Ansatzpunkte Application Level User definiert mögliche Punkte für Checkpointing Library Level Implizites Checkpointing bei z.b.: Barrieren Compilerunterstütztes Checkpointing 24

Beispiel: LA-MPI Los Alamos MPI Fehlertolerante Verbindungen Message Logging Implementiert für Terascale Clusters Nicht gegen Knotenausfälle Liegt unterhalb der MPI-Schicht 25

Beispiel: LA-MPI (Schema) Schema: Quelle: http://www.ccs.lanl.gov/ccs1/projects/la-mpi/lampi-papers/ics02.pdf 26

Beispiel: CoCheck CoCheck tumpi TU München, 1996 Checkpointing System für MPI Fehlertoleranz bei Knotenausfall Basiert auf Condor Lastverteilungs System + Process Migration Single Process Checkpointing Vorgehensweise Synchronisation Leeren der Kommunikationskanäle Single Process Checkpoint Fortsetzen 27

Zusammenfassung / Anmerkungen Klassische Fehlertoleranz meist nur gegen Hardwarefehler Cluster sind sehr selten fault tolerant (AEC-4) (Ausnahme: IBM Parallel Sysplex) Fehlertoleranz in verteilten Anwendungen wird praktisch immer über Libraries realisiert (Rechencluster) Fehlertoleranz Kommunikation Message Logging Rechenknoten Checkpointing 28

Quellen Gregory F. Pfister, In Search Of Clusters, Second Edition, ISBN 0-13- 899709-8 Parag K. Lala, Self-Checking and Fault-Tolerant Digital Design, ISBN 0-12- 434370-8 Brian Selic, Fault tolerance techniques for distributed systems, http://www-106.ibm.com/developerworks/rational/library/114.html Weikuan Yu, Compiler-Supported Checkpointing for MPI Fault Tolerance, Dept. Of Information and Computer Science, Ohio State University Richard L. Graham a.o., A Network-Failure-Tolerant Message-Passing System For Terascale Clusters, http://www.ccs.lanl.gov/ccs1/projects/lampi/lampi-papers/ics02.pdf Georg Stellner. CoCheck: Checkpointing and Process Migration for MPI. In Proceedings of the International Parallel Processing Symposium, pages 526--531, Honolulu, HI, April 1996. IEEE Computer Society Press, 10662 Los Vaqueros Circle, P.O. Box 3014, Los Alamitos, CA 90720-1264. http://citeseer.nj.nec.com/stellner96cocheck.html Harvard Reasearch Group, AEC Klassen, http://www.hrgresearch.com/ha/index.html 29