RAID-Systeme

von Clemens Prerovsky

 


Einleitung zu RAID-Systemen

 

RAID bedeutet Redundant Array of Independent/Inexpensive Disks. Dahinter verbirgt sich nichts anderes als das Zusammenschalten mehrerer Festplatten, mit dem Ziel höherer Datensicherheit und einer ebenfalls verbesserten Performance.

 

Die älteste Version eines RAIDs gab es schon in den 90er  Jahren von Novell, damals unter dem Namen STF II. Es unterstützte bereits die Techniken Duplex und Mirror, die heute als RAID Level 1 bekannt sind. Dabei wurden Daten immer auf zwei Festplatten gleichzeitig abgelegt, wobei eine Platte das exakte Abbild der zweiten darstellte. Fällt eine der beiden Platten aus, so sind die Daten immer noch auf der zweiten vorhanden.

 

And diesem Beispiel lasen sich zwei wichtige Grundlagen der RAID-Technik sehr gut beschreiben:

 

RAID-Levels beschreiben grundsätzliche Verfahrensweisen, nicht jedoch deren technische Umsetzung. So nutzt Duplex mit zwei Platten denselben Controller, während Mirror zwei Platten mit je einem eigenen Controller ausstattet. Obwohl diese Verfahren in ihrer technischen Umsetzung völlig unterschiedlich sind, bezeichnet man dennoch beide als RAID Level 1.

 

Ein weiterer wichtiger Punkt ist, dass RAID-Levels keine Wertung abgeben, sondern lediglich Benennungen für bestimmte Schemata sind. RAID Level 5 ist also technisch nicht fortgeschrittener, als RAID Level 3, es bietet nur andere Vor- und Nachteile. So ist jeder RAID-Level allen Anderen in bestimmten Anwendungsgebieten überlegen, bringt aber auch seine Nachteile mit sich.

 

Der zentrale Satz zur RAID-Technik läst sich in etwa so formulieren:

 

„Auch wenn Teile des Systems kaputt gehen, gibt es trotzdem keinen Datenverlust“

 

 

RAID-Systeme

 

RAID-Systeme sind natürlich teuer, obwohl sie für SCSI- und IDE-Interfaces verfügbar sind. Erst neuere Generationen von Mainboard machen RAIDs auch für den Privatanwender erschwinglich, da sie über OnBoard-RAID-Controller verfügen. Das solche OnBoard-Lösungen mit professionellen Systemen nicht konkurrieren können, steht außer Frage.

 

Im professionellen Bereich werden jedoch die hohen Kosten zur Nebensächlichkeit, wenn ihnen ein enormer Datenverlust, oder der Totalausfall der gesamten EDV-Anlage gegenübersteht.

 

Ein weiterer Vorteil von RAIDs ist deren gesteigerte Performance im Vergleich zu Systemen mit nur einer Platte. Dies hängt aber stark von der Anwendung und der Art des RAIDs ab. Am einfachsten lassen sich die Vorteile in der Performance an einem RAID-Level beschreiben, welches der eigentlichen Definition eines RAIDs erstaunlicherweise nicht entspricht, und daher eigentlich nicht einmal als ein solches bezeichnet werden dürfte: dem RAID-0. RAID-0 bietet sogar noch eine verringerte Datensicherheit, als eine Einzelplatte. Dafür zeichnet es sich durch eine besonders hohe Geschwindigkeit aus. Bei jeder Festplatte, egal ob IDE oder SCSI ist die Mechanik der Flaschenhals des Systems. Ein RAID-0 besteht aus mehreren Festplatten, die in einer Kette hintereinander geschalten werden. Trifft nun ein Schreibbefehl beim Controller ein, so teilt er die Datei sequentiell auf die Platten auf. Nacheinander wird auf jeder Platte ein Teil der Datei abgelegt, wodurch die mechanischen Wartezeiten verkürzt werden, da bei Auslastung der einen einfach die nächste Platte beschäftigt wird. Somit entsteht ein kontinuierlicher Datenstrom am Interface.

 

Dieses Aufsplitten der Daten kommt auch in anderen RAID-Levels der Geschwindigkeit zugute, wobei es meistens mit zusätzlichen Platten für die Fehlerkorrektur kombiniert wird, um erhöhte Sicherheit zu gewährleisten.

 

 

 

Hot Plug

 

Wenn es einmal soweit ist, und wirklich eine Platte ihren Dienst versagt, hat sich die Investition in ein RAID-System bereits gelohnt. Doch was dann?

 

Hot Plug ermöglicht es, Komponenten während des laufenden Betriebes auszuwechseln. So kann zum Beispiel eine kaputte Festplatte ersetzt werden, ohne den Computer neu starten zu müssen.

 

Wir jedoch ein Hot Plug durchgeführt, so kommt es in dieser Zeit logischerweise zu einer verminderten Datensicherheit und Performance. Bei professionellen Systemen sind nicht nur Festplatten, sondern auch andere Komponenten, wie zum Beispiel Controller oder Netzteile in laufendem Betrieb wechselbar.

 

 

Die technische Umsetzung

 

Es gibt drei Varianten der technischen Realisierung von RAID-Systemen: Software-RAIDs, Controller-RAIDs und Hardware-RAIDs.

 

Software-RAID

 

Das Software-RAID ist mit Sicherheit die ungeschickteste Umsetzung eines RAID-Systems. Über einen Treiber werden die verschiedenen Platten zu einer verbunden, und treten im Betriebssystem als eine Platte auf. Da dem Prozessor die Aufsplittung der Dateien und Prüfsummen zufällt, ist diese Version eine sehr rechenintensive und langsame Variante. Im Gegensatz dazu beanspruchen RAID-Controller oder Hardware-RAIDs den Prozessor nicht, die Sie über eigene Prozessoren zu Verwaltung verfügen.

 

Dennoch ist dies eine sehr beliebte Version des RAIDs, da zum Beispiel Windows 2000 ein Software-RAID mitliefert, und dieses in der Realisierung recht einfach und kostengünstig ist.

 

Controller-RAID

 

Hier werden die Festplatten über einen Controller zu einer Platte verbunden. Alle Aufgaben der Organisation werden von ihm übernommen, die CPU wird nicht belastet. Diese Variante eines RAIDs bietet gute Performance zu moderaten Preisen.

 

Hardware-RAID

 

Die eleganteste und natürlich auch teuerste Lösung stellt ein Hardware-RAID dar. Es handelt sich dabei um eine geschlossene Box, die mit einer entsprechenden Anzahl von Festplatten bestückt wird. Das gesamte System wird an einen normalen Controller angehängt, die Organisation der Daten übernimmt der eingebaute Controller. Meistens verfügen Hardware-RAIDs noch über einen zusätzlichen eingebauten Cache.

 

 

RAID Levels

 

Die RAID Levels wurden an der Universität von Berkeley definiert und haben sich als Standard etabliert. Die technische Umsetzung wurde jedoch wie erwähnt nicht berücksichtigt. Der RAID Level beschreibt lediglich die Ausprägung der Datenaufteilung und Fehlerprüfung. So lässt sich zum Beispiel RAID Level 2 nicht sinnvoll mit den Möglichkeiten eines PCs umsetzen. Es wird daher fast ausschließlich im Bereich der Mainframes eingesetzt.

 

Die Levels 1, 3, 4 und 5 sind die klassischen RAID Levels. Sie bieten erhöhte Datensicherheit und entsprechen somit den Anforderungen der Definition.

Das oft erwähnte RAID Level 0 ist eigentlich gar kein richtiges RAID-System, da es keine Redundanzen aufweist. In Verbindung mit anderen RAID Level zeigt es jedoch echte Vorteile. RAID Levels lassen sich nämlich in ihren Eigenschaften untereinander kombinieren. Es werden dafür natürlich die marketingtechnisch am besten klingenden Namen gewählt. So nennt man eine Kombination aus RAID 1 und RAID 3 nicht RAID 13, sondern RAID 31.

 

Diese gemischten Levels wurden jedoch nicht definiert, sondern entstehen in den Köpfen der Entwickler, die Eigenschaften bestehender Levels kombinieren. Dabei haben sich einige gute Mischungen in Punkto Datensicherheit (53, 51, 31) und Geschwindigkeit (10, 30, 50) herauskristallisiert.

 

 

RAID Level 0

 

Ein RAID 0 besteht aus einer Kette beliebig großer Laufwerke, die zu einem Großen Laufwerk zusammengefasst werden. Soll nun ein Schreibvorgang erfolgen, so wird dieser sequentiell aufgeteilt (Striping). Damit wird der Flaschenhals der mechanischen Kopfpositionierung, den alle Festplatten aufweisen, umgangen. Wenn die erste Platte beschäftigt ist, so wird der Datenstrom zur nächsten weitergereicht, was bewirkt, dass die Bandbreite des Interface optimal genutzt wird. RAID 0 ist laut Definition kein richtiges RAID-System, da es keine Redundanzen aufweist: Ist eine Platte kaputt, so gehen alle Daten verloren, da die Daten auf den anderen Platten unbrauchbar werden. RAID 0 bietet jedoch die beste Performance und daher wird es gerne zur Kombination genutzt.

 

 

RAID Level 1

 

Diese Umsetzung eines RAIDs ist die bekannteste. Sie wurde bereits Anfang der 90er Jahre von Novell in STF II realisiert, und beherrschte schon damals Duplex und Mirror. Bei Duplex werden mehrere Festplatten von einem Controller angesteuert, bei Mirror verfügt jede Platte über ihren eigenen Controller. Jede Platte enthält das exakte Abbild der anderen Platten, wodurch eine hohe Datensicherheit gewährleistet ist. Fällt eine Platte aus, so sind alle Daten noch auf anderen Platten verfügbar. Nachteil ist, dass die Geschwindigkeit negativ beeinträchtigt wird, da alle Dateien zumindest doppelt geschrieben werden müssen.

 

 

RAID Level 2

 

RAID 2 bietet neben dem erhöhten Datenschutz durch Redundanz noch zusätzlich einen Schutz vor Fehlern der Platten selbst. Die Nutzdaten werden bitweise aufgeteilt, und erhalten außerdem noch zwei zusätzliche Bit für den ECC (Error Correction Code). Dieser ermöglicht neben dem Entdecken eines Fehlers auch dessen Korrektur. Dadurch wird bei einem Single-Bit Fehler nicht einfach der Rechner gestoppt, sondern eine Fehlerkorrektur durchgeführt. Diese bitweise Aufteilung der Daten erzwingt den Einsatz von nicht weniger als zehn (!) Festplatten im Verbund. Dadurch steigt zwar die Geschwindigkeit im Lesezugriff um das Achtfache, im Schreibzugriff sinkt sie jedoch, bedingt durch den hohen Verwaltungsaufwand, unter die Performance einer Einzelplatte.

 

Durch die komplizierte Anwendung und Implementation dieses RAIDs findet es seine Anwendung ausschließlich im Bereich von Großrechnern.

 

RAID Level 3

 

RAID 3 teilt Dateien byteweise auf vier Platten auf, die Fünfte dient zu Paritätsprüfung (Fehlererkennung). Es wird nur eine Festplatte zum speichern des ECC benötigt, da RAID 3 integrierte Funktionen der Festplatten zur Fehlererkennung nutzt. Um die Generierung der ECC-Daten zu erleichtern, synchronisiert RAID 3 die Kopfpositionen der Festplatten. Dies ermöglicht zwar ein schnelles Auslesen großer Datenmengen, handelt es sich jedoch um kleine Dateien, so ist RAID 3 ziemlich langsam, da alle Köpfe ständig synchron neu positioniert werden müssen.

 

Bedingt durch die vierfache byteweise Aufteilung, ist ein RAID 3 nicht in seiner Kapazität zu erweitern, da keine Platten zur Vergrößerung angefügt werden können. RAID Level 3 findet bei Workstations, die zur Erstellung von komplexen Grafiken genutzt werden große Akzeptanz, da es in diesem Bereich die größten Geschwindigkeitsvorteile bietet.

 

 

RAID Level 4

 

Die Dateien werden sequentiell und Blockweise, nicht byteweise wie bei RAID 3, gestriped. Man verzichtet allerdings auf eine Synchronisation der Kopfbewegungen, um die Nachteile beim Lesen kleinerer Files zu umgehen. Hierdurch fällt die Fehlerüberprüfung deutlich langsamer aus, was die Parity-Platte zum Flaschenhals des Systems macht. RAID 4 bietet kaum Vorteile, wodurch die Akzeptanz ziemlich gering ausfällt. RAID 4 Systeme sind daher kaum im Einsatz.

 

RAID Level 5

 

RAID 5 teilt die Nutzdaten wie RAID 4 in Blöcken auf, und striped diese auf aufeinander folgende Platten. Es wird allerdings keine dedizierte Platte für Checksummen eingerichtet, sondern der ECC wird jeweils auf die nächste verfügbare Platte ge-schrieben. Somit ist jede Platte in einem System mit 4 Platten zu 3/4 Datenplatte und zu 1/4 Parity-Platte. Außerdem sinkt dadurch die Wahrscheinlichkeit, zwei Schreiboperationen gleichzeitig auf derselben Platte ausführen zu müssen. Zudem wird die mechanische Belastung gleichmäßig auf alle Platten verteil, weil es ja keine Parity-Platte gibt. Auch beim lesen bietet RAID 5 durch das Striping sehr gute Performance. RAID 5 lässt sich außerdem ausgezeichnet mit RAID 0 zu RAID 50 kombinieren, was sich in noch besserer Ausfallsicherheit und erhöhter Performance widerspiegelt.

 

 

Die Exoten: RAID Level 6 und 7

 

RAID 6 stellt den Versuch dar, die Ausfallsicherheit der Level 3-5 noch weiter zu erhöhen. Bei diesen Verfahren darf nämlich nur eine Platte des Verbands ausfallen. RAID 6 umgeht dieses Problem, in dem es RAID 5 um eine Parity-Platte erweitert, wodurch nun zwei Platten ohne Datenverlust ausfallen können. Die höhere Datensicherheit wird jedoch durch langsamere Schreibzugriffe bezahlt.

 

RAID 7 ist ein proprietäres System des Herstellers Storage Computer, und verfügt über ein im Controller integriertes Betriebssystem. Erweitert durch schnelle Datenbusse und mehrere Pufferspeicher beschleunigen das System zusätzlich.

Quellnachweis