Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group FEHLERTOLERANZ EINE SEHR GROBE ÜBERSICHT BETRIEBSSYSTEME UND SICHERHEIT, WS 2016/17 HERMANN HÄRTIG
BEGRIFFE Sicherheit/Security/Safety Fehlertoleranz Konstruktion zuverlässigerer Systeme aus weniger zuverlässigen Komponenten! 2
PLAN FÜR DIESE DS Fehler 5 Grundaufgaben Fallbeispiel: RAID Hardware Fehlermodell von Platten Anwendung 5 Grundaufgaben Bezug zur Systemarchitektur Weitere wichtige Fragen 3
FEHLER, FEHLER UND FEHLER Ursprüngliche Wirkung z.b. durch kosmische Strahlung verursachte Bit-Flips Sichtbarwerdung/Manifestation z.b. pointer kracht Wirkung z.b. falsche Daten werden gespeichert, Rechner stürzt ab englische Fachliteratur: Fault, Error, Failure 4
FEHLERTYPEN Entwurfsfehler Anforderungsanalyse Programmier- Fehler Ausfälle Äußere Effekte z.b. durch kosmische Strahlung verursachte Bit flips Alterung (Badewanne) 5
5 GRUNDAUFGABEN DER FT Entdeckung - Detection Isolation - Containment Behebung - Recovery Reparatur - Repair Redundanz 6
REDUNDANZ Zusätzliche Mittel für die Grundaufgaben: Zeit: Information: Struktur: Funktion: zusätzlich benötigte Zeit Kodierungen, Replikation gleichartiger Elemente für die Grundaufgaben benötigte zusätzliche Funktionalität 7
ENTDECKUNG Kodierungen Adressraumverletzung ( Segmentaton Fault ) Plausibilitätskontrollen viele, auch anwendungsspezifische Methoden/Wissen 8
ISOLATION Verhinderung der Ausbreiten von Fehlern direkte Erkennung und Abbrechen direkte Korrektur Adressräume 9
BEHEBUNG./. RECOVERY Herstellung eines korrekten oder konsistenten Zustandes forward backward (z.b. Checkpoints) 10
REPARATUR Wiederherstellen oder Austausch defekter Komponenten deren Eingliederung in System 11
RAID PLATTEN ALS BSP. Fehler Verfälschung magnetisch gespeicherter Informationen mechanische Beeinträchtigung (Crash) Ausfall der Plattenelektronik 12
PLATTENFEHLER Entwurfs-/Produktionsfehler Laufzeitfehler Beschädigung von Daten bspw. durch Magnetismus Reparatur: neu schreiben transiente Fehler Alterungsfehler, bspw. Ausfall einzelner Blöcke oder des ganzen Laufwerks Reparatur: Austausch permanenter Fehler 13
TRANSIENTE LESEFEHLER Jeder Block auf Platte hat Head/Tail mit redundanter Codierung Error Correcting Codes (ECC) Fehlererkennung und -korrektur durch Auswertungdieses Codes Buchführung zu Wartungszwecken Statistik: Festplatten mit höheren (transienten) Fehlerraten fallen auch bald komplett aus 14
PERMANENTE FEHLER: DEFEKTE Erkennung durch redundante Codes häufig schon bei Herstellung Vermeidung statt Entdeckung,Behebung, : Plattenspuren haben Bad Sector -Markierungen In Software: Datei mit Liste aller defekten Blöcke (Vorsicht bei Backup!), Blöcke als allokiert markiert Heute eher schon im Festplatten-Controller 15
AUSFALL VON LAUFWERKEN Entdeckung: Timeout sich häufende Lesefehler Recovery: Redundanz durch RAID Reparatur: Plattentausch 16
RAID PLATTEN ALS BSP. 17
PLATTEN Eigenschaften Persistente Speicherung Lesen/Schreiben in Einheiten von Blöcken (Sektoren) an beliebiger Stelle der Platte Beliebig häufiges Lesen und Schreiben Mechanik:Kopf verschieben / Scheiben rotieren 18
RAID - REDUNDANT ARRAY OF INDEPENDENT DISKS Ziel Bessere Leistung durch parallele ZugriffeAusgleich der Lücke zwischen immer schnelleren Prozessoren/ Speichern und nach wie vor langsamen Platte Nachteil: Mittlere Zeit bis zum Ausfall des Feldes ist kleiner Maßnahmen zur Fehlertoleranz! 19
OHNE REDUNDANZ (RAID 0) Disk Array aus n PlatteN Keine Kosten für Redundanz (trivial) Keine Fehlertoleranz 20
SPIEGELPLATTEN (RAID 1) Disk Array aus 2n Platten Jede Platte gespiegelt (identische Kopien) Schreiben: alle Daten zweimal Lesen: einmal, von schnellerer Platte Fehlertolerant (ein beliebiger Ausfall) Hohe Speicherkosten 21
EINZELNE PARITÄTSPLATTE (RAID 4) Nutzerdaten werden blockweise auf n Platten verteilt (striping)dateiblock 1 auf Disk 1, 2 auf 2,... Blockweise Paritätsbildung(Disk 1, Block 1) XOR (Disk 2, Block 1)... (Disk P, Block 1) Fehlererkennung durch jede Platte separat Rekonstruktion durch Paritätsbildung 22
RAID LEVEL 5 Probleme mit RAID 4: bei hohem Leseanteil: Paritäts-Platte nicht richtig ausgelastet bei vielen kleinen Dateien und Schreiboperationen: Engpass an Paritätsplatte Block Interleaved Distributed Parity Paritätsblöcke über gesamtes Array verteilt 23
WEITERE BEISPIELE Double modular redundancy (Stratus, ) TMR (TT-Ethernet) Replikation und Konsens Encoded processing 24
MITNEHMEN Grundelemente RAID als Beispiel 25