Ein RAID-System dient zur Organisation mehrerer physischer MassenspeicherIm Kontext dieses Artikels sind, sofern nicht anders angegeben, die Begriffe „Festplatte“, „solid state drive“, „Speichermedium“ oder „Massenspeicher“ synonym zu betrachten. (üblicherweise Festplattenlaufwerke oder Solid-State-Drives) zu einem logischen Laufwerk, das eine höhere Ausfallsicherheit oder einen größeren Datendurchsatz erlaubt als ein einzelnes physisches Speichermedium. Der Begriff ist ein Akronym für , also „redundante Anordnung unabhängiger Festplatten“ (ursprünglich englisch „redundant array of inexpensive disks“; deutsch „redundante Anordnung kostengünstiger Festplatten“; was aus Marketinggründen aufgegeben wurde).

Während die meisten in Computern verwendeten Techniken und Anwendungen darauf abzielen, Redundanzen (in Form von mehrfachem Vorkommen derselben Daten) zu vermeiden, werden bei RAID-Systemen redundante Informationen gezielt erzeugt, damit beim Ausfall einzelner Speichermedien das RAID als Ganzes seine Integrität und Funktionalität behält und nach Ersetzen der ausgefallenen Komponente durch einen Rebuild der ursprüngliche Zustand wiederhergestellt werden kann. Diese Redundanz darf nicht mit einer Datensicherung gleichgesetzt werden.

Geschichte mini|SLED: Laufwerksmodul einer IBM 3380, die dem Vergleich mit kleineren Laufwerken standhalten musste mini|Eine Fujitsu M2351 Eagle; ein ähnliches Eagle-Modell wurde von Patterson, Gibson und Katz für ihren Vergleich mit RAID herangezogen. Das Akronym RAID wurde erstmals 1987 durch David A. Patterson, Garth A. Gibson und Randy H. Katz von der University of California, Berkeley, USA als Abkürzung für „Redundant Array of Inexpensive Disks“ definiert.The Story so Far in ComputerWorld In der zur International Conference on Management of Data (1988, Chicago, Illinois, USA) veröffentlichten Publikation „A case for redundant arrays of inexpensive disks (RAID)“D. A. Patterson, G. Gibson, R. H. Katz: A case for redundant arrays of inexpensive disks (RAID). 1988, (PDF) entwickeln die Autoren Vorschläge, um langsame Plattenzugriffe zu beschleunigen und die Mean Time Between Failures (MTBF) zu erhöhen. Dazu sollten die Daten auf vielen kleineren (preisgünstigen) Platten anstatt auf wenigen großen (teuren) abgelegt werden; deshalb die ursprüngliche Leseweise als „Redundant Arrays of Inexpensive Disks“ – RAID steht damit als Gegensatz zu den damaligen SLEDs (Single Large Expensive Disk). In ihrer Arbeit untersuchen die Autoren die Möglichkeit, kostengünstige kleinere Festplatten (eigentlich Zubehör für Personal Computer) im Verbund als größeres logisches Laufwerk zu betreiben, um so die Kosten für eine große (zum damaligen Zeitpunkt überproportional teure) SLED-Festplatte (Großrechner-Technologie) einzusparen. Dem gestiegenen Ausfallrisiko im Verbund sollte durch die Speicherung redundanter Daten begegnet werden. Die einzelnen Anordnungen wurden als RAID-Level diskutiert.

Die Varianten RAID 0 und RAID 6 wurden erst später von der Industrie geprägt. Seit 1992 erfolgt eine Standardisierung durch das RAB (RAID Advisory Board), bestehend aus etwa 50 Herstellern. Die weitere Entwicklung des RAID-Konzepts führte zunehmend zum Einsatz in Serveranwendungen, die den erhöhten Datendurchsatz und die Ausfallsicherheit nutzen. Der Aspekt der Kostenersparnis fiel damit weg. Die Möglichkeit, in einem solchen System einzelne Festplatten im laufenden Betrieb zu wechseln, entspricht der heute gebräuchlichen Übersetzung: Redundant Array of Independent Disks (redundante Anordnung unabhängiger Festplatten).

Aufbau und Anschluss – Hardware-RAID, Software-RAID Der Betrieb eines RAID-Systems setzt mindestens zwei Speichermedien voraus. Diese werden gemeinsam betrieben und bilden einen Verbund, der unter mindestens einem Aspekt betrachtet leistungsfähiger ist als die einzelnen Medien. Mit RAID-Systemen kann man folgende Vorteile erreichen (allerdings schließen sich einige gleichzeitig aus):

Erhöhung der Ausfallsicherheit (Redundanz) Steigerung der Datenübertragungsrate (Leistung) Aufbau großer logischer Laufwerke Austausch von Speichermedien (auch während des Betriebes) Vergrößern des Speichers (auch während des Betriebs) Kostenreduktion durch Einsatz mehrerer kleiner, preiswerter Medien

Die genaue Art des Zusammenwirkens der einzelnen Speichermedien wird durch den RAID-Level spezifiziert. Die gebräuchlichsten RAID-Level sind RAID 0, RAID 1 und RAID 5. Sie werden unten beschrieben.

In der Regel erkennen die RAID-Implementierungen nur den Gesamtausfall eines Mediums beziehungsweise Fehler, die vom Medium signalisiert werden (siehe z. B. SMART). Auch können viele Implementierungen schon von der Theorie her nur einzelne Bitfehler erkennen und nicht korrigieren. Da Bitfehler mittlerweile selten sind und das Erkennen von Einzelfehlern ohne Korrekturmöglichkeit nur von relativ geringem Nutzen ist, verzichten heute einige Implementierungen auf die zusätzliche Integritätsprüfung beim Schreiben (read after write) oder Lesen (read and compare) und bieten hierdurch eine zum Teil beachtlich höhere Performance. Beispielsweise verzichten manche RAID-5-Implementierungen heute beim Lesen auf das Überprüfen der Plausibilität mittels Paritäts-Stripes, analog arbeiten auch viele RAID-1-Implementierungen. So erreichen diese Systeme beim Lesen Datendurchsätze, wie sie sonst nur bei RAID 0 erzielt werden. Auch wird bei solchen Implementierungen nicht notwendigerweise der Cache eines Speichermediums deaktiviert. Dennoch legen einige RAID-Level (RAID 2, je nach Hersteller auch RAID 6) ihr besonderes Augenmerk auf die Datenintegrität und Fehlerkorrektur (ECC), dort sind folglich die Cache-Speicher der Platten deaktiviert und zusätzlich werden dann jederzeit alle möglichen Prüfungen durchgeführt (read after write usw.), woraus zum Teil erhebliche Performanceeinbußen resultieren.

Aus Sicht des Benutzers oder eines Anwendungsprogramms unterscheidet sich ein RAID-System nicht von einem einzelnen Speichermedium.

Hardware-RAID mini|PCI-X-SCSI-RAID-Controller von Adaptec Von Hardware-RAID spricht man, wenn das Zusammenwirken der Speichermedien von einer speziell dafür entwickelten Hardware-Baugruppe, dem RAID-Controller, organisiert wird. Der Hardware-RAID-Controller befindet sich typischerweise in physischer Nähe der Speichermedien. Er kann im Gehäuse des Computers enthalten sein. Besonders im Rechenzentrumsumfeld befindet er sich häufiger in einem eigenen Gehäuse, einem Disk-Array, in dem auch die Festplatten untergebracht sind. Die externen Systeme werden oft auch als DAS oder SAN bezeichnet, oder auch NAS, wenngleich nicht jedes dieser Systeme auch RAID implementiert. Professionelle Hardware-RAID-Implementierungen verfügen über eigene eingebettete CPUs; sie nutzen große, zusätzliche Cache-Speicher und bieten somit höchsten Datendurchsatz und entlasten dabei gleichzeitig den Hauptprozessor. Durch eine durchdachte Handhabung und einen soliden Herstellersupport wird gerade auch bei Störungen eine bestmögliche Unterstützung des Systemadministrators erreicht. Einfache Hardware-RAID-Implementierungen bieten diese Vorteile nicht in gleichem Maße und stehen daher in direkter Konkurrenz zu Software-RAID-Systemen.

Host-RAID mini|PCI-IDE/ATA-Host-Adapter von Abit Im unteren Preissegment (praktisch ausschließlich für IDE/ATA- oder SATA-Festplatten) werden sogenannte Host-RAID-Implementierungen angeboten.Serial ATA (SATA) chipsets – Linux support status, Übersicht: RAID und Host-RAID mit SATA, 31. Dezember 2007. Rein äußerlich ähneln diese Lösungen den Hardware-RAID-Implementierungen. Es gibt sie als Kartenerweiterungen aus dem Niedrigpreis-Sektor, häufig sind sie aber auch direkt in die Hauptplatinen (engl. mainboards) für den Heimcomputer und Personal Computer integriert. Meistens sind diese Implementierungen auf RAID 0 und RAID 1 beschränkt. Um solche nichtprofessionellen Implementierungen so erschwinglich wie möglich zu halten, verzichten sie weitestgehend auf aktive Komponenten und realisieren die RAID-Level durch eine Software, die in den Treibern der Hardware integriert ist, allerdings für die notwendigen Rechenarbeiten den Hauptprozessor nutzt und auch die internen Bussysteme deutlich mehr belastet. Es handelt sich also eher um eine Software-RAID-Implementierung, die an eine spezielle Hardware gebunden ist. Die Bindung an den Controller ist ein bedeutender Nachteil, erschwert die Wiederherstellung und birgt bei einer Fehlfunktion desselben die Gefahr eines Datenverlustes. Solche Controller werden im Linux-Jargon daher oft auch als Fake-RAIDFake RAID Howto, Ludwin Janvier, How to install Ubuntu onto a fakeRAID system, 18. Januar 2010. bezeichnet (vgl. auch die sogenannten Win- oder Softmodems, die ebenfalls den Hauptprozessor und Bussysteme zusätzlich belasten).

Software-RAID Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten komplett softwareseitig organisiert wird. Auch der Begriff Host based RAID ist geläufig, da nicht das Speicher-Subsystem, sondern der eigentliche Computer die RAID-Verwaltung durchführt. Die meisten modernen Betriebssysteme wie FreeBSD, OpenBSD, Apple macOS, HP HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows NT oder Solaris sind dazu in der Lage. Die einzelnen Festplatten sind in diesem Fall entweder über einfache Festplattencontroller am Computer angeschlossen oder es werden externe Storage-Geräte wie Disk-Arrays von Unternehmen wie EMC, Promise, AXUS, Proware oder Hitachi Data Systems (HDS) an den Computer angeschlossen. Die Festplatten werden zunächst ohne RAID-Controller als sogenannte JBODs („just a bunch of disks“) in das System integriert, dann wird per Software-RAID (z. B. unter Linux mit dem Programm mdadm) die RAID-Funktionalität realisiert. Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität. Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.Die Besonderheiten von RAID-Z (Servermeile Technet – Die Wissens-Datenbank)

Pro Der Vorteil von Software-RAID ist, dass kein spezieller RAID-Controller benötigt wird. Die Steuerung wird von der RAID-Software erledigt. Diese ist entweder schon Teil des Betriebssystems oder wird nachträglich installiert. Dieser Vorteil kommt besonders bei der Disaster Recovery zum Tragen, wenn der RAID-Controller defekt und nicht mehr verfügbar ist. Praktisch alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezifische Software ausgelesen werden können.

Contra Bei einem Software-RAID werden bei Festplattenzugriffen neben dem Hauptprozessor des Computers auch die System-Busse wie PCI stärker belastet als bei einem Hardware-RAID. Bei leistungsschwachen CPUs und Bus-Systemen verringert dies deutlich die Systemleistung; bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos. Storage-Server sind in der Praxis oft nicht voll ausgelastet; auf solchen Systemen können Software-RAID-Implementierungen unter Umständen sogar schneller sein als Hardware-RAIDs.

Ein weiterer Nachteil ist, dass bei vielen Software-RAID kein Cache genutzt werden kann, dessen Inhalt auch nach einem Stromausfall erhalten bleibt, wie es bei Hardware-RAID-Controllern mit einer Battery Backup Unit der Fall ist. Dieses Problem lässt sich mit einer unterbrechungsfreien Stromversorgung für den gesamten PC vermeiden. Um die Gefahr von Datenverlusten und Fehlern in der Datenintegrität bei einem Stromausfall oder Systemabsturz zu minimieren, sollten außerdem die (Schreib-)Caches der Festplatten deaktiviert werden.Cache-Einstellungen von RAID-Controllern und Festplatten (Thomas Krenn Wiki)