[zurück zur Bibliothek]
Verschiedene Typen von RAID-Arrays
im Überblick
Autor Werner Schuster
Die Abkürzung "RAID" steht für "Redundant Arrays
of Independent Disks" und bezeichnet Techniken, die mehrere Festplatten
zur Speicherung von Daten verwenden, um die Datensicherheit und/oder den Datendurchsatz
zu erhöhen.
RAID-Systeme kommen besonders in sicherheitskritischen oder durchsatzstarken
Datenanwendungen zum Einsatz. Da es verschiedene Möglichkeiten gibt, die
Daten redundant zu speichern, werden verschiedene "Raid-Levels" unterschieden.
Die Frage nach dem richtigen Raid-Array
für Ihre Anwendung kann nicht generell beantwortet werden sondern hängt
von vielen Faktoren ab....
- Ist Fehlertoleranz wichtig?
- Wie wichtig ist die Geschwindigkeit
beim Schreiben/Lesen?
- Kostenfrage bei der Anzahl der
Festplatten / Controller.
- Werden häufig kleine Datenmengen
(einzelne Blöcke) übertragen?
- Darf die Fehlerwiederherstellung
Zeit kosten oder muß dies auch "on the fly" möglich sein?
RAID 0:
"Striped Disk Array ohne Fehlertoleranz"
Mehrere Festplatten werden zu
einer virtuellen Platte zusammengeknüpft und ergeben so, eine große,
virtuelle Platte. Daten werden blockweise aufgeteilt.
Vorteile:
- Beim blockweisen Schreiben und
Lesen der Daten können mehrere Datenträger auf einmal verwendet
werden. (Also bei X Platten mit X Datencontrollern auch X-fache Geschwindigkeit).
Der Datendurchsatz erhöht sich dadurch beträchtlich.
- Sogar Software-Raid 0-Arrays (z.B.
unter Win2k) bringen enorme Geschwindigkeitsvorteile da keine Parity-Berechnungen
durchgeführt werden müssen.
Nachteile:
- keine Fehlertoleranz - daher eigentlich
gar kein echtes R(edundant)AID. Jeder kleine Plattenfehler wirkt sich fatal
aus. Daher wird dieses schnelle Raid 0 häufig mit Raid 1 kombiniert (Raid
10 bzw. manchmal Raid 0+1)
RAID 1:
"Mirroring"
Der Inhalt einer Festplatte wird
auf eine zweite Platte "gespiegelt".
Vorteile:
- Schnelles Lesen der Daten von
2 Platten.
- Bei Plattenfehlern werden die
Daten einfach von der 2ten Platte wieder zurückgespiegelt.
- Einfaches Design
Nachteile:
- Keine Geschwindikeitssteigerung
beim Schreiben der Daten.
- 100 % Disk-Overhead. (Für
z.B. 50GB Speicherplatz müssen 100GB angekauft werden)
Raid 10:
"Striped Mirror"
Benötige mindestens 4 Festplatten.
2 Raid 1-Arrays, die gestriped beschrieben werden. Nicht zu verwechseln mit
dem "Mirrored Stripingset" (Raid 0+1)!
Vorteile:
- Bei einem Datenfehler hat man
noch immer ein Raid 1-Array
- Hohe Datenübertragung durch
das Stripen von Raid 1-Arrays
- Schneller als Raid 1
Nachteile:
- hoher Disk-Overhead
- schlechte Skalierbarkeit
Raid 0+1:
"Mirrored Stripingset"
Benötigt mindestens 4 Festplatten.
2 Raid 0-Arrays, die gespiegelt werden.
Vorteile:
- Vergleichbare Fehlertoleranz wie
Raid 5
- Hohe Durchsatzrate
Nachteile:
- bei einem Datenfehler "zerfällt"
das Array in ein einfaches Raid 0-System
- hoher Disk-Overhead
- schlechte Skalierbarkeit
RAID 2:
"Hamming Code ECC"
Die bitweise (nicht blockweise)
"zerstückelten" Daten werden auf Daten-Festplatten verteilt -
die zugehörigen Prüfsummen auf extra ECC-Festplatten geschrieben.
Vorteile:
- Bei der Verwendung von mehreren
Daten-Festplatten sind große Durchsatzleistungen möglich.
- Plattenfehler werden zuverlässig
erkannt und beim Transfer korrigiert.
Nachteile:
- Bei wenigen Daten-Festplatten
ist das Verhältnis von Daten- zu ECC-Platten ungünstig.
- Praktisch nicht in Verwendung
- Datentransfers innerhalb des Arrays
(Lesen & Schreiben) nicht beschleunigt.
RAID 3:
"Paralleltransfer mit Fehlertoleranz"
Jeder Datenblock wird auf mehrere
Datenplatten gestrippt und eine Prüfsummenplatte verwendet.
Vorteile:
- Hohe Schreibgeschwindigkeit
- Hohe Lesegeschwindigkeit
- Gutes Verhältnis von Daten-
zu Prüfsummen-Platten
Nachteile:
- Datentransfers innerhalb des Arrays
(Lesen & Schreiben) nicht beschleunigt.
RAID 4:
"Unabhängige Datenplatten mit gemeinsamer, zentraler Prüfsumme"
Fast wie Raid 3 - allerdings wird
jetzt pro Datenplatte ein Block geschrieben und eine Prüfsummenplatte verwendet.
Also eigentlich ein Raid 0 mit Parity...
Vorteile:
- Gutes Verhältnis zwichen
Daten- und Prüfsummenplatten
- Generell hohe Lesegeschwindigkeit
Nachteile:
- Schlechteste Schreibperformance.
(Bei jedem geschriebenen Block müssen die Blöcke der anderen Festplatten
eingelesen werden und die Prüfsummen neu gebildet werden...)
- Komplizierte Datenwiederherstellung
nach einem Fehler
- Keine Beschleuningung beim Lesen
eines einzelnen Blocks.
RAID 5:
"Unabhängige Datenplatten mit gemeinsamen, verteilten Prüfsummen"
Daten werden blockweise auf mehrere
Festplatten (mind. 3 Stk.) verteilt, eine Prüfsumme generiert und ebenfalls
auf die nächste freie Festplatte geschrieben. Jede Platte hält somit
Daten, als auch Prüfsummen.
Vorteile:
- Sehr hohe Lesegeschwindigkeit
- Gute Schreibgeschwindigkeit
- Gutes Verhältnis von Daten
und Prüfsummen
Nachteile:
- Komplexer Aufbau - Teure Controller
- Keine Beschleunigung beim Lesen
eines einzelnen Blocks.
Raid 6:
"Unabhängige Datenplatten mit 2-dimensionalem Parityarray"
Eigentlich ein Raid 5 mit zusätzlichem
Paritätsblock, der periodisch über alle Platten verteilt wird und
eine Kreuzsumme zu den Raid 5-Blöcken (inkl. dessen Paritätsinformation)
implementiert.
Vorteile:
- Seeehr sicher
- Korrigiert auch mehrere Datenfehler.
Nachteile:
- Komplizierter gehts wohl kaum
- sehr teure Controller
- komplizierte Paritätsberechnungen
- Sehr langsame Schreibleistung
- Verhältnis von Daten- zu
Paritätsblöcken bei wenigen Platten ungünstig.
Die Hersteller von Raid-Controllern
lassen Sich immer neuere Varianten von Raid-Systemen einfallen. Diese Exoten
kann man aber kaum als Standard bezeichnen. Trotzdem werden einige noch kurz
aufgelistet....
Raid 7: "Asynchrones
Raid-Array mit Cachesystem"
Gleicht vom Ansatz eher dem Design
eines Betriebssystems und nicht einer Plattenarchitektur.... :-)
Raid 53: "Raid
3 mit Striping Layer"
Unter Umständen die richtige
Wahl bei kleinen Transfermengen (einzelne Blöcke)?
[zurück
zur Bibliothek]