Bei der Lektüre von Computerzeitschriften und Büchern über IT-Themen stolpert man früher oder später über den Begriff RAID. Für Computerinteressierte gehört dieser Begriff somit zum erweiterten Standardvokabular. Bei ionas – Ihr Online Assistent verwenden wir RAID für unsere Small Business Server. Zeit also, diesem Begriff und der dahinter stehenden Technik etwas mehr Aufmerksamkeit zu widmen.
In diesem Artikel erläutern wir den Hintergrund und die Bedeutung des Begriffs. Darauf aufbauend gehen wir auf einige der zahlreichen RAID-Typologien ein. Aus dieser Diskussion ergibt sich auch die Antwort auf die Frage, warum man RAIDs heute in zahlreichen Unternehmen antrifft, warum der ionas-Server auf ein solches System setzt und warum es auch für eine wachsende Anzahl an Privatpersonen interessant ist, ein RAID ihr Eigen zu nennen.
Definition und Bedeutung von RAID
RAID ist die Abkürzung des englischen Begriffs „redundant array of independent disks“ (deutsch: redundante Anordnung unabhängiger Festplatten) und bezeichnet das strukturierte Zusammenschalten mehrerer Festplatten zu einem logischen Laufwerk. Redundanz (von lateinisch redundantia) bedeutet „Überfluss“ oder „Dopplung“ und bezeichnet eine Situation, in der etwas mehr als eigentlich nötig vorkommt. Redundanz, welche man bei Texten und beim Sprechen zu vermeiden sucht, ist bei Daten gewollt und aus Datensicherheitsgründen unheimlich nützlich.
Datenredundanz ist unverzichtbar, wenn hohe Datenverfügbarkeit ein Muss ist. In einem System mit Datenredundanz liegen die Daten nicht einfach, sondern auf mehreren, baulich getrennten Datenträgern vor, so dass im Schadensfall eines Datenträgers der Datenzugriff auf den anderen Datenträger nicht eingeschränkt ist. Einige RAIDs bieten sogar die Möglichkeit, defekte Festplatten im laufenden Betrieb zu wechseln.
Für Privatleute mag hohe Datenverfügbarkeit von geringer Bedeutung sein, für viele Firmen ist sie jedoch unverzichtbar. Hier nur ein Beispiel: Eine Krankenkasse, die aufgrund eines Datenträgerdefekts für mehrere Tage nicht auf die Kundendaten zugreifen, keine Kundenfragen bearbeiten und keine Auszahlungen tätigen könnte – mit anderen Worten, wenn der ganze Betreib mehr oder weniger zum Stillstand kommen würde – würde einen enormen finanziellen und einen großen Imageschaden erleiden.
RAIDs werden folglich zur Absicherung von produktiven Systeme verwendet. (Ein produktives System ist ein System, auf dem laufend Lese- und Schreibzugriffe getätigt werden.) Das Ziel eines RAIDs ist die Sicherstellung voller Betriebsfähigkeit im Falle des Ausfalls eines einzelnen Datenträgers. Dadurch unterscheidet sich ein RAID ganz grundsätzlich von einem Backup. Ein Backup ist eine zeitpunktbezogene Kopie der gesicherten Dateien auf einem separaten Datenträger. Ein Backup, insbesondere auf einem ausgelagerten Datenträger, sichert andere Risiken ab. So sichert ein externes Backup gegen Schadensereignisse, bei denen die gesamte IT-Infrastruktur zugrunde geht (z.B. Feuer, Überschwemmung, Schadsoftware). Außerdem schützt ein Backup gegen gewollte oder ungewollte Fehlbedienung. Wenn der Befehl zur Lösung einer Datenbank gemacht wird, dann würde dieser in einem RAID-System auf allen Datenträgern ausgeführt werden. Die Daten wären verloren. Über ein separates Backup liessen sich die Daten wieder einspielen. Damit ist ein Backup eine Ergänzung zu einem RAID-System und keine Alternative.
Der Begriff RAID wurde im Jahr 1987 an der Berkeley Universität geprägt, als eine Methode gesucht wurde, um Daten auf mehreren kleinen und günstigen Festplatten statt auf großen, teuren abzulegen. In der damaligen Definition von RAID stand das „I“ noch für „inexpensive“ (deutsch: kostengünstig). Erst später, als der Kostenaspekt in Folge des Preisverfalls bei Datenträgern aller Art in den Hintergrund und die Rolle der Datensicherheit in den Vordergrund rückte, bekam er seine heutige Bedeutung.
Seit der Entstehung des Begriffs hat sich die RAID-Theorie und Praxis vor dem Hintergrund der raschen Entwicklung im Hard- und Software-Bereich rapide weiter entwickelt. Was vor rund 30 Jahren an einer Forschungseinrichtung anfing, ist heute ein Multimilliardenmarkt und geprägt von einer sehr umfangreichen Literatur und Theorie sowie zahlreichen miteinander konkurrierenden und sich ergänzenden RAID-Typologien.
Heute unterscheidet man aus der Perspektive der RAID-Steuerung zwischen Hard- und Software-RAIDs. Unterschiedliche RAID-Typologien, d.h. Arten des Zusammenwirkens einzelner Festplatten im Array, werden als RAID-Level bezeichnet und durch das RAID Advisory Board (RAB) standardisiert. Im Rahmen von diesem Übersichtsartikel skizzieren wir die Unterschiede der beiden RAID-Steuerungsarten und stellen wir die vier populärsten Level vor.
Hard- und Software-RAID
In einem Hardware-RAID werden die in zusammen geschalteten Datenträger über einen physikalischen RAID-Controller angesteuert. Einen solchen Controller stellt man sich am besten als Steckkarte inklusive eigener Recheneinheit vor. Die Rechnereinheit übernimmt sämtliche Berechnungen, die für die Realisierung des gewählten RAID-Levels notwendigen sind.
Bei einem Software-RAID werden die Festplatten von einem virtuellen RAID-Controller gesteuert. Ein virtueller Controller ist ein Dienst des Betriebssystems und läuft im Arbeitsspeicher des Rechners. In den meisten modernen Betriebssystemen (Windows 7 und 8, Mac OS, Linux) wird ein solcher Software-Controller mitgeliefert. Die Datenträger selber werden in der Regel direkt an den Festplattencontrollern des Mainboards angeschlossen.
Der zentrale Unterschied zwischen Hard- und Software-RAID ist somit die verantwortliche Einheit für die Ausführung der relevanten Berechnungen. Da die Rechenoperationen abhängig vom gewählten RAID-System substantielle Systemressourcen beanspruchen, kann ein Software-RAID den Computer deutlich ausbremsen. Diesem Nachteil stehen die deutlich geringeren Kosten des Software-RAIDs als Vorteil gegenüber.
Die gebräuchlichsten RAID-Level
RAID 0: Das „falsche“ RAID
Ein RAID 0 besteht aus mehreren physikalischen Festplatten, die zu einem logischen Datenträger verbunden werden. (Beispiel: Ein RAID 0 macht aus zwei 1TB-Festplatten ein logisches Laufwerk mit 2TB Speicherkapazität und das Betriebssystem behandelt die zwei separaten Datenträger als ein Laufwerk.) Die Daten werden Blockweise abwechselnd auf die Festplatten geschrieben. Da ein RAID 0 folglich keine Datenredundanz bietet, ist es streng genommen kein RAID im eigentlichen Sinne. Der Begriff hat sich dennoch eingebürgert.
Der Vorteil dieses RAID-Levels ist seine höhere Datenübertragungsrate gegenüber einem einzelnen Datenträgers durch die Parallelisierung der Lese- und Schreibzugriffe, dem so-genannten Stripping. Der tatsächliche Geschwindigkeitszuwachs ist jedoch von vielen Faktoren abhängig, insbesondere der Größe der behandelten Dateien. Durch die fehlende Datenredundanz sollte ein RAID 0 System nur für die Speicherung unkritischer Daten eingesetzt werden. Der Defekt einer einer einzelnen Festplatte im Verbund führt zum Verlust aller auf den Festplatten gespeicherten Daten.
RAID 1: Das „einfache“ RAID
RAID 1 ist das technisch einfachste redundante Datenträgersystem. In einem RAID 1 werden die Daten beim Schreibvorgang parallel auf alle zum RAID gehörenden Festplatten geschrieben. Jede Festplatte im Array ist somit ein perfektes Spiegelbild der übrigen Festplatten im Verbund. Diese Spiegelung ermöglicht den uneingeschränkten Datenzugriff auch im Falle eines Defekts einer Festplatte.
Die Wiederherstellung eines RAID 1 im Falle eines Defekts ist denkbar einfach: Die defekte Festplatte wird durch eine neue Festplatte ersetzt und der Inhalt der redundanten, nicht defekten auf die neue Festplatte kopiert. Typischerweise übernimmt der RAID-Controller diese Aufgabe automatisch, unabhängig davon ob Hardware- oder Software-RAID. Da es sich bei diesem Prozess um einen „einfachen“ Kopiervorgang handelt, können die hohen Lese- und Schreibgeschwindigkeiten moderner Festplatten voll ausgenutzt werden und der sogenannte Rebuild ist auch bei sehr großen Datenmengen in wenigen Stunden abgeschlossen.
Ein RAID 1 weißt keine höhere Schreibgeschwindigkeit gegenüber einen einzelnen Festplatte auf. Mit ihm lasen sich aber schnellere Lesezugriffe realisieren, da gleichzeitig von mehreren Festplatten gelesen werden kann.
RAID 5: Das „populäre“ RAID
Ein RAID 5 ist ein Verbund aus drei oder mehr Datenträgern und ist aufgrund seiner hohen Lesegeschwindigkeit in Kombination mit Datenredundanz zu relativ geringen Kosten die beliebteste RAID-Variante. Ein RAID 5-System lässt sich mit drei und mehr Datenträgern umsetzen. Die häufigsten RAID 5-Festplattenkonstellationen sind drei und fünf Festplatten.
RAID 5 unterteilt die integrierten Festplatten in Blöcke gleicher Größe und betrachtet diese Festplatten – analog RAID 0 – als ein logisches Laufwerk. Der Unterschied zu RAID 0 ist die Speicherung zusätzlicher Informationen, die aus den eigentlich zu speichernden Daten (also den Dokumenten, Bildern und Datenbankeinträgen) ermittelt werden. Diese sogenannten Paritäts-Informationen stellen sicher, dass die Daten im Falle eines Ausfalls reproduzierbar sind. Die Paritätsinformationen werden blockweise erzeugt und einer klaren Struktur folgend auf alle Datenträger im Verbund verteilt. Auch wenn die Rückrechnung der verlorenen Daten aus den verbliebenen Daten und den Paritätsinformationen sehr kompliziert klingt, ist in der Praxis aber einfach und damit eine relativ schnell Prozess.
Der Vergleich von RAID 1 und RAID 5 zeigt, dass Datenredundanz auf unterschiedlichem Wege erreicht werden kann: Bei RAID 1 wird Redundanz durch die Vervielfachung jedes einzelnen Bits und Bytes erreicht. Bei RAID 5 liegen die Daten nur einfach auf den Datenträgern vor, werden aber durch die Paritätsdaten als Fehlerkorrektur sinnvoll ergänzt. RAID 5 geht dabei deutlich effizienter mit dem Festplattenspeicher zur Erreichung von Datenredundanz um. In Zahlen: Bei einem RAID 1 ist die effektive Speicherkapazität des Arrays die Speicherkapazität der kleinsten Festplatte. (Beispiel: Drei 1TB Festplatten ergeben eine nutzbare Speicherkapazität von 1TB.) Bei einem RAID 5 ist die effektive Speicherkapazität die Speicherkapazität der kleinen Festplatte multipliziert mit der um eins verringerten Anzahl an verbundenen Festplatten. (Gleiches Beispiel: Die nutzbare Speicherkapazität ist 2TB.) Bei RAID 5 nimmt die Effizienz der Speichernutzung zu, umso mehr Festplatten im Verbund sind.
RAID 5 bietet sich insbesondere in Umgebungen an, wo viele Daten gelesen und nur vergleichsweise wenige Daten auf die Festplatten geschrieben werden. Obwohl Daten auf mehreren Festplatten gleichzeitig geschrieben werden, wird die Schreibgeschwindigkeit durch den zweiphasigen Schreibprozess – erst Nutzdaten, dann Paritätsdaten – ausgebremst. Grundsätzlich gilt: Umso mehr Festplatten im Verbund, desto schneller der Lese- und Schreibzugriff, wobei weitere Faktoren neben der Anzahl an Platten die Performance bestimmt.
RAID 10: Das RAID für hohe Anforderungen
Für Puristen ist ein RAID 10 kein eigenes RAID-Level, sondern eine Kombination aus Level 1 und 0. Konkret besteht ein RAID 10 aus zwei oder mehr RAID 1-Systemen, über die ein RAID 0 gestülpt wird. Und so läuft das ab: Eine zu schreibende Datei wird in so viele Fragmente zerlegt wie sich RAID 1-Systeme im RAID 10-Verbund befinden, diese an die RAID 1 aufgeteilt und von diesen auf die Festplatten geschrieben.
Bei einem RAID 10 erzielt man hohe Datendurchsatzraten durch Stripping und volle Datenredundanz durch Datenspiegelung. Wie bei RAID 1 lassen sich defekte Datenträger auch „on-the-fly“ auswechseln. Die Stärken dieser Typologie haben jedoch ihren Preis: Von der tatsächlich verfügbaren Speicherkapazität auf den Datenträgern nutzt man effektiv nur die Hälfte. Konkretes Beispiel: Bei dem RAID 10 des ionas-Server Small Business liefern die vier 3TB Festplatten „nur“ eine nutzbare Speicherkapazität von 6TB (Stand Mai 2015). Gerade für Datenbankanwendungen, die hohe Datentransferraten benötigen, kommt man an RAID 10 aber praktisch nicht vorbei, wenn man auf Solid-State Disks verzichten will.
RAID 10 ist bei weitem nicht die einzige RAID-Kombination. RAID 15 ist eine andere populäre Variante, zahlreiche weitere existieren, wobei die meisten nur in der Theorie und nicht in der Praxis vorkommen. Zur leichteren Interpretation hat man sich auf folgende Namenskonvention für die Bezeichnung von RAID-Kombinationen geeignet: Die erste Ziffer beschreibt das RAID-Level des Basissystems und die zweite Ziffer die Logik, die zur Zusammenfassung der Basissysteme genutzt wird.