Computerjockey

RAID: Grundlagen und Systeme

Werfen wir erst einmal einen kleinen Blick zurück: Die ersten PCs wurden mit Diskettenlaufwerken ausgeliefert, die eine Kapazität von gerade mal 160 KByte besaßen. Im Laufe der Zeit verdoppelte sich dann immer wieder das Speichervolumen und gelangte dann auf seine heutige Größe von bis zu 1,44 MByte. Nun, wessen Rechner mit 2 Laufwerken ausgestattet war, konnte auf der einen das Betriebssystem und auf der anderen seine Daten und Programme unterbringen. Eine höchst unkomplizierte und einfache Sache. Doch da tauchen auch schon mal gleich zwei Probleme auf:

  1. Disketten halten nicht ewig und verursachen immer wieder einen Datenverlust. Auch die Sicherheitskopien verlieren mit der Zeit an Substanz.
  2. Bei größerer Datenmenge als 1,44 MByte muss man sich als Diskjockey betätigen und strapaziert nicht nur die Nerven des Benutzers, sondern auch die Hardware.

Also mussten neue Speichermedien entworfen werden, um sowohl den einen als auch den anderen Punkt zu umgehen. Die eine Möglichkeit war die, nochmals die Speicherdichte der Disketten zu erhöhen. Damit hätte man aber nur einen Teil erreicht. Und hier kommen endlich die Festplatten (früher auch Festspeicher genannt) zum Einsatz. Anfangs noch mit spärlichen 20 MByte, was für damalige Zwecke noch als vollkommener Wahnsinn an Speicherplatz galt (tja, damals gab es eben noch kein Windows...), später jedoch wurden auch hier die Kapazitäten mehr und mehr erhöht, bis zum heutigen Stand von bis zu 80 GByte (bei dieser Größe wollen wir es mal belassen). Hier wurde zwar auch die Speicherkapazität erhöht, doch wie sieht es mit der Datensicherheit aus? Schließlich können auch Festplatten mal ihren Geist aufgeben. Typische MTBF-Zeiten (MTBF = Mean Time Between Failure, durchschnittliche Zeit zwischen zwei Ausfällen) sind heutzutage über 500.000 Stunden. Rein rechnerisch kommt man so auf ca. 50 Jahre dauerhaftem Nutzen ohne Ausfall. Hängt man jetzt aber 100 Platten an einen Rechner, sinkt die Zuverlässigkeit auf unter ein halbes Jahr, sprich: man hat einen Ausfall pro Halbjahr. Das mag sich jetzt vielleicht ziemlich banal anhören, denn was kostet schon eine Festplatte, allerdings sind die sich darauf befindlichen Daten eben auch verloren, und die können mitunter unbezahlbar sein. Was also tun? Nun, hier bietet sich natürlich die Datenspiegelung an, was jedoch nur mit einer zweiten Platte effektiv und sinnvoll erreicht werden kann. Und hier kommt eine Technologie zum Einsatz, die man unter dem Oberbegriff RAID kennt.
 
Redundant Array of Independent Disks - wobei man anstatt "independent" auch "inexpensive" verwenden könnte - bedeutet nichts anderes, als dass der Ausfall eines Einzellaufwerks weder zu einem Ausfall des Gesamtsystems noch zur Betriebsunterbrechung oder sogar zum Datenverlust führt. Dies wird erreicht, indem man mehrere Techniken einsetzt wie

  • Mirroring (Spiegelung von zwei oder mehreren Platten an dem selben Controller),
  • Duplexing (dito, jedoch mit verschiedenen Controllern) und
  • Striping (Zusammenfassen von mehreren Laufwerken als ein logisches Laufwerk sowie blockweises Verteilen der darauf befindlichen Daten auf alle Datenträger).

Des weiteren gibt es noch unterschiedliche Typen eines RAID-Systems, die man vorher sorgfältig abwägen sollte, denn von ihnen hängt später die Gesamtperformance des Systems ab. Man nennt die Typen auch Level, was aber irreführend ist, da Level 1 nicht unbedingt auf Level 0 aufbaut.

 

RAID-0

Ein typischer Level für Striping. üblicherweise fasst man hierbei mehrere Platten zu einem großen logischen Laufwerk zusammen, wobei der Stripe-Faktor die Blockgröße angibt, welche auf den einzelnen Laufwerken verteilt werden. Man kann in der Regel davon ausgehen, dass das "scheibchenweise" Verteilen der Daten auf mehrere Platten zu einem Leistungsgewinn führt, da der Controller parallele Schreib- und Lese-Operationen durchführen kann. Das Problem bei diesem Level ist jedoch, dass er keine erhöhte Datensicherheit bietet, denn es werden ja alle Daten auf die jeweiligen Einzelplatten verteilt. Fällt nun eine Platte aus, ergibt sich dadurch, dass alle Daten verloren sind.

RAID-0
RAID-0

 

RAID-1

Beim Level 1 spricht man in der Regel vom sogenannten Mirroring, sprich: Spiegelung, und erreicht eine quasi hundertprozentige Redundanz. Hierbei werden alle Daten der Masterplatte auf die jeweiligen RAID-Platten geschrieben. Klarer Vorteil gegenüber RAID-0 liegt auf der Hand. Bei einem Ausfall der Datenplatte können die Daten wieder hergestellt werden. Allerdings sind die Kosten doch sehr hoch. Es können, anders als beim RAID-Level 0, keine weiteren Platten als die Masterplatte selbst für Datenbestände benutzt werden, da alle weiteren Sets zur Sicherung benötigt werden. Es geht hier also enormer Speicherplatz verloren. Mirroring wird von einzelnen Betriebssystemen als Softwarelösung angeboten (auf Einzelplatten), zum Beispiel von Windows NT. Wird außerdem ein zweiter Controller für das Mirroring verwendet, spricht man von "duplexing" und erzielt damit eine noch höhere, aber leider auch teurere Ausfallsicherheit. Der Geschwindigkeitszuwachs hält sich bei dieser Lösung jedoch in Grenzen, da höchstens beim Lesezugriff Performance-Gewinne erreicht werden können.

RAID-1
RAID-1

 

RAID-0+1

Wird häufig auch als Level-10 bezeichnet und vereint die beiden ersten Level, nämlich Striping und Mirroring. Auf dem ersten Set werden die Daten verteilt (Striping) und auf einem zweiten Set, der logischerweise aus gleich vielen Platten bestehen muss wie Set Nummer 1, die Daten gespiegelt (Mirroring). Bei dieser Methode werden sowohl die hohe Sicherheit von RAID-Level 1 mit der Geschwindigkeit von RAID-Level 0 gepaart. Leider ist diese Lösung auch die kostspieligste, da hierbei die Plattenanzahl drastisch zunimmt. Empfohlen wird natürlich ein zweiter Controller, der die Spiegelung übernimmt.

RAID-0+1
RAID-0+1

 

RAID-4

Eine kostengünstigerere Variante der Datensicherung bietet dieser Level. Anstatt nun alle Daten zu sichern, fällt diese Aufgabe der sogenannten "Parity-Platte" zu. Zusätzlich zu den im Stripe-Verfahren beschriebenen Datenplatten kommt also eine weitere Platte - die "Parity-Platte" - hinzu, auf der nun von jedem Block der Datenplatten ein Parity-Bit geschrieben wird. Der Vorteil liegt hier klar auf der Hand: mit Hilfe der XOR-Operation lassen sich bei einem Ausfall einer Datenplatte die kompletten Bestände restaurieren. Auch die Lese-Performance kann durch parallele Requests gesteigert werden. Nachteil an dieser Sache ist dann der, dass bei jedem Schreibvorgang die Parität neu berechnet und auf die Parity-Platte geschrieben werden muss, was wieder Zeit kostet. Gleichzeitig ist dann in solch einem System die Paritätsplatte der wichtigste Datenträger in dem Set. Fällt diese aus, kann keine Restauration mehr vorgenommen werden.

RAID-4
RAID-4

 

RAID-5

Auch bekannt unter Rotating Parity Array und ist eine Erweiterung zu RAID-Level 4. Um den Nachteil der einzelnen Parity-Platte auszugleichen, werden nun auch die Paritäts-Daten auf die Datenplatten verteilt, und zwar immer so, dass die Parity-Bits der Datenplatte X auf der Datenplatte Y abgespeichert werden und umgekehrt (entsprechend mehr Möglichkeiten bei mehreren Platten). Dadurch wird auch die Leistung beim Schreiben deutlich angehoben. Dieser RAID-Level bietet zur Zeit die höchste Sicherheit und wird deswegen auch am häufigsten angewandt.

RAID-5
RAID-5

 

andere RAID-Typen

Des weiteren gibt es natürlich noch andere RAID-Typen, die sich jedoch nicht als Standard durchsetzen konnten oder aber nur Erweiterungen der oben genannten Typen sind. RAID-2 zum Beispiel verwendet zusätzlich zum Stripingverfahren die Fehlererkennung und -korrektur ECC-Logik (Error Correction Codes), welche auf eine oder mehrere Platten verteilt werden. Dieses Verfahren bietet jedoch kaum Vorteile gegenüber RAID-3 und ist wesentlich aufwendiger zu implementieren.
RAID-3 ist quasi der Vorgänger von RAID-4 und daher schnell erklärt. Der Unterschied zu RAID-4 besteht eigentlich nur in der Tatsache, dass kleinere Stripes geschrieben werden, was jedoch die Masse an Parity-Daten beträchtlich erhöht.

 

RAID-Systeme

Software RAID

Windows NT zum Beispiel bietet diese Möglichkeit an. Hierbei können mehrere Plattenlaufwerke zu einem RAID-System zusammengefasst werden. Die Verwaltung übernimmt dann in diesem Falle das Betriebssystem selbst.
  • Vorteil: eine kostengünstige Lösung und einfach zu implementieren
  • Nachteil: bei Mehrbenutzerzugriff auf den Rechner muss mit erheblichen Einbußen bei der Performance des NT-Systems gerechnet werden, da die CPU-Belastung für die RAID-Verwaltung enorm ist. Bei Problemen mit NT sind die Konfigurationsdaten weg.

Interne Hardware-RAID mit Controller

Im Gegensatz zur reinen Software-Lösung übernimmt hierbei nun ein RAID-Controller das Management und somit die ganze Rechenleistung. Meistens als SCSI-Version anzutreffen, da eben die Kapazität an Platten dort doch wesentlich größer ist.

  • Vorteil: keine CPU-Belastung durch Verwaltung. Die Konfigurationsdaten für das RAID-System befinden sich auf allen RAID-Platten, was das System somit nahezu Ausfallsicher macht.
  • Nachteil: Mehrkosten durch Controller

Mittlerweile hat sich etabliert, die komplette RAID-Hardware in ein extra Gehäuse unterzubringen. Dort kann man dann seine ganzen Wünsche verwirklichen und gleich auf sogenannte "hot-plugging" Geräte umsteigen (Geräte können im laufenden Betrieb hinzugefügt oder ausgetauscht werden). Weitere Datensicherheit kann noch erreicht werden, wenn man redundante Controller einsetzt. Erleidet der augenblickliche Controller Schaden, kann automatisch auf einen anderen umgeschaltet werden. Sowohl die defekten Platten als auch Controller können somit im laufenden Betrieb ausgetauscht werden. Des weiteren empfiehlt es sich, vorhandene RAID-Systeme an eine USV (unterbrechungsfreie Stromversorgung) anzuschließen, da sonst im Falle eines Stromausfalls der eigentliche Sinn der Datenverfügbarkeit nicht mehr gewährleistet ist.

 

Fazit

Dass es keine vollständige Absicherung gegen Plattenausfall gibt, dürfte wohl jedem einleuchten. Dafür wäre der Aufwand viel zu hoch. Auch RAID ist keine Lösung für alle Arten von Ausfällen, allerdings wird das Risiko drastisch verringert, oder besser gesagt aufgeteilt, je nachdem mit welchem RAID-Level man operiert. Auch kann die Gesamtleistung eines Systems unter dem Einsatz von RAID leiden. Hier wäre es eben sinnvoll, seine Daten in einer völlig anderen Struktur zu optimieren. Für ständig benutzte Daten, die den schnellsten Zugriff benötigen, wäre eine Art RAM-Disk vorzuziehen. Die häufig aufgerufenen Daten auf einen schnellen Massenspeicher verbannen (RAID) und die wenig benutzten Daten oder zu Archivierungszwecken auf optische Speicher oder Bandlaufwerke.
Die heutigen Mainboards - wie zum Beispiel das ABIT KT7-Raid - unterstützen schon von sich aus unterschiedliche RAID-Level. Allerdings sind diese eher beschränkt auf Striping und Mirroring. Diese reichen aber dem normalen User vollkommen aus, wenn man einfach ohne viel nachzudenken seine Daten sichern oder archivieren möchte. Doch alleine aus Kostengründen schon zieht man als Privatanwender eher eine Tape-Lösung vor. Dort werden zwar die Daten nicht während der Arbeit gesichert, können jedoch auf separate Medien abgelegt werden.

  Top
Letzte Änderung an dieser Datei: 21 Nov 2017 00:43     © 2002 Computerjockey