RAID steht entweder für Redundant Array of Independent Disks oder
für Redundant Array of Inexpensive Disks und bezeichnet eine
Technik, um mehrere Partitionen miteinander zu verbinden. Die beiden
verschiedenen Bezeichnungen und teilweise auch die Grundidee von
RAID-Systemen rühren daher, dass Festplattenkapazität zu besitzen früher
eine durchaus enorm kostspielige Angelegenheit werden konnte. Kleine
Festplatten waren recht günstig, große Festplatten aber unangemessen
teuer. Man suchte also eine Möglichkeit, mehrere Festplatten
kostengünstig zu einer großen zu verbinden. Aufgrund der plötzlichen
sprunghaften Erweiterung der erreichbaren Festplattenkapazitäten und
der unaufhaltsam sinkenden Preise pro Megabyte Festplattenplatz hat
sich das Erreichen des damaligen wichtigsten Zieles eines
RAID-Verbundes von selbst erledigt. Dennoch war man gewillt, den bis dahin
erzielten Entwicklungsstand eines RAID-Systems auch anderweitig zu
nutzen.
Das Ziel eines RAID-Verbundes ist heutzutage deshalb entweder eine
Performancesteigerung, eine Steigerung der Datensicherheit oder eine
Kombination aus beidem. RAID kann vor Festplattenfehlern schützen und
kann auch die Gesamtleistung im Gegensatz zu einzelnen Festplatten
steigern.
Dieses Dokument ist eine Anleitung zur Benutzung der Linux
RAID-Kernelerweiterungen und den dazugehörigen Programmen. Die
RAID-Erweiterungen implementieren den Linear (Append) Modus, RAID-0
(Striping), RAID-1 (Mirroring), RAID-4 (Striping & Dedicated Parity)
und RAID-5 (Striping & Distributed Parity) als Software-RAID. Daher
braucht man mit Linux Software RAID keinen speziellen Hardware- oder
Festplattenkontroller, um viele Vorteile von RAID nutzen zu können.
Manches lässt sich mit Hilfe der RAID-Kernelerweiterungen sogar
flexibler lösen, als es mit Hardwarekontrollern möglich wäre.
Folgende RAID Typen werden unterschieden:
Linear (Append) Mode
Hierbei werden Partitionen unterschiedlicher Größe über mehrere
Festplatten hinweg zu einer großen Partition zusammengefügt und linear
beschrieben. Hier ist kein Geschwindigkeitsvorteil zu erwarten. Fällt
eine Festplatte aus, so sind alle Daten verloren.
RAID-0 (Striping) Mode
Auch hier werden zwei oder mehr Partitionen zu einer großen
zusammengefügt, allerdings erfolgt hier der Schreibzugriff nicht
linear (erst die 1.Platte bis sie voll ist, dann die 2.Platte usw.),
sondern parallel. Dadurch wird ein deutlicher Zuwachs der Datenrate
insbesondere bei SCSI-Festplatten erzielt, welche sich für die Dauer
des Schreibvorgangs kurzfristig vom SCSI Bus abmelden können und ihn
somit für die nächste Festplatte freigeben. Die erzielten
Geschwindigkeitsvorteile gehen allerdings zu Lasten der CPU Leistung.
Bei einer Hardware RAID Lösung würde der Kontroller diese Arbeit
übernehmen. Allerdings steht der Preis eines guten RAID Kontrollern in
keinem Verhältnis zur verbrauchten CPU Leistung eines
durchschnittlichen Computers mit Software-RAID.
RAID-1 (Mirroring) Mode
Der Mirroring Mode erlaubt es, eine Festplatte auf eine weitere
gleichgroße Festplatte oder Partition zu duplizieren. Dieses Verfahren
wird auch als Festplattenspiegelung bezeichnet. Hierdurch wird eine
erhöhte Ausfallsicherheit erreicht - streckt die eine Festplatte die
Flügel, funktioniert die andere noch. Allerdings ergibt das auch
wieder nur Sinn, wenn die gespiegelten Partitionen auf
unterschiedlichen Festplatten liegen. Die zur Verfügung stehende
Festplattenkapazität wird durch dieses Verfahren halbiert. Ein
Geschwindigkeitsgewinn ist hierbei nur beim Lesezugriff zu erwarten,
jedoch erbringt der aktuelle Stand der RAID-Treiber für Linux nur beim
nicht sequentiellen Lesen vom RAID-1 Geschwindigkeitsvorteile.
RAID-4 (Striping & Dedicated Parity) Mode
RAID-4 entspricht dem RAID-0 Verfahren, belegt allerdings eine
zusätzliche Partition mit Paritätsinformationen, aus denen eine
defekte Partition wieder hergestellt werden kann. Allerdings kostet
diese Funktion wieder zusätzliche CPU Leistung.
RAID-5 (Striping & Distributed parity)Mode
Hier werden die Paritätsinformationen zum Restaurieren einer defekten
Partition zusammen mit den tatsächlichen Daten über alle Partitionen
verteilt. Allerdings erkauft man sich diese erhöhte Sicherheit durch
einen Kapazitätsverlust. Will man 5x1 GB zu einem RAID-5
zusammenfassen, so bleiben für die eigentlichen Daten noch 4x1 GB
Platz übrig. Beim Schreibvorgang auf einen RAID-5 Verbund wird erst
ein Datenblock geschrieben, dann erfolgt die Berechnung der
Paritätsinformationen, welche anschließend auch auf den RAID-Verbund
geschrieben werden. Hierher rührt die schlechtere
Schreibgeschwindigkeit der Daten. Der Lesevorgang ähnelt allerdings
dem RAID-0 Verbund. Das Resultat ist deshalb eine Steigerung der
Lesegeschwindigkeit im Gegensatz zu einer einzelnen Festplatte.
RAID-10 (Mirroring & Striping) Mode
RAID-10 bezeichnet keinen eigenständigen RAID-Modus, sondern ist ein
Kombination aus RAID-0 und RAID-1. Hierbei werden
zuerst zwei RAID-0 Verbunde erstellt, die dann mittels
RAID-1 gespiegelt werden. Der Vorteil von einem
RAID-10im Gegensatz zu einem RAID-5 ergibt sich aus
der höheren Performance. Während ein RAID-5 nur relativ wenig
Geschwindigkeitsvorteile bietet, ist ein RAID-10 durch die beiden
RAID-0 Verbunde für den Fall besser geeignet, wenn man sowohl
Redundanz als auch einen hohen Geschwindigkeitsvorteil erzielen will.
Sogar die anschließend notwendige RAID-1 Spiegelung bringt noch einen
Vorteil bei der Lesegeschwindigkeit. Weiterhin fällt hierbei die
notwendige Berechnung von Paritätsinformationen weg. Erkauft wird dies
allerdings durch eine sehr viel schlechtere Nutzung des vorhandenen
Festplattenplatzes, da immer nur 50% der tatsächlichen Kapazität mit
den eigentlichen Daten beschrieben werden kann.
|