Untersuchung zur Anwendung von Raid-Systemen
Aus Winfwiki
Inhaltsverzeichnis |
1 Titel
| Name des Autors: | Sebastian Waterkamp |
| Titel der Arbeit: | Untersuchung zur Anwendung von Raid-Systemen |
| Hochschule und Studienort: | Fachhochschule für Oekonomie und Management in Essen |
2 Abbildungsverzeichnis
| Abb.-Nr. | Abbildung |
|---|---|
| 1 | Aufbau von RAID0 |
| 2 | Aufbau von RAID1 |
| 3 | Aufbau von RAID0+1 |
| 4 | Aufbau von RAID10 |
| 5 | Aufbau von RAID3 |
| 6 | Aufbau von RAID5 |
| 7 | Aufbau von RAID6 |
| 8 | Aufbau von RAID50 |
| 9 | Aufbau von RAID60 |
| 10 | Übersicht RAID-Level |
3 Tabellenverzeichnis
| Tabelle Nr. | Quelle |
|---|---|
| 1 | Übersicht RAID-Level |
4 Einführung
Vor gut 30 Jahren wurde im Gegensatz zu heute zwischen Serverfestplatten und Festplatten für Personalcomputer unterschieden. Die gängigen Festplatten für Server waren im 14-Zoll-Format und boten einen für damalige Verhältnisse sehr großen Speicherplatz und hohe Datensicherheit. Dieser Speicherplatz entsprach etwa zwei bis drei Gigabyte. Solche großen Festplatten waren sehr teuer. Die Alternative zu diesen großen, einzelnen Festplatten waren die damals noch recht neuen 5,25 Zoll Festplatten. Sie waren wesentlich billiger, boten aber weniger Platz und waren anfälliger für Fehler. Dies stellte die Verantwortlichen vor die Frage, ob sie nun eine große, teuere Festplatte einsetzen wollen oder viele kleine, dafür billigere Festplatten. Letztere Variante warf zusätzlich die Probleme auf, dass sowohl das Auffinden von freiem Speicherplatz, wie auch das Auffinden von Dateien wesentlich aufwendiger war als auf einem großen, einzelnen Laufwerk. Die drei Berkley-Doktoranden David Patterson, Garth Gibson und Randy Katz machten es sich zur Aufgabe, eine wirkliche Alternative zu den großen, einzelnen Festplatten zu entwickeln. Diese sollte ebenso sicher, wie auch schnell sein, wie ihre teueren Konkurrenten. 1988 veröffentlichten sie eine Studie mit dem Namen "A Case for Redundant Arrays of Inexpensive Disks (RAID)". In dieser Studie erklärten sie wie man viele kleine, kostengünstige Festplatten zu einem Verband zusammen schalten kann. Diese Verbände waren mit Fehlererkennungs- und Fehlerkorrekturmechanismen ausgestattet. Außerdem boten sie eine große Kapazität. Damit waren die Hauptziele, geringe Kosten, große Speicherkapazität und hohe Ausfallsicherheit bereits erfüllt. Aber RAID bot noch mehr. Auch das Problem mit den verteilten Dateien war gelöst, da sich ein RAID-Verband dem Anwender gegenüber als ein logisches Laufwerk darstellt. Das auffinden von freiem Speicherplatz, wie auch einzelnen Dateien war nun also genauso wie auf einer großen einzelnen Festplatte zu betrachten. Zusätzlich entstanden Geschwindigkeitsvorteile durch den parallelen Zugriff auf mehrere Festplatten.[1]
Auch heute stellt sich Serveradministratoren und auch Privatleuten die Frage, wie sie ihre Daten am besten und sichersten speichern können. Ebenso liegt die Wahl heute zwischen einzelnen und Verbänden von Festplatten. Da die Speicherung auf einzelnen Festplatten keiner großen Erklärung bedarf, befasst sich diese Seminararbeit mit der Anwendung von RAID-Systemen. Dazu werden folgende Fragen beantwortet.
- Welche Formen von RAID-Systemen gibt es?
- Welche RAID-Level gibt es und wie funktionieren diese?
- Welche Ausfallmöglichkeiten gibt es und wie kann deren Auftreten verhindert werden?
- Wo liegen die Grenzen der RAID-Sicherheit?
- In welchen Fällen finden die einzelnen RAID-Level Anwendung?
5 Technische Betrachtung
5.1 Redundanz
Da der Begriff Redundanz beim Thema RAID-Systeme eine große Rolle spielt, möchte ich diesen vorweg erläutern. Redundanz ist das lateinische Wort für "Überfülle". In der Technik spricht man vom Einbau von Reserveelementen, die eingefügt werden, um die Systeme zuverlässiger zu machen. Ein Beispiel hierfür sind 2 separate Stromversorgungen für eine Gerätschaft. Hierbei wird zwischen 2 Redundanzarten unterschieden.
- Aktive Redundanz
- Passive Redundanz
Bei aktiver Redundanz werden die redundanten Komponenten parallel betrieben. Bei passiver Redundanz wird die redundante Komponente erst bei Bedarf zugeschaltet.[2]
5.1.1 Komponentenredundanz
Komponentenredundanz bedeutet, dass wichtige Teile(Komponenten) eines Systems doppelt vorhanden sind. Beispiele hierfür sind Festplatten, Netzwerkkarten oder die Stromversorgung. Sollte eine der Komponenten ausfallen, kann ihre Arbeit direkt von ihrem Doppel übernommen werden. [3]
5.1.2 Systemredundanz
Wenn alle Komponenten eines Systems mehrfach vorhanden sind, wird dies als Systemredundanz bezeichnet. Ein Beispiel hierfür, sind 2 identische Rechnersysteme. Sollte eines der Rechnersysteme ausfallen, kann direkt mit dem anderen weiter gearbeitet werden. [4]
5.2 RAID-Formen
5.2.1 Software RAID
Ein reines Software RAID, ist ein Programm, dass frei von zusätzlichen Hardwarekomponenten einen RAID Verband steuert. Die Steuerung des RAID Systems wird dabei vollständig von der CPU übernommen. Dies wirkt sich negativ auf die Rechenleistung des Gesamtsystems aus, abhängig davon wie komplex der gewählte RAID-Level ist. Der große Vorteil eines reinen Software RAID ist der Preis. Wenn die RAID-Software bereits im Betriebssystem integriert ist, sind außer den für den RAID-Level benötigten Festplatten keine zusätzlichen Komponenten erforderlich. Eine Hybrid Variante oder Mischform, besteht aus einem Softwareteil und Hardwarebausteinen die dazu konzipiert sind, die Last an der CPU zu verringern und die Performance zu verbessern. Einer der wichtigen Unterschiede dieser zwei Varianten ist, dass die pure Software Variante erst dann das RAID funktionsfähig macht, wenn das Betriebssystem geladen ist. Die Hybridvariante verfügt über ein RAID BIOS in der Hardwarekomponente. Dieses BIOS macht das RAID System verfügbar, sobald der Computer eingeschaltet wird. Zusätzlich verfügt diese Variante über im BIOS installierte Software, welche es ermöglicht den RAID-Verband zu konfigurieren oder zu warten ohne vorweg ein Betriebssystem geladen haben zu müssen.[5]
Windows Vista und XP beherrschen RAID 0, RAID 1 und 5. RAID 1 und 5 jedoch nur in der Server-Version. Linux unterstützt die Level 0, 1, 4 und 5. Ab Kernel 2.6 ist auch ein RAID 6 möglich.[6]
5.2.2 Hardware RAID
Ein Hardware RAID ist unabhängig vom Rest des Computersystems. Es hat einen eigenen Speicher und Prozessor um den RAID-Verbund zu steuern. Dies ist als kleiner Computer im Computer vorstellbar. Teilweise sind solche Lösungen bereits im Motherboard implementiert. Die andere Variante ist es, ein solches System per Steckkarte in den Computer zu integrieren. Zur Unterscheidung zwischen Hardware und Software RAID dient also die Feststellung, ob ein eigener Mikroprozessor in die RAID Lösung eingebaut ist, oder nicht. Falls ja, handelt es sich um ein Hardware RAID falls nein, muss es ein Software RAID sein. Durch den RAID eigenen Prozessor wir der Prozessor der Hauptsystem nicht mehr für die Verwaltung des RAID Verbunds benötigt. Die Prozessorleistung des Hauptsystems bleibt also unangetastet. Dies ist selbst dann der Fall, wenn eines der Laufwerke ausfällt. Auch die Komplexität des RAID Systems hat keine Auswirkungen auf die Leistung des Gesamtsystems.[7]
5.3 RAID-Level
Der Begriff RAID-Level beschreibt die Art der Datenspeicherung in einem RAID-Verbund. Der Begriff Level (engl. für Stufe) hat keine wertende Eigenschaft. Die RAID-Level 1 - 5 wurden 1988 von David A. Patterson, Garth Gibson und Randy H. Katz an der Universität von Kalifornien entwickelt und mit dem Dokument "A Case for Redundant Arrays of Inexpensive Disks (RAID)" eingeführt. Die im Dokument benannten RAID-Level haben sich bis heute nicht verändert. Der sechste RAID-Level wurde später entwickelt. Heute werden neben den Leveln 1 - 6 auch Mischformen eingesetzt, je nachdem welche Eigenschaften für den jeweiligen Anwendungsfall erforderlich sind.[8] Die heute gängigen RAID-Level sind 0, 1, 5 und unterschiedliche Mischformen aus diesen Leveln.[9]
5.3.1 RAID 0
|
Obwohl Raid für "Redundant Array of Indipendent Disks" steht, hat RAID 0 nichts mit Redundanz zu tun. Die Festplatten in einem RAID 0-Verbund sind zu einem logischen Laufwerk verbunden. Die Daten die in einen solchen Verbund geschrieben werden, werden in Blöcke, sog. "Stripes" aufgeteilt und gleichmäßig auf die unterschiedlichen Festplatten verteilt. Aufgrund der Bezeichnung Stripes, wird dieses Verfahren auch als Striping bezeichnet. Ein solcher Verbund wird Stripeset genannt. Dadurch dass die Daten von den verschiedenen Festplatten parallel gelesen und geschrieben werden, entsteht ein signifikanter Geschwindigkeitsvorteil. Dieser macht sich vor allem bei großen Dateien bemerkbar. Hierbei kann eine Vervielfachung der Transferrate resultieren. Bei Zugriffen auf kleine Dateien ist kein großer Vorteil gegenüber Einzellaufwerken erkennbar. Der Grund hierfür ist, dass die Geschwindigkeit in diesem Fall von der Zugriffszeit der Platte limitiert wird. Aus diesem Grund wird RAID 0 hauptsächlich dort eingesetzt, wo große Datenmengen bearbeitet werden müssen. Als Beispiel hierfür dient die Audio- und Videobearbeitung. Der Geschwindigkeitsvorteil geht jedoch zu Lasten der Datensicherheit. Sollte eine der Festplatten des Verbunds ausfallen, sind die Daten auf den verbleibenden Festplatten nutzlos, da sie aufgrund der fehlenden Blöcke der zerstörten Festplatte nicht mehr vollständig zusammengesetzt werden können. Ein Raid 0-Verbund benötigt mindestens 2 Festplatten.[10] |
5.3.2 RAID 1
|
Bei einem RAID 1-Verbund werden die Daten der einen Festplatte auf die andere gespiegelt. Dies wird als Mirroring (engl. für Spiegelung) bezeichnet. Alle Daten der einen Festplatte, befinden sich also auch vollständig auf der anderen, da parallel auf beide Laufwerke geschrieben wird. Falls eine dieser Festplatten ausfällt, sind die Daten vollständig auf der anderen Festplatte des Verbunds vorhanden. Der Vorteil von RAID 1 ist also eine sehr hohe Datensicherheit. Nur wenn beide Laufwerke des Verbunds ausfallen, sind alle Nutzdaten verloren. Der Nachteil dieses RAID-Levels ist die halbierte Kapazität, da sich auf beiden Festplatten der gleiche Inhalt befindet. Somit verdoppeln sich die Kosten für die Datenhaltung, da zwei Festplatten bereitgestellt werden müssen, diese jedoch wie eine betrieben werden. Neben der Datensicherheit bietet RAID 1 einen Geschwindigkeitsvorteil beim lesen von Daten(im besten Fall wird diese verdoppelt). Die Schreibgeschwindigkeit bleibt unverändert. Für RAID 1 werden 2 Festplatten benötigt.[11] Es ist möglich auch ganze RAID-Verbände zu spiegeln. Dazu werden dementsprechend mehr Laufwerke benötigt. Als Beispiele hierfür werden RAID 10, RAID 0+1, RAID 50 und RAID 60 im weiteren Verlauf erklärt. |
5.3.3 RAID 0+1 / Raid 10
| Hierbei handelt es sich um eine Kombination aus Raid 0 und Raid 1. Diese Kombination vereint die Vorteile beider RAID-Level. Zum einen erzeugt sie den Geschwindigkeitsvorteil von RAID 0 und zum anderen die hohe Datensicherheit des RAID 1.Der Name ist abhängig vom internen Aufbau des RAID-Verbunds. Um das Prinzip deutlich zu machen, wird nun beispielhaft ein RAID-Verbund aus 4 Festplatten erstellt.
Hierzu gibt es 2 Methoden:
Der dadurch erzeugte Speicherplatz, sowie der erzielte Geschwindigkeitsvorteil sind in beiden Fällen gleich.[12][13] Die beiden Varianten unterscheiden sich dann, wenn eines der Laufwerke ausfallen sollte. Bei der Variante 0+1 würde dies bedeuten, dass das gesamte RAID 0 neu aufgebaut werden muss. Da bei Ausfall einer Festplatte im RAID 0 alle Daten auf den übrigens Festplatten unbrauchbar werden. Bei RAID 10 fehlt bei Ausfall einer Festplatte nur eine Festplatte eines Spiegels. Demnach muss nur eine Festplatte wieder neu aufgebaut werden. Wesentlich deutlicher wird der Unterschied wenn der RAID 10 bzw. 0+1 Verband aus mehr als 4 Festplatten besteht. Beispielsweise 8 Festplatten. Bei 4 Spiegeln, die zu einem RAID 0 zusammengefasst werden (RAID 10) bleibt es dabei, dass nur eine Festplatte, nämlich die ausgefallene neu aufgebaut werden muss. Bei einem RAID 0+1 mit 8 Festplatten würde dies bedeuten, dass durch den Ausfall von einer Festplatte, vier Festplatten neu aufgebaut werden müssen! |
|
5.3.4 RAID 2
Bei RAID 2 werden die Nutzdaten bitweise auf die unterschiedlichen Festplatten verteilt. Bei einem Datenwort von 8 Bit, entspräche dies 8 Festplatten, da 1 Bit pro Festplatte. Zusätzlich zu diesen 8 Bit hängt RAID 2 aber 2 Paritätsbits zur Prüfung von Fehlern an die Datenwörter an. Diese werden als ECC(Error Correcting Code) Informationen bezeichnet. Dementsprechend werden also 2 Zusätzliche Festplatten benötigt, die die Paritätsbits speichern. In der Praxis müssen für einen RAID 2 Verbund also mindestens 10 Festplatten bereitgestellt werden. RAID 1 kann nur feststellen, dass ein Schreibfehler vorliegt, jedoch nicht, welche Festplatte diesen Fehler gemacht hat. RAID 2 ist mit Hilfe der Paritätsinformationen in der Lage, einzelne Bits gezielt zu korrigieren. Aufgrund des höheren Schreibaufwandes sinkt die Performance beim Schreiben von Daten zwar unter die einer einzelnen Festplatte, die Lesegeschwindigkeit wird durch die Arbeit von 8 separaten Leseköpfen jedoch um den Faktor 8 erhöht. [14]
5.3.5 RAID 3
|
Bei RAID 3 werden die Daten byteweise auf die Laufwerke des Verbunds verteilt. Dabei gibt es eine Ausnahme. Eine Festplatte dieses Verbundes wird dabei mit Paritätsinformationen gefüllt. Bei 4 Festplatten würde dies also bedeuten, 3 Festplatten werden mit jeweils einem Drittel der Nutzdaten gefüllt. Die übrige Festplatte enthält nur die Paritätsinformationen. Es stehen damit also drei Viertel der Gesamtkapazität der Festplatten zur Verfügung. Im Gegenteil zu RAID 2 verlässt sich dieser RAID Typ vollständig auf hauseigene Fehlerkorrektur der Festplatten. Vor dem Schreiben bzw. lesen werden die Leseköpfe aller Festplatten synchronisiert. So kann, ohne Geschwindigkeitsverlust, parallel auf alle Festplatten geschrieben werden. Zusätzlich verdankt RAID 3 dieser Eigenschaft einen Vorteil beim Lesen großer Dateien. Das Lesen vieler kleiner Dateien gestaltet sich wesentlich aufwendiger, da auch hier alle Leseköpfe auf die gleiche Position gebracht werden müssen.[15] |
5.3.6 RAID 4
RAID 4 verteilt die Nutzdaten Blockweise auf die einzelnen Festplatten. Somit muss zum Lesen und Schreiben eines einzelnen Blocks nicht mehr jede Festplatte angesprochen werden. Hiermit sollte das Problem der Geschwindigkeitseinbuße bei Zugriffen auf kleine Dateien umgangen werden. Auch bei RAID 4 werden die Paritätsinformationen auf einem einzelnen Laufwerk gespeichert. Die Leseköpfe der Festplatten werden jedoch nicht synchronisiert. Sollten die Dateien in jeweils einen Block passen und sich auf verschiedenen Festplatten befinden, so können die Laufwerke des Verbunds simultan mehrere Dateien auslesen. Dies war aufgrund der Bitweisen bzw. Byteweisen Aufteilung von RAID 2 und 3 nicht möglich. Aufgrund der fehlenden Lesekopfsynchronisierung ist RAID 4 beim schreiben von Daten allerdings langsamer als RAID 3, da bei jedem Schreibzugriff erst die dazugehörigen Paritätsinformationen auf dem Paritätslaufwerk angesteuert werden müssen. Die Geschwindigkeitseinbuße entsteht also durch die Zugriffe auf das Paritätslaufwerk.[16]
5.3.7 RAID 5
|
RAID 5 verteilt wie auch RAID 4 die Datenblöcke auf verschiedene Laufwerke. Im Unterschied zu RAID 4 verwendet RAID 5 jedoch keine einzelne Paritätsfestplatte mehr. Die Paritätsdaten werden nach einem festgelegten Schema auf alle Festplatten des RAID 5 Verbundes verteilt. Auch bei RAID 5 sind die Leseköpfe nicht synchronisiert. Somit können Daten sehr performant gelesen werden. Das Schreiben der Dateien erweißt sich aufgrund der verteilten Paritätsinformationen als wesentlich performanter als bei RAID 4. Um dies zu verdeutlichen, wird nun ein Schreibvorgang anhand eines RAID 4- und eines RAID 5-Verbundes erklärt welche aus jeweils 4 Festplatten bestehen. Der Schreibvorgang umfasst 2 Blöcke. Diese Blöcke werden auf 2 Festplatten verteilt.[17] |
5.3.8 RAID 6
|
RAID-Level 6 arbeitet ähnlich wie RAID 5. Die Paritätsinformationen werden auch bei diesem RAID-Level auf die unterschiedlichen Festplatten verteilt. In diesem Fall sind jedoch auch die Paritätsinformationen doppelt vorhanden. Es gibt also zusätzlich zu den Datenblöcken 2 Paritätsblöcke die sich auf 2 verschiedenen Festplatten befinden. Dies hat zur Folge, dass bis zu 2 Festplatten ausfallen können, ohne dass Daten verloren gehen. Dieses Verfahren wirkt sich jedoch negativ auf die Schreibgeschwindigkeit aus.[18] |
5.3.9 RAID 50
|
Ein RAID50 Verbund ist eine Mischform aus RAID5 und RAID0. Es handelt sich hierbei um mehrere RAID5 Verbände, die zu einem RAID0 zusammengefasst werden. Da für ein RAID5 Mindestens 3 Festplatten benötigt werden und für ein RAID0 mindestens 2 gleich große Laufwerke, ergibt sich für ein RAID50 eine minimal Anzahl von 6 Datenträgern.[19] |
5.3.10 RAID 60
|
Auch RAID60 ist eine Mischform aus zwei RAID-Varianten. Hierbei handelt es sich um RAID6 Verbände, die zu einem RAID0 zusammengefasst werden. Es vereint die sehr hohen Sicherheitseigenschaften von RAID6 und die hohe Performance von RAID 0.[20] |
6 Ausfallmöglichkeiten und Verhinderung
6.1 Ausfall von Festplatten
Bei den Folgen eines Festplattenausfalls ist je nach RAID-Level zu unterscheiden. Bei einem RAID 0, dass entgegen der Bezeichnung RAID, keine redundanten Daten erhält, gehen sofort alle Daten des Verbunds verloren.[21] Bei den RAID-Leveln 1-5 geht bei dem Verlust von einer Festplatte zunächst nur die Redundanz verloren. Die defekte Festplatte muss also schnellst möglich ersetzt werden. Zum Ersetzen der defekten Festplatte gibt es mehrere Möglichkeiten.
- Das System muss herunter gefahren, die Festplatte ausgebaut werden und gegen eine neue ersetzt werden. (Betriebsunterbrechung)
- Das System besitzt eine zusätzliche Festplatte(wird als Hot-Fix, Hot-Spare oder Stand-by-Laufwerk bezeichnet), die nur im Notfall aktiviert und automatisch eingebunden wird. Trotzdem muss die defekte Festplatte gewechselt werden. In dieser Variante kann die Betriebsunterbrechung jedoch auf einen selbst gewählten Zeitpunkt gelegt werden, da nicht die Notwendigkeit eines sofortigen Wechsels vorliegt, da die Festplatte ja bereits durch das Stand-by-Laufwerk ersetzt wurde.
- Das System ist Hot-Plug bzw. Hot-Swap fähig. D.h. die Festplatten befinden sich in sog. Shuttles, welche während des Betriebs herausgezogen werden und neu bestückt werden können. Durch diese Technologie, kann eine Betriebsunterbrechung umgangen werden. Sie findet gerade bei Servern Anwendung, da Betriebsausfälle bei diesen inakzeptabel sind.
Unabhängig von der gewählten Variante, müssen die verloren gegangenen Daten auf der neuen Festplatte rekonstruiert werden. Dies wird als Rebuild bezeichnet. Dazu gibt es 2 Varianten:
- Manuell: Bei dieser Variante muss nach dem Festplattenaustausch der Rebuild händisch gestartet werden.
- Automatisch: Diese Variante wird als Auto-Rebuilt bezeichnet. Sie ist jedoch nur möglich, wenn Festplattenshuttle und RAID Controller miteinander kommunizieren können.[22]
6.2 Ausfall des Controllers
Sollte der RAID-Controller ausfallen, muss er durch einen baugleichen Controller desselben Herstellers ersetzt werden. Wichtig ist hierbei unbedingt den Anweisungen des Herstellers zu folgen, wie in einem solchen Fall vorzugehen ist. Anschließend kann das RAID-System wieder normal betrieben werden.[23] Bei Software RAID-Controllern muss die Software neu installiert werden.[24]
6.3 Ausfall der Software
Ein Software RAID ist eine auf dem Rechner laufende Software, die die Aufgaben eines physischen Raid-Controllers übernimmt. Sollte diese Software nicht ordnungsgemäß arbeiten, treten Fehler bei der Arbeit mit dem RAID-System auf. Ursachen für die nicht ordnungsgemäße Arbeit eines solchen Programms sind zum Beispiel Systemabstürze (durch Programmfehler) oder Viren. Hierdurch können die Datenintegritätsprobleme entstehen.[25] Abwehrmaßnahmen sind an dieser Stelle funktionierende Virenscanner und effektive Backupstrategien.
6.4 Ausfall der Verkabelung
Eine Festplatte wird mit 2 Kabeln angeschlossen. Mit einem Datenkabel und einem Stromkabel. Sollte eines dieser Kabel ausfallen, kann der RAID-Controller die Festplatte nicht mehr erreichen. Dabei spielt es keine Rolle, welches der beiden Kabel ausgefallen ist. Es muss auch nicht zwingend ein Defekt des Kabels vorliegen. Auch das absichtliche oder unabsichtliche Entfernen eines Kabels, z.B. beim Einbauen oder Ausbauen anderer Hardwarekomponenten, reicht aus. Für den Controller ist die Festplatte dann nicht mehr vorhanden. Beim Wiederherstellen der Verbindung wird, je nach RAID-Controller und RAID-Level der Rebuild der Festplatte automatisch bzw. manuell aktiviert. Sollte ein Wackelkontakt[26] vorliegen, würde die Festplatte nach jeder Kontaktwiederherstellung neu aufgebaut werden. D.h. häufige Rebuilds ohne erkennbaren Grund, deuten auf einen Wackelkontakt in einem der Anschlusskabel hin.
6.5 Ausfall der Spannungsversorgung
Ausfall der Spannungsversorgung bedeutet, dass die Energieversorgung des Rechnersystems außerplanmäßig abgeschaltet wird. In einem solchen Fall, gehen alle nicht gespeicherten Daten verloren. In diesem Zusammenhang ist es also wichtig, zu wissen, wann und wie ein RAID-Controller Daten auf die ihm zugehörigen Festplatten speichert.
Dem RAID-Controller stehen hierfür im Allgemeinen 2 Möglichkeiten zur Verfügung.
- Write Back
- Write Through
In beiden Modi werden Daten über den RAID-Controller auf die angeschlossenen Festplatten geschrieben. Unterschieden wird hierbei nur, ob die Daten vorher in einem Cachespeicher zwischengespeichert werden, oder nicht. Im Write Back Modus, schreibt der RAID-Controller die Daten zuerst in einen solchen Cachespeicher. Dieser dient dazu, die Daten schnellstmöglich vom Betriebssystem entgegen zu nehmen und auf die Festplatte zu übertragen, wenn die Auslastung der Systemressourcen dies zulässt. Dies dient dazu die Daten auf die Festplatte zu übertragen, ohne dabei das Gesamtsystem zu bremsen. Der so genannte "Completion-Status", welcher dem Betriebssystem mitteilt, dass die Daten ordnungsgemäß übertragen wurden, wird jedoch bereits übermittelt, wenn die Daten vollständig im Cache angekommen sind. D.h. sie befinden sich zum Zeitpunkt der "Completion-Status"-Meldung noch nicht auf der Festplatte, sondern nur im Zwischenspeicher. Dieser Speicher wird jedoch bei Verlust der Spannungsversorgung gelöscht. Sollten die Daten aus dem Cachespeicher also noch nicht vollständig auf die Festplatte übertragen worden sein, sind sie unwiderruflich verloren. Meistens ist es möglich, eine Batterie für den Cachespeicher mitzubestellen. Diese Batterie versorgt den Cachespeicher während der Stromlosigkeit mit Energie, so dass die Daten erhalten bleiben, und beim nächsten Start des Rechnersystems zu Ende übertragen werden können. Vorausgesetzt, die Batterie ist stark genug die Dauer der Stromlosigkeit zu überbrücken. Eine weitere Variante einem solchen Datenverlust zu entkommen, ist eine USV.[27]Eine USV ist eine Unterbrechungsfreie Stromversorgung. Sie dient dazu das gesamte Rechnersystem bzw. ganze Gebäude im Fall eines Stromausfalls über einen begrenzten Zeitraum weiterhin mit Energie zu versorgen.[28]
Beim Write Through Modus werden die Daten nicht zwischengespeichert, sondern direkt auf die Festplatte geschrieben. Der "Completion-Status" wird dem Betriebssystem erst dann gesendet, wenn die Daten vollständig auf die Festplatte geschrieben worden sind. Dies Belastet das System während des Schreibvorgangs zwar mehr als die Write Back Variante, ist aber sicherer.[27]
Die Schreibleistung in beiden Modi unterscheidet sich kaum. Der Unterschied liegt nur in der Art, wie die Daten übertragen werden.[27]
7 Grenzen der RAID-Sicherheit
Auch RAID-Verbände die für Datensicherheit konzipiert worden sind, sind nicht unfehlbar. In den folgenden Abschnitten wird erklärt, welche Umstände in solchen System zu Datenverlust führen können.
7.1 Anwenderfehler / Anwedungsfehler
Wie bereits beschrieben, bietet RAID Level 6 eine sehr hohe Ausfallsicherheit, da bis zu 2 Festplatten ausfallen können, ohne dass Daten verloren gehen. Dies geschieht durch die gleichzeitige, mehrfache Spiegelung auf verschiedenen Laufwerken. Auch wenn diese Technik die Daten vor Hardwaredefekten schützt, nützt sie nichts gegen die Befehle des Benutzers. Wenn das Dateisystem angewiesen wird eine Datei zu löschen, so wird es diesen Vorgang auch durchführen. Das RAID System arbeitet ordnungsgemäß und löscht die Datei. Egal wie der RAID-Verbund aufgebaut ist, die Datei wird aus allen Spiegelungen gelöscht und ist damit verloren. Ob diese Löschung nun unabsichtlich ausgeführt wurde oder nicht, kann das System nicht feststellen und damit auch keinen wirksamen Schutz bieten. Der einzige Weg sich gegen einen Datenverlust durch Benutzerfehler zu schützen, sind gut geplante Backups. D.h. die Daten auf externe Datenträger zu kopieren und diese an einem sicheren Ort zu verwahren.[29]
7.2 Sabotage
Beim Bundesamt für Sicherheit in der Informationstechnik ist Sabotage im Gefährdungskatalog 5 (G5) als Punkt 102 zu finden und wie folgt definiert:
"Sabotage bezeichnet die mutwillige Manipulation oder Beschädigung von Sachen mit dem Ziel, dem Opfer Schaden zuzufügen. Besonders attraktive Ziele können Rechenzentren oder Kommunikationsanbindungen von Behörden bzw. Unternehmen sein, da hier mit relativ geringen Mitteln eine große Wirkung erzielt werden kann.
Die komplexe Infrastruktur eines Rechenzentrums kann durch gezielte Beeinflussung wichtiger Komponenten, gegebenenfalls durch Täter von außen, vor allem aber durch Innentäter punktuell manipuliert werden, um Betriebsstörungen hervorzurufen. Besonders bedroht sind hierbei nicht ausreichend geschützte gebäudetechnische oder kommunikationstechnische Infrastruktur sowie zentrale Versorgungspunkte, die organisatorisch oder technisch gegebenenfalls auch nicht überwacht werden und für Externe leicht und unbeobachtet zugänglich sind."[30]
Als Beispiel hierfür zählen Manipulationen an USVs, die im Fall eines Stromausfalls die Versorgung eines Rechenzentrums sichern sollten. Durch gezieltes außer Funktion setzen dieses Sicherungsmechanismus und zusätzliches Manipulieren der Hauptstromversorgen des Gebäudes entstanden mehrmals Hardwareschäden und Unterbrechungen im Zeitrahmen von 40 - 130 Minuten. Ein weiteres Beispiel für Sabotage ist die gezielte Zerstörung von Technikkomponenten mit Hilfe von Flüssigkeiten. Diese kann durch Verstopfen von Abflüssen und gleichzeitigem öffnen der Wasserzufuhr von Sanitäranlagen herbeigeführt werden. Insbesondere elektronische Archive stellen ein gutes Ziel für Sabotage dar, da auf kleinem Raum viele Daten untergebracht sind.[31]
7.3 Zerstörung des Gesamtsystems
Auch wenn redundante Datenhaltung es ermöglicht Ausfälle einzelner Festplatten zu kompensieren, ist auch sie nicht gegen die Zerstörung des gesamten Systems geschützt. Dies kann z. B. dann passieren, wenn das Gebäude in dem das Rechnersystem steht abbrennt. Überschwemmungen und Wasserrohrbrüche können ebenfalls Ursachen für Totalausfälle sein. [32]
7.4 Schadhafter Code
Für Viren, Würmer und andere Computerschädlinge spielt es keine Rolle ob es sich bei dem Datenträger um eine einzelne Festplatte oder ein RAID-System handelt. Jegliche durch diese Schadprogramme durchgeführte Dateioperation wirkt sich auch direkt auf alle Spiegellaufwerke aus. Abhilfe schafft auch hier nur ein Backup oder ein funktionierender Virenscanner.[33]
Bei einem reinen Hardware-RAID wird die Arbeit des RAID-Systems nicht von einem Virus beeinträchtigt, da es vollkommen unabhängig vom Betriebssystem funktioniert. Bei einem Software-RAID kann die Software, welche das RAID-System steuert befallen werden. Dadurch kann die Funktionalität des RAID-Systems beeinträchtigt werden.[34]
8 Fazit
Die einzelnen Formen von RAID-Systemen wurden vorgestellt. Ebenso die RAID-Level und ihre Funktionsweisen. Dasselbe gilt für die Ausfallmöglichkeiten und deren Verhinderung. Die Grenzen der RAID-Sicherheit wurden erläutert und Anwendungsmöglichkeiten für RAID-Systeme werden im Folgenden aufgezeigt.
Zusammenfassend ist zu sagen: „RAID ist keine Pauschallösung“. Die unterschiedlichen RAID-Level bieten Lösungen für verschiedene Problemstellungen. Bei der Auswahl des richtigen RAID-Levels ist das Ziel entscheidend.
Ziel: Hohe Performance.
Wenn Datensicherheit eine untergeordnete Rolle spielt und eine hohe Performance als primäres Ziel gewählt wird, ist ein RAID 0 die beste Lösung. Die Lese- und Schreibleistung des RAID Verbunds erhöht sich mit jeder Festplatte, welche zum Verbund hinzugefügt wird. Im Gegenzug dazu erhöht sich auch die Anzahl der möglichen Fehlerquellen. Ein solcher RAID-Verbund sollte demnach nicht für wichtige Dateien eingesetzt werden, sondern nur mit temporären bzw. ersetzbaren Daten gefüllt werden. Ein Beispiel hierfür ist die Audio und Videobearbeitung. Ein anderes Beispiel ist das Betriebssystem und die Anwenderprogramme auf einen RAID 0 Verband zu installieren und davon ein Backup zu erstellen. Die Nutzdaten sollten natürlich auf einer anderen Festplatte lagern. Dazu wäre zum Beispiel ein RAID 1 sinnvoll. Das Starten des Rechners, der Anwenderprogramme und das Schreiben der temporären Dateien werden somit also durch RAID 0 beschleunigt. Sollte eine Festplatte aus dem Verbund ausfallen, kann diese ersetzt und das Backup wieder eingespielt werden. Die Nutzdaten sind ja auf einer anderen Festplatte sicher gespeichert. Demnach gehen keine wichtigen Daten verloren und das System arbeitet mit hoher Performance.
Ziel: Hohe Datensicherheit.
Wie bereits erwähnt, können wichtige Daten auf einem RAID 1 gespeichert werden. Die Daten sind dann auf 2 Festplatten vorhanden. Sollte eine der Festplatten ausfallen, können die Daten problemfrei von der noch übrigen Festplatte gelesen werden. Der Nachteil dieser Variante, ist der hohe Verbrauch an Speicherplatz. Auf beiden Festplatten ist der gleiche Inhalt. Demnach fallen 50% des Speicherplatzes der Datensicherheit zum Opfer. Eine noch höhere Datensicherheit bietet RAID 6. Bei einem RAID 6 können 2 Festplatten des Verbands ausfallen ohne, dass Datenverlust entsteht. Der Speicherplatz für die Datensicherheit ist demnach aber noch höher als bei RAID 1 ( 200 / Anzahl an Festplatten im Verbund ).
RAID 5 bietet ein gutes Mittel aus Performance und Datensicherheit. Es verkraftet den Ausfall von maximal einer Festplatte und Verteilt seine Paritätsdaten gleichmäßig über alle im Verbund befindlichen Datenträger. Die Leseleistung liegt bei Anzahl der Festplatten – 1. Ein RAID 5 aus 3 Festplatten arbeitet also mit 3-1=2 Festplatten. Damit ist die Leseleistung doppelt so hoch wie bei einer einzelnen Festplatte. Jede dem Verband hinzugefügte Festplatte steigert diese Leistung weiter. Eine weitere hybrid Variante sind Mischformen wie zum Beispiel RAID 10. Ein RAID 10 besteht aus mehreren Spiegeln (RAID 1 Verbänden) welche zu einem RAID 0 zusammengefasst werden. Der große Vorteil hierbei ist, dass im besten Fall 50% der Festplatten ausfallen können. Dies allerdings nur mit einer Einschränkung. Es darf jeweils nur eine Festplatte eines Spiegelverbandes ausfallen. Fallen beide Festplatten eines einzelnen Spiegels aus, sind alle Daten im Verband unbrauchbar. Bei einem Verband aus 10 Festplatten wären dies im günstigsten Fall also 5 Festplatten. In dieser Situation wäre es sogar einem RAID 6 überlegen. Da dies allerdings bis zu einem gewissen Grad vom Zufall abhängig ist, ist von einem Verlust von maximal einer Festplatte auszugehen, ohne dass Daten verloren gehen.
Die RAID Level 2,3 und 4 werden in der Praxis nicht mehr eingesetzt und von den meisten RAID Controllern nicht mehr unterstützt.
Die Entscheidung zwischen Hardware und Software RAID ist ebenfalls nicht pauschal zu beantworten. Ein reines Software RAID ist nicht dazu in der Lage, ohne laufendes Betriebssystem zu funktionieren. Von daher kann das Betriebssystem nicht auf einem Software Array installiert werden. Sollte das Betriebssystem durch Viren infiziert und der Treiber für den RAID-Verbund beschädigt werden, kann es zu Datenverlusten innerhalb des Verbunds führen.
Soll auch das Betriebssystem im RAID-Verbund installiert werden, so ist zumindest eine geringe Hardware Unterstützung benötigt. Das RAID-Array muss konfigurierbar sein, bevor das Betriebssystem startet. In diesem Fall wird eine Hybrid-Lösung benötigt.
Die bisher genannten Lösungen arbeiten jedoch alle mit der Prozessorleistung des Gesamtsystems. Wenn ausreichend Leistung zur Verfügung steht, ist dies kein Problem. Wird jedoch Wert darauf gelegt die gesamte Prozessorleistung für Anwendungen zu benutzen, so wird ein Hardware RAID erforderlich.
Das Hardware RAID ist ohne Betriebssystem konfigurierbar. Demnach kann das Betriebssystem auf dem RAID-Verbund installiert werden. Die Prozessorleistung des Gesamtsystems bleibt unangetastet. Somit steht auch bei einem Rebuild mehrerer Laufwerke die gesamte Prozessorleistung des Host-Systems[35] zur Verfügung.
Bei der Auswahl der RAID-Form ist die Kostenfrage die entscheidende. Ein reines Software RAID kann, je nach Betriebssystem kostenfrei realisiert werden. Die Hybrid Variante ist im Gegensatz zur Hardware Variante günstiger. Benötigt aber die Leistung des Host Systems. Die Hardware Variante ist am kostensintensivsten. Bietet dafür aber auch die meisten Vorteile. Wie zum Beispiel die Unabhängigkeit vom Prozessor des Hostsystems und ein Schutz gegen Virenbefall des Treibers.
Die folgende Tabelle zeigt eine Übersicht der genannten RAID-Level (außer RAID50 und RAID60). Sie soll abschließend die wichtigsten Eigenschaften der einzelnen RAID-Level zusammenfassen.
| RAID 0 | RAID 1 | RAID 10 | RAID 2 | RAID 3 | RAID 4 | RAID 5 | RAID 6 | |
|---|---|---|---|---|---|---|---|---|
| Anzahl Laufwerke | n > 1 | n=2 | n > 3 | n = 10 | n > 2 | n > 2 | n > 2 | n > 3 |
| Redundante Laufwerke | 0 | 1 | 1(**) | 2 | 1 | 1 | 1 | 2 |
| Kapazitäts-overhead (Prozent) | 0 | 50 | 50 | 20 | 100 / n | 100 / n | 100 / n | 200 / n |
| Parallele Lese-operationen | n | 2 | n / 2 | 8 | n - 1 | n - 1 | n - 1 | n - 2 |
| Parallele Schreib-operationen | n | 1 | 1 | 1 | 1 | 1 | n / 2 | n / 3 |
| Maximaler Lese-durchsatz (*) | n | 2 | n / 2 | 8 | n - 1 | n - 1 | n - 1 | n - 2 |
| Maximaler Schreib-durchsatz (*) | n | 1 | 1 | 1 | 1 | 1 | n / 2 | n / 3 |
| (*) Als Faktor gegenüber einem Einzellaufwerk. (**) Worst-case-Angabe. Im günstigsten Fall können n / 2 Laufwerke ohne Datenverlust ausfallen. | ||||||||
Quelle: Luther; Vilsbeck (2001), Seite 18
9 Fußnoten
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 1f.
- ↑ Vgl. Meyers
- ↑ Vgl. Held (2005), Seite 5
- ↑ Vgl. Held (2005), Seite 5
- ↑ Vgl. Adaptec (2006), Seite 2
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 3
- ↑ Vgl. Adaptec (2006), Seite 3
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 2
- ↑ Siehe Untersuchung im Anhang
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 3
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 6
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 7
- ↑ Vgl. Grotzke (2004), Seite 5
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 10
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 11
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 12
- ↑ 17,0 17,1 17,2 Vgl. Patterson et al. (1988), Seite 6 f.
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 15
- ↑ Vgl. Celeros (2007), Seite 3
- ↑ Vgl. Celeros (2007), Seite 3
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 5
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 19
- ↑ Vgl. Cooper et al. (2001), Seite 24
- ↑ Selbstversuch des Autors mit Windows XP als RAID-Controller
- ↑ Adaptec (2007), Seite 1
- ↑ Ein Kabelbruch der so klein ist, dass das Kabel nicht durchgehend, sondern nur für kurze Zeitabstände ausfällt.
- ↑ 27,0 27,1 27,2 Vgl. Haluschak (2005), Seite 3
- ↑ Vgl. Schnabel, Seite 1
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 20
- ↑ BSI
- ↑ Vgl. BSI
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 20
- ↑ Vgl. Luther; Vilsbeck (2001), Seite 20
- ↑ Vgl. Adaptec (2007), Seite 1
- ↑ Das Host-System ist der Rechner, in dem der RAID-Verbund betrieben wird.
10 Anhang
10.1 Literatur und Quellenverzeichnis
| Adaptec (2006) | o.V.: "Hardware RAID vs. Software RAID: Which Implementation is Best for my Application?", http://www.adaptec.com/NR/rdonlyres/14B2FD84-F7A0-4AC5-A07A-214123EA3DD6/0/4423_SW_HWRAID_10.pdf (16.11.2008, 14:00) |
| Adaptec (2007) | o.V.: "Adaptec RAID 3x05 Controller sind im Vergleich zu LSI MegaRAID SAS 820x die bessere Wahl", http://www.adaptec.com/NR/rdonlyres/CB4DFA58-B137-43E2-A598-4F19B6EE4EC2/0/GE_4797_Competitive_Dashboard_11.pdf (16.11.2008, 15:00) |
| BSI | Bundesamt für Sicherheit in der Informationstechnik: "G 5.102 Sabotage", http://www.bsi.bund.de/gshb/deutsch/g/g05102.htm (07.02.2009, 21:00) |
| Celeros (2007) | o.V.: "RAID WHITEPAPER",http://www.celeros.com/pdf/RAID_WP.pdf (13.11.2008, 15:00) |
| Cooper et al. (2001) | Cooper, Jim ; Maione, Dennis ; Bragg, Roberta: "MCSE Supporting and Maintaining a Windows NT Server 4.0 Network", Que Publishing, 2001 |
| Grotzke (2004) | Grotzke, Stefan: RAID-Level im Überblick, 04.02.2004, http://www.zdnet.de/enterprise/server/0,39023275,39119381-1,00.htm (16.11.2008, 17:00) |
| Haluschak (2005) | Haluschak, Bernhard: Praxis-Know-how: RAID-Controller optimal konfigurieren, 21.12.2005, http://www.tecchannel.de/index.cfm?pid=207&pk=432631 (05.02.2009, 19:30) |
| Held (2005) | Andrea Held: Grundlagen der Hochverfügbarkeit, 24.05.2005, http://www.tecchannel.de/test_technik/grundlagen/429794/grundlagen_der_hochverfuegbarkeit/ (15.11.2008, 19:30) |
| Vilsbeck, Christian; Luther, Jörg (2001) | Vilsbeck, Christian; Luther, Jörg ; : RAID im Überblick, 30.05.2001, http://www.tecchannel.de/storage/extra/401665/raid_sicherheit_level_server_storage_performance_festplatten_controller/ (05.02.2009, 19:30) |
| Lacie | o.V.: RAID Technology White Paper, http://www.lacie.com/download/whitepaper/WP_RAID_EN.pdf (09.02.2009, 16:00) |
| Meyers | o.V.: Artikel "Redundanz", http://lexikon.meyers.de/wissen/Redundanz+(Sachartikel)+Mathematik (15.11.2008, 19:16) |
| Patterson et al. (1988) | Patterson, David A. ; Gibson, Garth ; Katz, Randy H.:A Case for Redundant Arrays of Inexpensive Disks (RAID), http://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf (11.11.2008, 16:30) |
| Schnabel | Schnabel, Patrick: USV - Unterbrechungsfreie Stromversorgung, kein Datum bekannt, http://www.elektronik-kompendium.de/sites/grd/0812171.htm (08.02.2009, 17:06) |
10.2 Untersuchung: gängige RAID-Level
Untersuchung zur Ermittelung der gängigen RAID-Level. Die Tabelle zeigt die wieviele Controller die angebenen RAID-Level unterstützen. Die Studie wurde am 26.11.2008 um 18:55 Uhr von mir selbst durchgeführt. Überprüft wurden 73 Raid-Controller unterschiedlicher Hersteller. Die Quelle ist http://www.alternate.de
| RAID-Level | Anz. Controller |
| Raid 0 | 72 |
| Raid 1 | 73 |
| Raid 2 | 0 |
| Raid 3 | 4 |
| Raid 4 | 0 |
| Raid 5 | 53 |
| Raid 6 | 18 |

