In der heutigen Zeit sind Raid-Controller aus professionellen Rechnersystemen nicht mehr wegzudenken. Doch auch zu Hause werden sie mehr und mehr genutzt, da im Zeitalter der digitalen Verfügbarkeit von Filmen, MP3s und sonstiger Informationen ein einfacher moderner Rechner unter Umständen nicht mehr ausreicht, um die Datenflut zu bewältigen. Wo immer Informationen schnell und zuverlässig gespeichert werden oder abrufbar sein müssen, ist infolgedessen der Einsatz eines RAID-Controllers nicht nur sinnvoll, sondern Pflicht. Kein User, der auf die Ausfallsicherheit und Leistungsfähigkeit seines Speichersystems angewiesen ist, kommt um dieses Teil herum.
Mittlerweile bieten die Hersteller sogar Controller mit Cache-Speicher an, die zusätzlichen „Stauraum“ auf der Speicherkarte besitzen, eine Art Zwischenablage für Daten zwischen Festplatte und Controller. Doch was genau ist ein Raid-Controller, und was bedeutet eigentlich RAID? RAID steht für „Redundant Array of Independent Discs“ (früher „Redundant Array of Inexpensive Disks“).
Dahinter verbirgt sich die Idee, mehrere Festplatten eines Computers zur Erhöhung der Übertragungsleistung und technischen Sicherheit als Einheit zu betreiben. Ein RAID-System bündelt sozusagen Festplatten zu einem Laufwerk, und das in logischem Aufbau. Das erlaubt einerseits eine höhere Datensicherheit bei Ausfall einzelner Festplatten und andererseits einen größeren Datendurchsatz als das Betreiben von nur einer physischen Festplatte. Anders als bei den meisten PC-Anwendungen, die darauf abzielen, Redundanzen (doppelt gespeicherte Daten) zu vermeiden, erzeugen RAID-Systeme gezielt redundante Informationen, damit das RAID als Ganzes seine Funktionalität auch dann behält, wenn einzelne Komponenten ausfallen.
Ein RAID-System besteht demnach aus zwei oder mehr Festplatten. Das RAID ist unter mindestens einem Aspekt leistungsfähiger als die einzelnen Festplatten. Solche Aspekte sind: – Erhöhung der Ausfallsicherheit – Steigerung der Transferraten – Austausch von Festplatten und Erhöhung des Arbeitsspeichers – Kostensenkung durch Einsatz mehrerer preiswerter Festplatten – Steigerung der Leistungsfähigkeit des Systems. Die Anordnung der einzelnen Festplatten und wie sie zusammenarbeiten bestimmt dann das RAID-Level. Der Benutzer bzw. das Anwendungsprogramm verfährt mit einem logischem RAID-Laufwerk genau so wie mit einer einzelnen Festplatte. 1987 tauchte der Begriff RAID zum ersten Mal auf. In diesem Jahr veröffentlichten die drei Wissenschaftler Patterson, Gibson und Katz von der Berkeley-Universität ihre Arbeit „A Case for Redundant Array of Inexpensive Disks (RAID)“.
Das bedeutet so viel wie: Redundante Anordnung kostengünstiger Festplatten. Das Ziel von Patterson, Gibson und Katz war die schnellere Verfügbarkeit von gespeicherten Daten einerseits sowie eine Verminderung der Systemausfälle andererseits. Sie erforschten, ob es möglich wäre, erschwingliche Festplatten im Verbund als Laufwerk zu betreiben, um so die Kosten für eine große (und damals teure) Festplatte zu umgehen. Dem durch den Verbund erhöhten Ausfallrisiko sollte durch die Speicherung redundanter Daten begegnet werden. Der Umstand, dass man inzwischen „inexpensive disks“ durch „independent disks“ ersetzt hat, verweist auf den Hauptzweck, den das RAID heute erfüllen soll: Die einzelnen Festplatten sollen v. a. unabhängig voneinander arbeiten, so dass man von einer auf die andere wechseln kann, während der Computer läuft.
Die Varianten RAID 0 und RAID 6 erfand die Industrie erst später. 1992 schließlich beschloss das RAB (RAID Advisory Board, bestehend aus Vertretern von ca. 50 Herstellern) eine Standardisierung. Ein Controller wiederum ist ein Hardware-Baustein, eine elektronische Einheit, die unterschiedlichste Vorgänge im Computer steuert und regelt. Die Aufgabe des RAID-Controllers besteht im Folgenden darin, das RAID zu organisieren.
Er ist in der Nähe der Festplatten untergebracht, und zwar meist in einem eigenen Gehäuse, dem Disk Array, in dem auch die Platten sitzen. Seltener findet man ihn im Gehäuse des Computers. Seit einigen Jahren verbaut die Industrie für den PC-Bereich auch Raid-Controller auf Hauptplatinen (den „mainboards“), oder man bekommt sie als Kartenerweiterung zum Niedrigpreis. Diese Controller sind häufig auf RAID 0 und RAID 1 beschränkt. Um die Karten für den Heimbereich kostengünstig zu halten, überlässt man hier oft die RAID-Logik der CPU. Leider besteht hier bei einem Defekt des Controllers die Gefahr des Datenverlustes, da man ja an ihn gebunden ist. Aus diesem Grund werden solche Controller im Linux-Jargon auch als „Fake-RAID“ bezeichnet. Werden die einzelnen Festplatten ausschließlich durch Software Raid organisiert, spricht man von einem Software-RAID.
In diesem Fall führt nicht das Speicher-Subsystem, sondern der eigentliche Computer die RAID-Verwaltung durch. Die meisten modernen Betriebssysteme beherrschen das, so auch Microsoft Windows ab Windows NT, Linux und Apple Mac OS X. Hier sind entweder die einzelnen Festplatten über einfache Festplattencontroller am Computer angeschlossen, oder aber es werden externe Storage-Geräte (wie z. B. Disk Arrays) am Computer angebracht. Dann sind die Festplatten als sog. JBOD, „Just a Bunch Of Disks“, ins System integriert. Diese Software-RAIDS haben den Vorteil, dass man keinen speziellen Raid-Controller benötigt. Man braucht lediglich die vom Betriebssystem mitgelieferte oder eine separat installierte RAID-Software.
Dies kommt insbesondere beim Disaster-Recovery zum Tragen, wenn der Raid-Controller ausfällt; bei allen derzeit verfügbaren RAID-Systemen können die Festplatten auch ohne spezielle Software ausgelesen werden. Außerdem bleibt hier der Festplatten-Cache aktiv. Ferner laufen Software-RAIDs auf Storage-Servern schneller als Hardware-RAIDs, da diese Server in der Regel nie voll ausgelastet sind. Allerdings bringt das einen entscheidenden Nachteil mit sich: Man kann natürlich keine Pufferbatterie im Cache des RAID-Controllers bzw. des Disk Arrays unterbringen.
Wenn sich nun bei einem ungewollten Neustart Daten im Cache befinden, gehen diese verloren. Nun zu den RAID-Levels. Wie bereits gesagt bestimmen sie die Anordnung der Festplatten im RAID und die Art, wie dort die Daten gespeichert werden. Die gebräuchlichsten RAID-Levels sind RAID 0, RAID 1 und RAID 5. RAID 0 besteht aus zwei oder mehr Festplattenblöcken gleicher Größe. Durch „Striping“ („in Streifen zerlegen“) der Dateien werden diese sozusagen im Reißverschlussverfahren wechselweise auf den Festplatten gespeichert. Damit kann man parallel auf alle Festplatten des RAID zugreifen, jedoch sind die Daten jeweils nur einmal auf einer Festplatte abgelegt. Genau genommen handelt es sich also bei RAID 0 nicht um ein wirkliches RAID, da es keine Redundanz gibt. Die Größe der Datenblöcke bezeichnet man als Striping-Granularität (auch „chunk size“ oder „interlace size“). Meist wählt man bei RAID 0 eine chunk size von 128 kb.
Auf Grund der Möglichkeit des parallelen Zugriffs auf alle Festplatten bietet RAID 0 einen gesteigerten Datentransfer. Das Level hat allerdings einen Haken: Fällt eine der Festplatten teilweise oder vollständig aus, kann der RAID-Controller die Nutzdaten natürlich nicht mehr vollständig rekonstruieren, da sie ja nur einmal vorhanden sind. Somit ist nur eine partielle Restauration möglich, und zwar für die Dateien, die auf den noch funktionstüchtigen Festplatten gespeichert sind. Das wird typischerweise nur bei kleinen Dateien und eher großer Striping-Granularität der Fall sein. Daher ist RAID 0 nur dann zu empfehlen, wenn die Datensicherheit kaum eine Rolle spielt oder aber die Datensicherung in geeigneter Form anderweitig gewährleistet ist. Der Einsatz von RAID 0 ist also dort sinnvoll, wo in kurzer Zeit große Datenmengen hauptsächlich gelesen (und nicht bearbeitet) werden sollen, wie etwa bei der Wiedergabe von Musik oder Videos und deren sporadischer Aufnahme.
Allerdings sollte man bei der Planung seines RAID berücksichtigen, dass in Folge eines Festplatten-Ausfalls bei dieser einfachen Variante zwangsläufig der Betrieb unterbrochen wird. RAID 1 ist ebenfalls sehr verbreitet unter den RAID-Levels. Hier handelt es sich um mindestens zwei Festplatten, die exakt die gleichen Daten enthalten, quasi eine Spiegelung. Diese Art der Datenverwaltung wird deshalb auch als „mirroring“ oder „duplexing“ bezeichnet. Im Gegensatz zu RAID 0 bietet RAID 1 damit die volle Redundanz der Daten, wobei die Kapazität des ganzen Arrays dementsprechend höchstens so groß ist wie die kleinste beteiligte Festplatte. Ein weiterer Pluspunkt von RAID 1 ist die uneingeschränkte Verfügbarkeit aller Daten bei Defekt einer der gespiegelten Festplatten. Somit garantiert RAID 1 eine hohe Ausfallsicherheit, was besonders für Echtzeitanwendungen unverzichtbar ist.
Zum kompletten Datenverlust führt erst der Totalausfall aller Platten. Ein RAID-1-System kann beim Lesen stets auf mehr als eine Festplatte zugreifen, was die Sicherheit erhöht. Der RAID-Controller vergleicht dabei die beiden Datenströme, sobald die Antworten vorliegen. Bei Unstimmigkeiten liefert er eine Fehlermeldung, da dann keine Spiegelung mehr besteht. Diese Funktion bieten allerdings nur wenige Controller an; auch verringert sie die Systemgeschwindigkeit. Wer glaubt, eine Spiegelplatte ersetze eine Datensicherung, ist jedoch auf dem Holzweg. Denn auch versehentliche oder fehlerhafte Operationen, wie sie bei Virenbefall, Stromausfällen oder Benutzerfehlern vorkommen, übertragen sich augenblicklich auf die Spiegelplatte! Insbesondere bei unvollständig abgewickelten, schreibenden Programmen (z. B. durch Stromausfall unterbrochene Update-Transaktionen auf Datenbanken ohne Logging-System) ist Vorsicht geboten. Und hier droht nicht nur eine Beschädigung der Spiegelung, sondern auch Inkonsistenz des Datenzustands trotz intakter Spiegelung.
Dem kann man durch geeignete Datensicherung und Transaktions-Logs vorbeugen. RAID 5 schließlich stellt nach wie vor das beliebteste RAID-Level dar. Bei relativ überschaubaren Kosten bietet es sowohl einen hohen Datendurchsatz beim Lesen von Daten als auch Redundanz. Wie bei RAID 0 verteilt hier der Controller die Nutzdaten auf alle Festplatten, jedoch werden die Paritätsinformationen (für die Doppelung der Daten) nicht auf einer Platte konzentriert, sondern ebenfalls gesplittet. Allerdings muss man im Vergleich zu RAID 0 leichte bis erhebliche Verzögerungen beim Datentransfer in Kauf nehmen, da hier zusätzlich die Parität berechnet werden muss.
Doch werden die Paritätsinformationen beim Lesen nicht benötigt, so dass alle Platten zum parallelen Zugriff zur Verfügung stehen. Was die Datensicherheit betrifft, so ist sie bei RAID 5 beim Ausfall von maximal einer Platte gewährleistet. In diesem Fall aber oder beim Rebuild bzw. Austausch der defekten Festplatte lässt die Leistung deutlich nach. Man muss dem RAID-5-Level jedoch zugute halten, dass das Rebuild-Verfahren nur unwesentlich länger dauert als bei RAID 1 und dafür viel weniger Schreibzugriffe erfordert. Zur Verbesserung der Rebuild-Leistung und damit der Ausfallsicherheit hat man jüngst das präemptive RAID 5 entwickelt. Hier werden die Fehlerkorrekturstatistiken der Platten zur Vorhersage eines Ausfalls herangezogen (auch bekannt als „S.M.A.R.T.“). Die Hot-Spare-Platte wird nun vorsorglich mit dem kompletten Inhalt der ausfallträchtigsten Platte im RAID synchronisiert.
Diese kann dann zum vorhergesagten Versagenszeitpunkt sofort an die Stelle der defekten Platte treten. Präemptives RAID 5 ist recht platzsparend, aber aufwändig. Aus diesem Grund wurde es bisher nur in wenigen „High-End“-Speichersystemen mit server-basierten Controllern implementiert. Ferner belegen Studien seit Mitte 2007, dass zur Vorhersage eines Ausfalls die S.M.A.R.T.-Daten nur von eingeschränktem Nutzen sind. Weniger gebräuchliche RAID-Levels sind u. a. Festplattenverbünde, Kombinationsraids, RAID S und RAID TP. Beim Festplattenverbund (auch NRAID genannt) entsteht aus mehreren Festplatten eine einzige, deren Datenkapazität der Summe der Kapazitäten aller verwendeten Platten entspricht. Moderne Controller, die mit der Eigenschaft „NRAID“ verkauft werden, können das bewerkstelligen. Des weiteren sind heutzutage fast alle Raid-Controller in der Lage, Kombinationsraids zu handeln; zumindest die Kombination RAID 0+1 können die meisten Controller bilden.
Seit Mitte 2004 (ab dem Intel Raid ICH6R-Southbridge) hat sich eine neue Kombinationstechnik etabliert, das sog. Matrix-RAID. Es soll die Vorteile von RAID 0 und RAID 1 auf nur zwei Festplatten vereinen. Zu diesem Zweck teilt der Controller jede der Platten wiederum in zwei Areale auf. Sodann spiegelt er den einen Bereich auf der zweiten Festplatte (RAID 1), während er im anderen Bereich die Daten auf beide Platten aufteilt (RAID 0). So kann man im RAID-0-Areal das vom Speicheraspekt her eher „unwichtige“ Betriebssystem mit Programmen installieren und profitiert dort von RAID 0. Im gespiegelten Sektor hingegen legt man seine wichtigen Daten ab und genießt den Vorteil der Redundanz von RAID 1. Bei einem Plattencrash muss man dann lediglich das Betriebssystem und die Programme neu aufspielen, die „kostbaren“ Daten bleiben im anderen Bereich der Festplatte erhalten. Welches ist nun der richtige RAID-Controller für mich? Mit RAID-Controllern verhält es sich wie mit anderen Hardware-Bausteinen auch: Der Preisspanne ist nach oben keine Grenze gesetzt. So kann man 20 € bis weit über 1.000 € dafür ausgeben, je nach Ausstattung und Laufsicherheit. Beispielsweise bekommt man den ATA-133 Raid-Controller bereits für 19,90 € nagelneu im Internet, inklusive Kabeln, Treiber und deutschem Handbuch, was natürlich von Vorteil ist. Dieses Modell erlaubt Mirroring (RAID 1), Striping (RAID 0) oder die Kombination RAID 0+1.
Damit ist der ATA-133 allerdings auch mit seinem Latein am Ende. Zieht man zum Vergleich einen der neuen Areca-Controller (etwa ARC-1231ML oder ARC-1280ML) heran, wird man schnell feststellen, dass diese einer ganz anderen Liga angehören. Sie sind mit bis zu sechs Anschlüssen ausgestattet, die bis zu 24 Laufwerke (!) an einem einzigen Adapter unterstützen. Falls gewünscht, kann ihr Sockel auf 2 GB aufgerüstet werden. Areca-Controller sind allesamt RAID 6 Controller, d. h. sie können gleichzeitig zwei Parity-Blöcke berechnen und erreichen dabei die Performance von RAID 5. Neben RAID 0 und 1 erlauben sie den Betrieb von RAID 1E, 3, 5, 6 sowie JBOD. Darüberhinaus steht ein Areca-RAID-Controller bei Stromausfall oder Dateidefekt während eines Firmwareupdates keineswegs vor einem unüberwindbaren Problem. Denn anders als seine preisgünstigeren „Kollegen“ verfügt er über ein redundantes Flash-Image, das es dem User erlaubt, den Controller auf die letzte lauffähige Version zurückzusetzen und das Firmwareupdate erneut durchzuführen. Man beachte ferner die Transferraten: RAID-Controller dieser Kategorie bewältigen immerhin 1624 MB/s beim Lesen und 1295 MB/s beim Schreiben. Für so einen Controller muss man dann aber auch mindestens 800 € hinblättern. Hardware von dieser Güte kommt allerdings auch eher für Großrechner in Frage; sie unterstützt Volume-Sets mit unglaublich viel Kapazität, was beim Einsatz von Datenbankapplikationen vonnöten ist. Für den Hausgebrauch reichen die kleinerenRaid-Controller völlig aus; im Bereich mittelgroßer Datenmengen mit einfacheren RAID-Levels liefern sie durchaus zufriedenstellende Ergebnisse.
Wie eingangs erwähnt sind heutzutage viele Rechner schon ab Werk mit einem RAID-Controller ausgestattet. Dieser Aspekt ist bei der Anschaffung eines neuen PCs eine Überlegung wert. Benötige ich in Zukunft einen (Arbeits-)Speicher, der langfristig die Dimensionen herkömmlicher PC-Systeme übersteigt? Dann lohnt es sich durchaus, beim Computerkauf ein Gerät mit integriertem RAID-Controller in Betracht zu ziehen.
Eine Antwort auf „Raid-Controller sind aus professionellen Rechnersystemen nicht mehr wegzudenken“
Hallo,
also bedeutet das dass ein Software Raid für kleinere Firmen bzw. weniger intensive Anfragen besser (Preis/Leistung) als ein Hardware Raid ist?!
Sehr interessanter Artikel.
Danke!