Entstehung des RAID
Erstmal wurde RAID 1987 definiert – damals noch als „Redundant Array of Inexpensive Disks“. Es sollte damit das Problem langsamer Festplattenzugriffe und geringer MTBF (Mean Time Between Failures) gelöst werden. Die Idee war es, Daten auf vielen kleinen und billigeren Platten abzulegen. Der Name und das Konzept entstanden als Gegenvorschlag zu den damals sehr teuren SLEDs (Single Large Expensive Disks).
Mit den RAID-Leveln sind die einzelnen Anordnungen für die Praxis definiert, die seit 1992 durch das RAB (RAID Advisory Board) standardisiert werden – das sind etwa 50 Hersteller von Hardwarekomponenten. Die Varianten RAID 0 und RAID 6 wurden vor allem durch die Industrie geprägt. Aktuell sind RAID-Systeme für Serveranwendungen unverzichtbar, da sie für Ausfallsicherheit sorgen und in vielen Fällen den Durchsatz erhöhen.
RAID – die Grundlagen
Für den Aufbau eines RAID-Systems sind mindestens zwei Speichermedien notwendig, die gemeinsam betrieben werden. Sie bilden einen Verbund, der in mindestens einem Aspekt leistungsfähiger ist als ein entsprechendes Einzelmedium. Aus Sicht des Benutzers bzw. Anwenderprogramms ist es nicht erkennbar, ob ein einzelnes Medium oder ein Verbund genutzt wird.
Es gibt zwei Varianten von RAID, die ihre spezifischen Vor- und Nachteile haben: Hardware-RAID und Software-RAID.
Hardware-RAID
Wie die Speichermedien zusammenwirken, organisiert bei einem Hardware-RAID der sogenannte RAID-Controller. Diese speziell entwickelte Baugruppe ist immer in physischer Nähe zum Speichermedium positioniert – in Rechenzentren beispielsweise auf dem gleichen Disk-Array wie die Festplatten. Bei professionellen Hardware-RAIDs sind eingebettete CPUs und große, zusätzliche Cache-Speicher zu finden. Das entlastet den Hauptprozessor und bietet den höchsten Datendurchsatz.
Software-RAID
Beim Software-RAID wird das Zusammenspiel der Festplatten komplett softwareseitig organisiert, d. h. der Computer führt die RAID-Verwaltung durch. Dazu werden die Speichermedien zunächst als JBODs (Just a Bunch Of Disks) in das System integriert, also ohne RAID-Controller. Die RAID-Funktionalität wird anschließend per Software realisiert.
Vor- und Nachteile von RAID-Systemen
RAID-Systeme können vielfältige Vorteile bieten, die sich jedoch teilweise gleichzeitig ausschließen. Die wichtigsten Merkmale zeigen sich vor allem in der Redundanz und Leistung: Dazu zählen die erhöhte Ausfallsicherheit und eine gesteigerte Datenübertragungsrate. RAID bietet darüber hinaus:
- Aufbau logischer Laufwerke
- Austausch von Speichermedien (auch während des Betriebs: Hot Plug)
- Kostenreduzierung dank mehreren kleinen, preiswerten Medien
Die Nachteile eines RAID zeigen sich in der Skalierbarkeit und bei einem möglichen Rebuild. Prinzipiell ist es nicht möglich, ein RAID-System zu verkleinern. Speicher hinzuzufügen ist zwar möglich, aber sehr zeitintensiv. Denn die Nutzerdaten und Paritätsinformationen müssen physisch komplett neu organisiert werden. Weitere Voraussetzung: Der neue Datenträger muss mindestens so groß sein wie der kleinste im bestehenden System.
Kommt es zu einem Festplattenausfall, müssen alle Daten auf einer neuen Festplatte wiederhergestellt werden. Das erfordert sehr viele Lese-, Schreib- und Berechnungsvorgänge. Ein weiterer negativer Faktor ist die Zeit für den Rebuild, denn die Wiederherstellung von mehreren TB Daten kann 24 Stunden oder länger dauern. Da während dieses Zeitraums keine Redundanz gewährleistet ist, würde ein weiterer Fehler zum Verlust der kompletten Datenmenge führen.
RAID-Level
Wie die einzelnen Speichermedien zusammenarbeiten, spezifizieren die RAID-Level. Zu den gebräuchlichsten für die praktische Anwendung zählen RAID 0, RAID 1 und RAID 5. Immer häufiger kommt heute auch RAID 6 zum Einsatz.
RAID 0
Streng genommen handelt es sich bei RAID 0 nicht um ein echtes RAID, sondern nur um ein schnelles „Array of Independent Disks“. Es bietet also Beschleunigung ohne Redundanz. Die beteiligten Festplatten werden im Reißverschlussverfahren aufgeteilt, in zusammenhängende Blöcke gleicher Größe. Das ermöglicht gesteigerte Transferraten und einen parallelen Zugriff auf alle Platten.
Kommt es zu einem Defekt, kann der RAID-Controller die Nutzerdaten ohne die ausgefallene Platte nicht vollständiger wiederherstellen. Deshalb ist RAID 0 vor allem für Systeme mit lesenden Zugriffen (Musik-/Videowiedergabe) relevant oder Anwendungen, bei denen Ausfallsicherheit kaum von Bedeutung ist.
RAID 1
Bei RAID 1 ist hingegen volle Redundanz gegeben, da die Festplatten gespiegelt (Mirroring) werden. Dazu benötigt das System mindestens zwei Speichermedien, auf denen jeweils die gleichen Daten abgelegt werden. Die Kapazität des RAID ist dabei maximal so groß wie die kleinste beteiligte Festplatte. RAID 1 wird heute nur noch selten genutzt, beispielsweise für Datenlaufwerke.
Vorteile dieser Lösung: Sie ist einfach und ausfallsicher, da jede andere Platte weiterhin alle Daten liefern kann. Der Rebuild erfolgt in der Regel als einfache Kopieraktion ohne komplexe Rechenoperationen.
RAID 5
RAID 5 vereint Block-Level-Striping mit verteilter Paritätsinformation. Dabei bilden die Datenblöcke, die an der gleichen Adresse anliegen, eine logische Gruppe. Einer der Blöcke in jeder Gruppe enthält die Paritätsdaten, während die anderen die Nutzerdaten speichern. Wie bei RAID 0 werden die Nutzerdaten auf alle Festplatten verteilt (gestriped), hier jedoch zusätzlich noch die Paritätsdaten. Die Schreib- und Leseleistung ist weitgehend von der Anzahl der Festplatten abhängig – das Minimum sind drei Festplatten. Ergänzend verbessert ein großer Cache die Lese-Performance.
Vorteile von RAID 5: Beim Lesen von Daten wird ein gesteigerter Durchsatz erreicht. Außerdem ist Redundanz bei relativ geringen Kosten möglich. Das macht dieses System als Fileserver interessant.
RAID 6
RAID 6 vereint, wie RAID 5, Block-Level-Striping mit verteilter Paritätsinformation. Hier ist jedoch die Paritätsinformation doppelt vorhanden. Das wird je nach System durch verschiedene Methoden erreicht.
Vorteile von RAID 6: Es bietet die gleichen Vorteile wie RAID 5. Ergänzend wird der Ausfall von bis zu zwei Einzellaufwerken kompensiert. Gerade beim Einsatz von hochkapazitiven Festplatten ist das im Fehlerfall ein zusätzlicher Schutz während des sehr lange dauernden Rebuilds.
RAID 10
Bei RAID 10 handelt es sich um einen Verbund, bei dem RAID 0 über mehreren RAID 1 organisiert ist. Dazu sind mindestens vier Festplatten notwendig, wobei durch die Spiegelung maximal die Hälfte der gesamten Festplattenkapazität verfügbar ist. RAID 10 kombiniert Sicherheit und gesteigerte Lese-/Schreibgeschwindigkeit – also die Eigenschaften beider RAID-Level.
Das bringt zwei entscheidende Vorteile mit sich: einerseits die bessere Ausfallsicherheit und andererseits eine schnellere Rekonstruktion nach einem Plattenausfall. Denn es muss lediglich ein Teil der Daten rekonstruiert werden.
Anwendung findet RAID 10 beispielsweise bei Laufwerken virtueller Server mit hoher I/O-Last.
RAID 50
Ebenfalls ein Verbund ist RAID 50, bestehend aus einem RAID-0-Array, das sich aus mehreren striped RAID 5 zusammensetzt. Für dieses System sind mindestens sechs Festplatten nötig. Es bietet einen sehr hohen Durchsatz beim Schreiben und Lesen. Deshalb eignet sich RAID 50 vor allem für Datenbankanwendungen, bei denen Redundanz und Schreibdurchsatz im Vordergrund stehen. Insgesamt wird es in der Praxis jedoch eher selten genutzt.
RAID 60
Dieses RAID-System kombiniert mehrere RAID 6 mit RAID 0, wobei mindestens acht Festplatten im Einsatz sind. Obwohl die Schreibgeschwindigkeit sehr gering ist, wird die Zugriffsgeschwindigkeit deutlich erhöht. Darüber hinaus bietet dieses RAID-Level eine hohe Ausfallsicherheit, da sogar zwei Festplatten pro RAID 6 ohne Totalverlust ausfallen können. Zudem erlaubt RAID 60 den Aufbau sehr großer logischer Laufwerke, was bei Back-up-Storages und Archivsystemen sinnvoll sein kann.
Spare-Laufwerk
Das Hot-Spare-Laufwerk (auch Hot-Fix oder einfach Spare Drive) ist ein unbenutztes Reservelaufwerk. Fällt ein Laufwerk innerhalb des RAID-Verbundes aus, wird es vom RAID-Controller oder der RAID-Software automatisch durch das Reservelaufwerk ersetzt. Unterstützt das System mehrere RAID-Arrays, so kann ein Spare-Laufwerk (oder auch mehrere) für alle Arrays definiert werden, ein sogenanntes Global Spare. Wird jedem Array ein eigenes Spare-Laufwerk zugewiesen, spricht man von einem Local oder Dedicated Spare.
Vorteil von Spare-Laufwerken: Die Redundanz wird schnellstmöglich automatisch und ohne Benutzereingriff wiederhergestellt. Der tatsächliche Tausch des defekten Laufwerks kann dann auch zeitverzögert erfolgen.