RAID Typen

RAID als Konzept kann auf verschiedenen Schichten in einem Computersystem stattfinden: Je nachdem wo die RAID- Funktionaliät implementiert ist, unterscheidet man zwischen verschiedenen RAID Typen. Jeder dieser Typen hat verschiedene Vor- und Nachteile, die im Fazit tabellarisch dargestellt sind. Das folgende Bild zeigt eine Übersicht über diese RAID Typen.

RAID Typen
RAID Typen und ihre Implementierungsebene

“Echtes” Hardware RAID

Das “echte” Hardware RAID war es, was dem Konzept RAID seinen ursprünglichen Namen gegeben hat. Für ein Hardware-RAID benötigt man einen separaten RAID-Controller, meist in Form einer Steckkarte, die aufs Mainboard gesteckt wird. Die Festplatten werden dann an diesen RAID-Controller angebunden und über ihn verwaltet (in seinem separaten BIOS). Der RAID-Controller besitzt einen eigenen Prozessor, der die Berechnung des RAIDs (Paritäten, etc.) übernimmt. Weiterhin haben RAID-Controller auch oft einen eigenen Cache, der die Arbeit des RAID nochmals beschleunigt.

Das Hardware-RAID arbeitet sehr schnell, weil es die CPU nicht belastet (dank eigenem Controller-Chip) und evtl. eigenen Cache mitbringt. Je nach Modell und gewähltem RAID-Level lassen sich neue Platten im laufenden Betrieb hinzufügen oder entfernen. Ein Hardware RAID ist betriebssystemunabhängig (so lange es für das jeweilige Betriebssystem Treiber für den Controller gibt), jedoch können die Platten nicht an anderen Controllern weiterverwendet werden ohne die gespeicherten Daten zu löschen. Die Platten mit den Daten sind also jeweils an genau einen Controller gebunden.

“Fake” RAID

Seit einigen Generation bauen Intel und AMD in ihre Chipsätze ebenfalls RAID-Funktionalität ein. Diese RAID-Systeme werden Fake RAID genannt, weil sie nicht wie die “echten” RAIDs ein eigenes Subsystem mit eigenem Controller im Rechner bilden, sondern die Verwaltung über das Mainboard-BIOS erledigt und die Berechnung des RAIDs dem Hauptprozessor (CPU) überlassen wird.

Mit immer schneller werdenden Prozessoren spielt zwar die Belastung der CPU keine große Rolle mehr – die weiteren Eigenschaften eines Hardware-RAID bleiben jedoch auch erhalten. Der Vorteil der Betriebssystemunabhängigkeit (sofern passende Treiber existieren) wird aufgewogen durch die Hardwareabhängigkeit. Man kann die Daten einer Festplatte, die an einem Fake RAID geschrieben wurden, nicht einfach an einem anderen Fake RAID lesen.

Software RAID

Moderne Betriebssysteme bringen zahlreiche Möglichkeiten mit, ein RAID auch alleine in Software zu realisieren. Damit ist das RAID natürlich nicht mehr betriebsystemunabhängig, aber man gewinnt ganz neue, flexible Möglichkeiten, ein RAID aufzubauen. Je nach Konfiguration kann ein solches Software RAID auch in anderen Rechnern weiterverwendet werden, falls der Ursprungs-Rechner einen “Totalschaden” erlitten hat. Software RAIDs finden heute auf verschiedenen Ebenen der Software statt, wie auch die obige Abbildung schon gezeigt hat.

Betriebssystemebene

Software RAIDs auf Betriebssystemebene binden die Festplatten über beliebige Controller ein und realisieren darauf dann die RAID-Funktionalität. Bei Windows-Systemen erledigt man das in der Computerverwaltung, unter Linux verwendet man den Befehl mdadm.

Dateisystemebene

Software RAIDs auf Dateisystemebene werden durch moderne Dateisysteme realisiert, die mittlerweile selbst RAID- Funktionalität mitbringen. Eines der ersten Dateisysteme, das diese Funktionalität mitbrachte war das von FreeNAS verwendete ZFS (Eigenname: RAID-Z). Das neue Dateisystem btrfs beherrscht diese Funktionalität ebenfalls.

Anwendungsebene

Software RAIDs auf Anwendungsebene werden durch spezielle Programme erzeugt, die die RAID-Funktionalitäten implementieren. Solche Programme sind zum Beispiel das SnapRAID oder Greyhole. Im Unternehmensumfeld spielen die Software RAIDs auf Anwendungsebene bisher keine große Rolle, sie kommen vorrangig bei Privatnutzern zum Einsatz.

Fazit

Die folgende Tabelle fasst die wichtigsten Eigenschaften der vorgestellten RAID-Typen kurz zusammen:

Eigenschaft Hardware RAID Fake RAID Software RAID
Hardwareunabhängig Nein Nein Ja
Betriebssystemunabhängig Ja Ja Nein
RAID-Berechnung RAID-Controller CPU CPU
Flexibilität o ++

Neben den hier genannten Typen können auch noch Kombinationen existieren. Man kann ein Hardware RAID beispielsweise ohne Probleme mit einem Software RAID kombinieren – zu welchem Zweck auch immer. Für den privaten Gebrauch sollte man das RAID allerdings so einfach wie möglich halten. Ein RAID bedeutet immer zusätzlichen Administrations- und Verwaltungsaufwand – das ist der Preis für erhöhte Datensicherheit oder Geschwindigkeit.

Allgemein würde ich in einem selbst gebauten NAS vorrangig das Software RAID (auf Betriebssystemebene) einsetzen. Ein Hardware RAID ist mir auf Grund des erforderlichen Controller zu teuer und ein Fake RAID ist auch nicht schneller als ein Software RAID (da beide auf der CPU berechnet werden). Das Fake RAID würde lediglich eine teilweise Betriebssystemunabhängigkeit liefern, sofern Treiber zur Verfügung stehen. Da ist die zusätzliche Flexibilität eines Software-RAID mehr Wert. Was die Performance angeht, sind heutige Prozessoren auch problemlos schnell genug um Software RAIDs zu berechnen. Ein NAS braucht heute keine Controllerkarte mehr. Zusätzlich lassen sich auch Fehler auf Softwarebene leichter beheben denn auf Hardware Ebene.