Wikipedia · einfach zusammengefasst · Stand
RAID
Ein RAID-System dient zur Organisation mehrerer physischer Massenspeicher (üblicherweise Festplattenlaufwerke oder Solid-State-Drives) zu einem logischen …
Inhalt6 Abschnitte
Grundprinzip und Zweck
Ein RAID-System fasst mindestens zwei physische Massenspeicher, meist Festplattenlaufwerke oder Solid-State-Drives, zu einem logischen Laufwerk zusammen. Je nach RAID-Level kann es dadurch die Ausfallsicherheit, den Datendurchsatz, die nutzbare Gesamtkapazität oder die Möglichkeit zum Austausch und zur Erweiterung während des Betriebs verbessern. RAID steht heute für „redundant array of independent disks“ („redundante Anordnung unabhängiger Festplatten“). Bei RAID werden redundante Daten gezielt erzeugt, damit der Verbund beim Ausfall einzelner Speichermedien funktionsfähig bleibt und nach dem Austausch durch einen Rebuild wiederhergestellt werden kann. Diese Redundanz ist jedoch keine Datensicherung: Fehlerhafte oder versehentliche Schreibvorgänge werden ebenfalls auf Spiegel- oder Paritätsdaten übertragen.
Die genaue Organisation der Daten legt der RAID-Level fest. Die gebräuchlichsten Level sind RAID 0, RAID 1 und RAID 5. Aus Sicht eines Benutzers oder Programms erscheint ein RAID wie ein einzelnes Speichermedium. RAID-Level können unter anderem Striping, also die Verteilung von Datenblöcken auf mehrere Platten, Mirroring, also Spiegelung, und Paritätsinformationen kombinieren.
Das Akronym RAID wurde 1987 von David A. Patterson, Garth A. Gibson und Randy H. Katz an der University of California, Berkeley, geprägt und 1988 in einer Publikation vorgestellt. Ursprünglich bezog es sich auf „inexpensive disks“ und stellte kostengünstige kleine Platten den damaligen SLEDs („Single Large Expensive Disk“) gegenüber. 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). Mit der späteren Verwendung in Servern traten Kostenersparnis und die ursprüngliche SLED-Alternative gegenüber Leistung und Ausfallsicherheit zurück.
Aufbau, Implementierung und Cache
Beim Hardware-RAID organisiert ein spezieller RAID-Controller das Zusammenwirken der Speichermedien. Professionelle Controller besitzen eigene CPUs, große Cache-Speicher und Herstellersupport. Sie können den Hauptprozessor entlasten und einen hohen Datendurchsatz ermöglichen. Disk-Arrays können sich im Computergehäuse oder in einem eigenen Gehäuse befinden; externe Systeme werden unter anderem als DAS, SAN oder NAS bezeichnet, wobei nicht jedes solche System RAID verwendet.
Host-RAID sieht äußerlich wie Hardware-RAID aus, erledigt die eigentlichen Berechnungen aber überwiegend durch Treibersoftware und den Hauptprozessor. Es ist vor allem bei IDE/ATA- und SATA-Systemen verbreitet und meist auf RAID 0 und RAID 1 beschränkt. Die Bindung an einen bestimmten Controller erschwert die Wiederherstellung; deshalb wird diese Form unter Linux oft „Fake-RAID“ genannt.
Beim Software-RAID übernimmt das Betriebssystem die vollständige RAID-Verwaltung. Unterstützt wird dies unter anderem von FreeBSD, OpenBSD, Apple macOS, HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows NT und Solaris. Die Platten können zunächst als JBOD eingebunden und anschließend beispielsweise mit Linux-„mdadm“ zu einem RAID zusammengeschaltet werden. Software-RAID benötigt keinen besonderen Controller und ist deshalb bei einer Disaster Recovery oft leichter wiederherzustellen. Die Platten sind meist auch ohne die spezielle RAID-Software auslesbar. Dafür werden Hauptprozessor und Systembus stärker belastet. Bei leistungsstarken, wenig ausgelasteten Systemen kann dieser Nachteil belanglos sein; Storage-Server können mit Software-RAID unter Umständen sogar schneller sein als Hardware-RAID.
Ein wichtiges Problem ist der Schreib-Cache: Eine Schreibanforderung kann bereits bestätigt werden, obwohl die Daten nur im Cache liegen. Stromausfälle oder Systemabstürze können dann zu verlorenen oder inkonsistenten Daten führen. Hochwertige RAID-Controller schützen den Cache mit einer BBU (Battery Backup Unit) beziehungsweise BBWC (Battery Backed Write Cache), heute auch mit NAND-Flash und hochkapazitativen Kondensatoren. Eine BBU ist nicht dasselbe wie eine unterbrechungsfreie Stromversorgung, da sie auch Systemabstürze und eingefrorene Systeme berücksichtigt. Der nicht abgesicherte Schreib-Cache der Festplatten sollte dabei deaktiviert werden. Der Logical Volume Manager (LVM) ist davon zu unterscheiden: Er bildet physische Datenträger oder Partitionen auf logische Datenträger ab, erzeugt normalerweise keine Redundanz und kaum zusätzlichen Rechenaufwand. In Storage-Servern können Volumes verschiedener Server auf Anwendungsebene gespiegelt werden, etwa mit GlusterFS, dem LVM oder NTFS.
Die wichtigsten RAID-Level
RAID 0 verteilt Datenblöcke gleicher Größe im Striping-Verfahren über mehrere Platten. Dadurch können Zugriffe parallel erfolgen und der Datendurchsatz steigen. Meist wird eine Chunk Size von 64 kB gewählt. RAID 0 enthält keine Redundanz und gehört streng genommen nicht zu den eigentlichen RAID-Systemen. Fällt eine Platte aus, sind die Nutzdaten normalerweise nicht mehr vollständig rekonstruierbar. Für n Platten mit unabhängiger, gleicher Ausfallwahrscheinlichkeit p gilt: 1 − (1 − p)ⁿ. Ein Hybrid-RAID-0-Verbund aus SSD und konventioneller Festplatte ist eher ein großer Cache; nach der Trennung bleiben die Daten der einzelnen Laufwerke separat lesbar.
RAID 1 benötigt mindestens zwei Festplatten und speichert auf allen dieselben Daten. Die Kapazität entspricht höchstens der kleinsten beteiligten Festplatte; bei n Platten dürfen theoretisch n − 1 ausfallen. Bei unabhängiger Ausfallwahrscheinlichkeit p je Platte beträgt die Ausfallwahrscheinlichkeit pⁿ. Jede einzelne Platte enthält alle Daten und kann bei passender Hardware oft unabhängig genutzt werden, wodurch Migrationen und Wiederherstellungen einfacher werden. Manche Implementierungen steigern die Leseleistung durch paralleles Lesen, während die Schreibleistung der einzelner Platten entspricht. Ein Vergleich der Spiegelplatten kann Fehler erkennen, ist aber selten und verringert die Geschwindigkeit. RAID 1 schützt nicht vor Viren, Benutzerfehlern, Stromausfällen oder fehlerhaften Programmen; dafür sind Datensicherungen und Transaktions-Logs erforderlich.
RAID 5 verteilt Nutzdaten per Block-Level-Striping und die Paritätsinformationen ebenfalls über alle Platten. Die Parität wird mit XOR berechnet. Bei n Platten beträgt die nutzbare Kapazität (n − 1) × Kapazität der kleinsten Festplatte. Vier Platten mit je 1 TB ergeben somit 3 TB Nutzdaten und 1 TB Parität. Der Ausfall einer Platte kann kompensiert werden, zwei gleichzeitige Ausfälle jedoch nicht. Die theoretische Ausfallwahrscheinlichkeit bei n + 1 Platten ist 1 − ((1 − p)ⁿ⁺¹ + p(1 − p)ⁿ · (n + 1)). Während eines Rebuilds ist das gesamte Array stark belastet.
RAID 5 bietet meist gute Leseleistung, hohe Kapazitätsausnutzung und vergleichsweise geringe Kosten. Kleine, zufällige Schreibvorgänge sind wegen der sogenannten RAID-5-Write-Penalty ungünstig: Für einen einzelnen 512-Byte-Block sind zunächst zwei Lese- und anschließend zwei Schreibzugriffe erforderlich; bei gleicher Zugriffszeit beträgt die Effizienz im schlechtesten Fall 25 %. Bei fünf Platten und einem zusammenhängenden Schreibvorgang von 2.048 Byte liegt sie bei 80 %, bei drei Platten bei 66 %. Günstiges Performanceverhalten zeigen häufig RAID-5-Systeme mit 3, 5 oder 9 Platten. RAID 5 eignet sich daher besonders für große Datenblöcke, Archive, Bild- und Videobearbeitung sowie lesedominierte Fileserver. Für kleine, schreibintensive Zugriffe, etwa bei Datenbanken oder Mailservern, ist RAID 10 häufig geeigneter.
RAID 6 ähnelt RAID 5, verwendet aber doppelte, verteilte Paritätsinformationen und verkraftet den gleichzeitigen Ausfall von bis zu zwei Platten. Es benötigt mindestens vier Festplatten. Die zusätzliche Sicherheit kostet Kapazität, Rechenaufwand und Schreibleistung; die nutzbare Kapazität beträgt n − 2. RAID DP von NetApp ist eine RAID-4-Variante mit horizontaler Parität P und diagonaler Parität Q. Typische RAID-DP-Sets bestehen aus 14 + 2 Platten. Zwei beliebige Plattenfehler können kompensiert werden; die Berechnung verwendet einfache XOR-Operationen.
Ausfälle, Rebuild und Erweiterung
Ein Rebuild ist die Wiederherstellung fehlender Daten auf einer ersetzten Festplatte aus den noch vorhandenen Nutz- und Paritätsdaten. Er belastet die gesamte Hardware und kann abhängig von Level, Plattenzahl und Plattengröße mehr als 24 Stunden dauern. Ein Hot-Spare-Laufwerk ist ein unbenutztes Reservelaufwerk, das nach einem erkannten Ausfall automatisch eingesetzt werden kann. Es kann einem einzelnen Array als Local- oder Dedicated-Hot-Spare oder dem gesamten System als Global-Spare zugeordnet sein. Eine regelmäßige Prüfung, ob Hot-Spare-Laufwerke tatsächlich verfügbar sowie les- und beschreibbar sind, findet nicht immer statt. Beim Rebuild besteht bei RAID 5 zunächst keine Redundanz; RAID 6 oder RAID DP vermindern dieses Risiko.
Große moderne Laufwerke verlängern den Rebuild und erhöhen die Wahrscheinlichkeit eines weiteren Fehlers. Hersteller geben für nicht korrigierbare Lesefehler (URE, unrecoverable read error) typische Maximalwerte von 10⁻¹⁴ bei Consumer-Laufwerken und 10⁻¹⁶ bis 10⁻¹⁵ bei Serverlaufwerken an. 10⁻¹⁴ bedeutet höchstens ein fehlerhaftes Bit pro 10¹⁴ gelesene Bit, etwa 12 TB. Bei acht Platten mit je 2 TB garantiert der Hersteller statistisch nur, dass ein Rebuild mindestens in einem von drei Fällen ohne URE gelingt. Ein RAID 5 aus drei 500-GB-Consumer-Platten mit 1 TB Nutzdaten gelingt unter alleiniger Betrachtung von URE im Durchschnitt in 92 von 100 Fällen. Hochwertigere Laufwerke und Kombinationen wie RAID 10 oder RAID 50 können das Risiko verringern. Die Werte sind garantierte Maximalwerte; das tatsächliche Risiko kann geringer sein.
Laufwerke derselben Herstellungschargen und desselben Alters können durch ähnliche Betriebsbedingungen gleichzeitig ausfallen. Deshalb werden unterschiedliche Chargen oder eine Diversitätsstrategie mit Platten mehrerer Hersteller empfohlen. Unterschiedliche Kapazitäten richten sich dabei nach der kleinsten Platte. Eine Ersatzplatte muss mindestens so groß wie die ausgefallene Platte sein. Hersteller beschneiden Kapazitäten teilweise geringfügig oder reservieren ungenutzten Platz, damit auch alternative Modelle passen. Eine Verkleinerung eines bestehenden RAID ist in der Regel nicht möglich. Eine Erweiterung durch zusätzliche Platten ist weder bei Hardware- noch bei Software-RAID garantiert und kann nur bei ausdrücklich unterstützten Verfahren erfolgen; sie ist wegen der nötigen Restrukturierung oft zeitintensiv.
Auch ein defekter Controller kann problematisch sein. Ein vorhandener Plattensatz funktioniert häufig nur mit demselben Controller, derselben Controller-Familie oder bei älteren Systemen exakt derselben Hardware und Firmware. Linux kann bestimmte Host-RAID-Plattensätze mit dmraid einlesen. SMART-Tests können Fehler teilweise vorhersagen. Beim Drive Clone kopiert der Controller die Daten eines fehlerverdächtigen Laufwerks frühzeitig auf ein Spare-Laufwerk und verkürzt dadurch die kritische Wiederherstellungszeit. Hot Swapping erlaubt den Austausch im laufenden Betrieb, setzt aber einen Hot-Plug-fähigen Controller und ein redundantes RAID voraus; bei RAID 0 würde das Entfernen einer Platte zum Ausfall führen.
Kombinationen und weitere Verfahren
Bei kombinierten RAID-Leveln wird ein RAID nochmals zu einem übergeordneten RAID zusammengefasst. RAID 01 beziehungsweise RAID 0+1 ist ein RAID 1 über mehrere RAID-0-Arrays. RAID 10 ist ein RAID 0 über mehrere RAID-1-Arrays und benötigt mindestens vier Festplatten. RAID 10 bietet gegenüber RAID 01 eine bessere Ausfallsicherheit und eine schnellere Rekonstruktion, weil nur ein Teil der Daten wiederhergestellt werden muss; nutzbar ist jedoch nur die Hälfte der Gesamtkapazität. RAID 01 kann auf vielen Controllern auch mit drei Platten gebildet werden. RAID 05 ist ein RAID 5 aus mehreren RAID-0-Arrays und benötigt mindestens sechs Platten; seine Ausfallchance ist fast doppelt so hoch wie bei RAID 5 aus Einzelplatten. RAID 30 beziehungsweise RAID 53 fasst mehrere RAID-3-Arrays mit RAID 0 zusammen und benötigt mindestens sechs Platten. RAID 50 ist ein RAID 0 aus mehreren RAID-5-Arrays, benötigt mindestens sechs Platten und wird bei Datenbanken eingesetzt. RAID 60 kombiniert mehrere RAID-6-Arrays, benötigt mindestens acht Platten und erhöht gegenüber RAID 50 die Ausfallsicherheit bei geringerem Durchsatz.
Weitere Varianten sind RAID 15 aus mindestens sechs Platten, RAID 51 aus mindestens sechs Platten, RAID 55 aus mindestens neun Platten sowie RAID 45 aus mindestens neun Platten. RAID 1E spiegelt einzelne Blöcke auf die jeweils nächste Platte, benötigt eine ungerade Plattenzahl und halbiert die nutzbare Kapazität. RAID 1E0 kombiniert mehrere RAID-1E-Arrays mit RAID 0. RAID 1.5 bezeichnet keine eigene RAID-Stufe, sondern eine RAID-1-Implementierung, die beim Lesen beide Platten wie RAID 0 nutzt. Matrix-RAID teilt bei zwei Festplatten jeweils Bereiche für RAID 0 und RAID 1 ein, sodass schnelle, weniger wichtige Daten und redundante, wichtige Daten getrennt gespeichert werden können.
RAID 2 verwendet Bit-Level-Striping und Hamming-Code-basierte ECC-Fehlerkorrektur, spielt praktisch keine Rolle mehr und wurde vor allem bei Großrechnern eingesetzt. RAID 3 verteilt Bytes beziehungsweise Daten auf Datenplatten und speichert die XOR-Parität auf einer separaten Platte; diese wird zum Flaschenhals und wurde weitgehend durch RAID 5 ersetzt. RAID 4 arbeitet mit größeren Datenblöcken und einer dedizierten Paritätsplatte, wird wegen deren Belastung ebenfalls meist durch RAID 5 ersetzt. Eine Ausnahme bildet NetApps WAFL mit NVRAM-Puffer.
RAID S beziehungsweise Parity RAID ist ein proprietäres EMC-Verfahren mit gruppenweise gebildeten Paritäts-Volumes, etwa Parity RAID 3+1 mit 75 % oder 7+1 mit 87,5 % nutzbarer Kapazität. RAID TP beziehungsweise Triple Parity von easyRAID und RAID-Z3 von Sun Microsystems können bis zu drei Plattenausfälle verkraften; RAID TP benötigt mindestens vier Platten und besitzt die Kapazität n − 3. RAID-Z ist in ZFS integriert. RAID-Z1 entspricht ungefähr RAID 5, RAID-Z2 ungefähr RAID 6 und RAID-Z3 einer dreifachen Parität. ZFS verbindet Dateisystem, Volume-Management, Prüfsummen und RAID; es erkennt belegte Blöcke, schützt vor dem „write hole“ und kann dadurch Rebuilds beschleunigen.
Leistung und nichtredundante Verbünde
Für die Leistung sind IOPS und sequentieller Datendurchsatz in MB/s entscheidend. SATA-Platten erreichen bei etwa 8 bis 10 ms Zugriffszeit ungefähr 100 IOPS, leistungsstärkere SCSI- oder SAS-Platten ungefähr 200 IOPS. Bei gleicher Konfiguration lieferte im Artikel eine Samsung Spinpoint VL40 mit 5.400 min⁻¹ im Mittel etwa 33 MB/s, eine WD Raptor WD740GD mit 10.000 min⁻¹ etwa 62 MB/s.
RAID 0 steigert je nach Chunk-Größe entweder den Datendurchsatz je Zugriff oder die Zahl paralleler IOPS. Zwei Platten mit je 100 IOPS erreichen theoretisch bis zu 200 IOPS und etwa 60 MB/s. RAID 1 kann lesend ebenfalls bis zu 200 IOPS und etwa 60 MB/s, schreibend aber bis zu 100 IOPS und etwa 30 MB/s erreichen. Ein RAID 10 mit acht Platten kann theoretisch lesend bis zu 800 IOPS bei etwa 240 MB/s und schreibend bis zu 400 IOPS bei etwa 120 MB/s erreichen. Ein RAID 5 mit acht Platten erreicht theoretisch lesend bis zu 800 IOPS, schreibend je nach Zugriffsmuster etwa 200 bis 700 IOPS. In einem Mischbetrieb mit 50 % Lesen und 50 % Schreiben werden für acht Platten etwa 533 IOPS bei RAID 10 und ungefähr 320 IOPS bei RAID 5 genannt. Bei einem Mailserverbeispiel verarbeitet RAID 1 etwa 240 Mails pro Minute, RAID 5 maximal 480, RAID 10 knapp 1.000 und RAID 10 mit Hochleistungsplatten maximal etwa 2.500 Mails pro Minute.
NRAID, SPAN und bestimmte JBOD-Konfigurationen sind keine eigentlichen RAIDs, weil ihnen Redundanz und Striping fehlen. Sie hängen Platten linear aneinander und erlauben die gemeinsame Nutzung unterschiedlich großer Kapazitäten. Eine 10-GB- und eine 30-GB-Platte ergeben beispielsweise 40 GB, während RAID 0 nur 20 GB nutzen könnte. Bei einem Plattenausfall sind nur die dort gespeicherten Daten betroffen; der Verbund kann aber beschädigt werden. Ein LVM ist dafür oft flexibler und hardwareunabhängig. Der Drive Extender von Microsoft Windows Home Server verwendete einen JBOD-ähnlichen Ansatz; neue Dateien wurden zunächst auf der Systemplatte gespeichert und später verschoben, wobei ein 4-kB-Tombstone als Verweis blieb.
RAIDIOS bezeichnet einen von Intel zertifizierten Ansatz, bei dem nur ein fehlender I/O-Controller nachgerüstet wird. Tape-RAID überträgt RAID-Mechanismen auf mehrere Bandlaufwerke und Bänder, häufig in RAID-3- oder RAID-5-Konfigurationen. Eine ähnliche Lösung ist RAIL („Redundant Array of Independent Libraries“), bei der mehrere unabhängige, gegebenenfalls räumlich getrennte Bandbibliotheken redundant zusammenarbeiten.
Lernvideos zu RAID
5:04
What is RAID 0, 1, 5, & 10?
PowerCert Animated Videos · 3,1 Mio. Aufrufe
3:12
RAID 0, RAID 1, RAID 10 - All You Need to Know as Fast As Possible
Techquickie · 2,2 Mio. Aufrufe
4:22
RAID 5 vs RAID 6
PowerCert Animated Videos · 662.741 Aufrufe
3:45
RAID SYSTEME einfach erklärt (Übersicht)
IT & Medien einfach erklärt · 123.868 Aufrufe