RAID level 0
Transcrição
RAID level 0
Verlässliche Verteilte Systeme 1 Angewandte IT-Robustheit und IT-Sicherheit Vorlesung im Wintersemester 2004/2005 Prof. Dr. Felix Gärtner Teil 6: RAID-Systeme 1 Lehr- und Forschungsgebiet Informatik 4, RWTH Aachen, http://www-i4.informatik.rwth-aachen.de/lufg/ Ankündigungen ● Vorlesung am Donnerstag, 11.11.2004 fällt leider aus 2 Übersicht Bisher: Hardware-Fehlertoleranz, Zuverlässigkeitsmetriken, Backups Jetzt: Hochverfügbare Speicherlösungen ● ● ● ● ● Übersicht: ● ● ● ● ● ● ● RAID = redundant arrays of inexpensive/independen disks Redundante Festplatten zur Erhöhung der Performanz und Ausfallsicherheit Methode der Fehlerbehandlung, die sich in der Praxis (fast bis in den Heimbereich) durchgesetzt hat Definition und geschichtliche Entwicklung RAID level RAID Produkte MTTF von RAID Dank an Michael Becher für die Grundlage der Folien Einige Folien übernommen aus Vorlesung „FTCS“ von Prof. Haverkort im Sommer 2002 an der RWTH 3 Definition RAID Ursprüngliche Abkürzung: redundant array of inexpensive disks Neuerdings (lässt sich besser vermarkten): redundant array of independent disks Idee: Durch Zusammenschluss mehrerer Festplatten zu einem (logischen) Laufwerk ... ● ● ● ● ● ● Kosten senken (durch Verwendung billiger Festplatten) Leistung steigern (Parallelisierung) Zuverlässigkeit erhöhen (durch Redundanz) Prägende Veröffentlichung: ● ● David A. Patterson, Garth Gibson, Randy H. Katz: A Case for Redundant Arrays of Inexpensive Disks (RAID), ACM SIGMOD, Chicago, June 1988. 4 Idee von RAID logisches Laufwerk, Performanzsteigerung, Zuverlässigkeitssteigerung ● ● Fehlererkennung zur Wartung/Wiederherstellung 5 Geschichtliches Bereits 1978 U.S.-Patent 4 092 732 „System for recovering data stored in failed memory unit“ von N. K. Ouchi 1981 IBM mit dem ersten Produkt 1988 Prägung des Begriffes durch Patterson, Gibson, Katz ● ● ● ● ● Ziel: keine Produkte beschreiben sondern den wissenschaftlichen Unterbau liefern Beschreibung von sechs RAID level (0-5) In der Folge: zahlreiche inkompatible Produkte mit Bezeichnung RAID 1992: Gründung des RAID Advisory Board (RAB) ● ● ● ● ● Zusammenschluss von acht Firmen (heute über 50), die RAIDProdukte herstellen Ziel: Standardisierung, Zertifizierung und Förderung von RAIDTechnologie http://www.raid-advisory.com 6 Geschichtliches (Forts.) 1993: erste Ausgabe des RAIDbook des RAB ● ● Grundlage der Zertifizierung 1994: Vielzitierter Artikel, der die Entwicklungen zu RAID zusammenfasst ● ● Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson: RAID: High-Performance, Reliable Secondary Storage. ACM Computing Surveys, 26(2), pp. 145185, June 1994. 1996/1997: Einführung der RAB EDAP-Klassifizierung ● ● Neue Terminologie nach der Konfusion der RAID level Heute: ● ● ● ● Webseite des RAB veraltet, nicht mehr wirklich erreichbar wenige offiziell nach EDAP zertifizierte Produke wenige RAID level, die sich durchgesetzt haben (dann aber einigermaßen konsistent bezeichnet werden) 7 Motivation von RAID Beobachtungen: ● ● ● ● Geschwindigkeit der CPUs verdoppelt sich pro Jahr Speicherdichte der Festplatten verdoppelt sich pro Jahr Zugriffsgeschwindigkeit der Festplatten erhöht sich kaum Schlussfolgerung: ● ● mehrere Festplatten parallel verwenden Aber: ● ● Verwendung mehrerer (nicht-redundanter) Festplatten verschlechtert die Zuverlässigkeit (MTTF/N) Schlussfolgerung: ● ● ● Festplatten redundant auslegen aber wie? 8 Originale RAID level RAID level 0: ● ● Verteilung der Datenblöcke über mehrere Festplatten (striping), keine Redundanz RAID level 1: ● ● Spiegeln der gesamten Platte auf eine Zweite (Gegenteil von RAID 0) RAID level 2 bis 4: ● ● striping mit fehlerkorrigierendem Hamming-Code (parity bits auf separater Platte) RAID level 5: ● ● striping, jedoch auch der parity-Informationen 9 RAID level 0: non-redundant striping ● ● ● ● keine Datenredundanz, daher eigentlich kein RAID disk striping = folds multiple disk address spaces into a single unified space seen by the host Verteilung der Daten „streifenweise“ auf alle Laufwerke Beispiel für N=2: 10 Striping-Varianten fine-grain striping (feine Verteilung): ● Streifen (strip): 1 Byte bis zu 1 Sektor bei N Platten enthält jede Platte 1/N alle Datenblöcke Vorteile: ● ● ● ● ● Datentransferrate erhöht sich um Faktor N (paralleles Lesen und Schreiben) Last auf den Platten ist gleichverteilt Nachteil: ● ● ● ein einziger Plattenfehler ist katastrophal MTTF reduziert sich um Faktor 1/N coarse-grain striping (grobe Verteilung): ● Datenblöcke werden im Round-Robin-Verfahren vergeben für grosse Dateien: ● ● ● ● ● ● Transferrate erhöhen (durch paralleles Lesen/Schreiben unterschiedlicher Teile derselben Datei) automatische Lastverteilung für kleine Dateien: paralleles Lesen/Schreiben mehrerer kleiner Dateien einiger Plattenfehler betrifft „nur noch“ viele Dateien 11 RAID level 1: Mirrored Disks Einzelne Platte wird jeweils gespiegelt Beispiel: eine Systemplatte plus ein Spiegel ● ● ● ● Schreiben: immer auf beide Platten Lesen: von der schnellsten Platte Allgemein: D-fache Spiegelung ● ● ● ● D-facher Aufwand beim Schreiben D-schnellste Antwortzeit nutzen D-1 Festplattenausfälle können toleriert werden 12 RAID level 2: striping mit Hamming Code striping wie RAID 0, aber mit strip size von einem 1 Bit ● ● ● „...we can mimic the DRAM solution by bit-interleaving the data across disks of a group and then add enough check disks to detect and correct a single error.“ (Patterson et al., p. 112) Parity-Information auf separaten Platten 13 RAID 2: Bemerkungen besser als RAID 1: bei Verwendung des Hamming Codes ● ● ● Problem: ● ● ● ● für d Datenplatten benötigt man nur | log2d | + 1 parity-Platten Beispiel: 10 Arbeitsplatten, 4 parity-Platten bei bitweisem striping sind parallele Zugriffe so gut wie unmöglich Hamming Code „verschwendet“ Redundanz, um die fehlerhafte Platte herauszubekommen Idee: Vergrößerung des strip size 14 RAID level 3: singe check disk ● ● ● ● benutzen den Disk-Controller, um fehlerhafte Platte herauszubekommen striping mit mehr Bits even oder odd parity auf einer einzigen separaten parityPlatte Beispiel: drei Platten, eine parity-Platte, even parity: 15 RAID level 3: Bemerkungen Schreibzugriff: ● Daten schreiben, parity berechnen, parity schreiben ● Lesezugriff: ● Daten lesen, Controller abfragen alle Platten okay? ● ● ● ● Ja: fertig Nein: lese parity-Platte, um Fehler zu korrigieren Vorteile: ● ● ● nur noch eine parity-Platte Performance-Gewinn durch größere strips 16 RAID level 4: independent read/write wie RAID 3, strip size ist gleich einem Block Vorteile des coarse grain striping: ● ● ● ● Nachteil: ● ● ● paralleles Lesen/Schreiben grosser Dateien paralleles Lesen/Schreiben mehrerer kleiner Dateien parity-Platte wird zum Flaschenhals Idee: parity verteilen 17 RAID level 5: no single check disk ● ● parity-Informationen sind nun auch verteilt guter Kompromiss aus Redundanz und Performanz ● ● viele Implementierungen in der Praxis ... RAID 2 bis 4 führen nur zu RAID 5 hin, waren nie ernst gemeinte Alternativen 18 weitere RAID level Im Artikel von Chen et al. wird ein weiteres RAID level 6 vorgeschlagen: ● wie RAID 5 (verteilte parity-Informationen) Verwendung von Reed-Salomon parity codes und einer zusätzliche Platte kann den Ausfall von bis zu zwei Festplatten tolerieren ● ● ● einige Kombinationen von RAID levels möglich: ● RAID level 10 = level 1 + level 0 ● ● ● ● ● striping (für Performanz) und mirroring (für Ausfallsicherheit) RAID level 50 = level 5 + level 0 (?) RAID level 51 = level 5 + level 1 Verwirrende Vielfalt an Begriffen... 19 Die EDAP-Klassifikation EDAP = extended data availability and protection 1996 vom RAB eingeführte (neue) Klassifikation für RAIDSysteme ● ● ● ● Drei Hauptkategorien: ● ● ● ● ● ● Liste von 21 Kriterien, von denen jeweils Teilmengen abgedeckt werden müssen Kriterien aufeinander aufbauend (im Gegensatz zu RAID level) Failure-Resistant (FR): bei Laufwerksfehler den Verlust der Daten verhindern Failure-Tolerant (FT): bei Laufwerksfehler weiterhin Zugriff auf die Daten ermöglichen Disaster-Tolerant (DT): Daten müssen über größere Entfernung gespiegelt sein; ermöglicht Datenzugriff auch nach Ausfall eines ganzen Standortes Unterscheidung in Plattensystem (DS) und Array Controller (AC) manchmal „Plus-Kategorie“, z.B. „FRDS+“ 20 Failure Resistant Disk Systems (FRDS) ● Beispiel für die ersten 6 Kriterien: 1. Sicherheit des Datenzugriffs sowie Schutz gegen Datenverlust bei Fehlern einer Festplatte 2. Wiederherstellung des Dateninhalts einer fehlerhaften Festplatte und dessen Speichern auf einer Ersatzfestplatte bei akzeptabler I/O-Performance des gesamten RAID-Systems 3. Absicherung gegen Datenverlust durch ein 'write hole' (Inkonsistenz zwischen den Daten und der zugeordneten Redundanzdaten) 4. Schutz gegen Datenverlust trotz Ausfall eines I/O-Kanals des zugeordneten Servers als Ganzes 5. Schutz gegen Datenverlust trotz Ausfall einer Festplattenkomponente etwa Controller oder Stromversorgung 6. Überwachung und Fehlermeldung einer FRU (Field Replaceable Unit, z.B. Festplatte) ● Dies definiert ein „FRDS“, und ein „FRDS+“? 21 FRDS+ und FTDS FRDS+: Items 1 to 6, and ... ● ● ● ● ● ● FTDS: Items 1 to 11, and ... ● ● ● ● 7. Festplatten sind während des Betriebs austauschbar 8. Kein Datenverlust bei Ausfallen des Cache 9. Kein Datenverlust bei Ausfallen der externen Stromversorgung 10. Kein Datenverlust bei Überschreiten des zulässigen Termperaturbereiches 11. Warnmeldungen bei Strörungen im RAID-Speichersystem oder in dessen Umgebung 12. Sicherheit des Datenzugriffs sowie Schutz gegen Datenverlust trotz eines I/O-Kanalfehlers innerhalb des Festplattensystems 13. Sicherheit des Datenzugriffs trotz eines Controllerfehlers usw... 22 Von FTDS+ bis DTDS+ FTDS+: Items 1 to 13, and... ● ● ● ● ● 14. Sicherheit des Datenzugriffs trotz Cache-SpeicherAusfällen 15. Sicherheit des Datenzugriffs trotz Ausfall des Netzteils. 16. Sicherheit des Datenzugriffs beim Austausch einer FRU 17. Es existiert eine im laufenden Betrieb zuschaltbare Reserverplatte (Disk hot spare) FTDS++: Items 1 to 17, and ... ● ● 18. Sicherheit des Datenzugriffs sowie Schutz gegen Datenverlust beim Ausfall mehrerer Festplatten eines FTDS+Systems DTDS: Items 1 to 16, and ... ● ● 19. Sicherheit des Datenzugriffs sowie Schutz gegen Datenverlus bei Verlust eines Speichersystems am Standort DTDS+: Items 1 to 15, and ... ● ● 20. Sicherheit des Datenzugriffs über größere Entfernungen (1 bis 10 km) bei Ausfall an einem Standort 23 RAID in der Praxis RAID level 2 bis 4 sind nicht in freier Wildbahn anzutreffen RAID kann in Software (Betriebssystem) oder Hardware (Controller) implementiert werden Software RAID: ● ● ● Windows 2000 und XP unterstützen RAID level 0 und 1 ● ● siehe: RAID Without Additional Hardware: Do it Yourself with Windows 2000. Aus Tom's Hardware Guide, online: http://www4.tomshardware.com/howto/20010906/index.html Linux (ab Kernel 2.4) unterstützt RAID levels 0, 1, 4 und 5 ● ● ● zusätzlich: linear mode, zusammenfügen mehrerer Platten zu einer einzigen großen Platte siehe: „The Software-RAID HOWTO“ von Jakob Østergaard und Emilio Bueso (letzte Version 1.1 vom Juni 2004) 24 Messungen RAID 0: Transferraten Windows 2000 aus Tom's Hardware Guide (siehe vorherige Folie) IBM DTLA Platte ● ● ● ● channel = IDE channel ● 4x RAID 0 fast 4mal besser als einfache Platte ● Motto von RAID 0: increased performance at no costs 25 Messungen RAID 0: Transferraten ● ● normale Transfer Rate (oben) mit 4 Platten, 3 IDE-Kanälen und RAID 0 (unten, Skala beachten) 26 Hardware RAID ● ● RAID-Controller teilweise schon auf Mainboards vorhanden, dann aber oft nur RAID 0, 1 oder 10 dezidierte SCSI-basierte Disk-Controller für RAID 0, 1, 5 Adaptec 2200S U320 RAID (SCSI) RAID level 0, 1, 10, 5, 50 ca. 650 EUR Promise FastTrak SX4000 (IDE) RAID level 0, 1, 10, 5 bis zu 4 Platten anschliessbar ca. 200 EUR 27 Mittelgroße Systeme Promise UltraTrak SX4000: ● ● ● ● ● ● ● RAID level 0, 1, 3, 5, 10, 30, 50 maximal 4 Festplatten IDE kann RAID level on-the-fly ändern hot-swap fähig Datendurchsatz 80 MB/s ca. 1500 EUR 28 Große Systeme ● Symmetrix-Systeme (Fujitsu-Siemens bzw. EMC) höchste RAB EDAP-Stufe DTDS+ maximal 84 TB Kapazität 8-256 GB Cache 192-576 Laufwerke 29 MTTF-Überlegungen Annahmen: ● ● ● ● nur Festplattenfehler (keine Fehler in der Stromversorgung etc.) Fehler sind unabhängig (in der Praxis oft nicht der Fall) alle Bit-Fehler werden erkannt und korrigiert (Bitfehlerrate etwa 1 in 1014) 30 MTTF von RAID 1 31 MTTF von RAID 5 32 Zusammenfassung und Ausblick RAID-Systeme schützen gegen Festplattenausfälle, halten dabei Daten verfügbar ● verschiedene RAID level wesentlich: level 0, 1, 5 ● ● RAID ist der de-facto-Standard für Speicherlösungen bei Servern ● sowohl in Software als auch in Hardware implementierbar hochverfügbare Festplatte! ● ● Wie macht man die „Berechnung“ hochverfügbar? ● Transparentes Backup, heisse/kalte Reserve basiert oft auf RAID als Speicherlösung ● ● Nächstes Mal: ● einige Fallstudien zur Hochverfügbarkeit ● ● ● damit Abschluss des Fehlertoleranzteils dann: Übergang zur security 33