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