520 likes | 1.04k Views
TFH-Wildau - Telekommunikation / LAN - 19.05.2003 - Henrik Schwarz - I100. RAID-Systeme. Sicherheit und Performance auf einem „anderen Level“. 1. Einleitung RAID-Systeme RAID-Level 2. Theorie Software- vs. Hardware-RAID IDE- vs. SCSI-RAID Anforderung an die Festplatten
E N D
TFH-Wildau - Telekommunikation / LAN - 19.05.2003 - Henrik Schwarz - I100 RAID-Systeme Sicherheit und Performance auf einem „anderen Level“
1. Einleitung RAID-Systeme RAID-Level 2. Theorie Software- vs. Hardware-RAID IDE- vs. SCSI-RAID Anforderung an die Festplatten Hot Swapping und Hot Spare Striping und MTBF 3. RAID-Level RAID 0,1,10 Level mit Fehlerkorrektur XOR-Parity RAID 2-7,50 Strategien Zusammenfassung 4. Fazit RAIDsche Dreieck Grenzen von RAID Inhalt
RAID-Systeme • Redundant Array of Independent Disks (früher Inexpensive Disks) • Zusammenfassung mehrerer Festplatten zu einem Array, welches das Betriebssystem dann wie eine einzige große Festplatte verwaltet • Steigerung der Performance durch die gleichzeitige Nutzung mehrerer Laufwerke, auf denen die Daten verteilt sind • Erhöhung der Sicherheit und Verfügbarkeit der Nutzdaten durch Redundanz: es werden zusätzliche Daten abgespeichert, mit deren Hilfe sich die Nutzdaten einer defekten Platte rekonstruieren lassen • RAID-Systeme lassen auf unterschiedliche Art und Weise aufbauen, man unterscheidet dabei verschiedene Level
RAID-Level • die Level 1-5 wurden 1987 an der Universität von Berkeley definiert und haben sich als Standard etabliert • sie beschreiben das grundsätzliche theoretische Verfahren aber nicht dessen technische Umsetzung • Heute unterscheidet man die Level 0 bis 7 (und verschiedene weitere Level, die sich ergeben können, wenn man zwei Level kombiniert) • Trotz der Bezeichnung „Level“ handelt es sich nicht um stufenweise aufbauende Verfahren, sondern um voneinander unabhängige Techniken. • Kein RAID-Level wird allen Anforderungen gleichzeitig gerecht, je nach Struktur und Sensibilität der Daten muss das passende Level ausgesucht werden.
Anforderung an die Festplatten eines RAID-Systems • gleiche Geschwindigkeit, gleiche Größe und gleich großer Cache (am besten baugleiche Platten verwenden) • die RAID-Verfahren setzen gleich große Partitionen voraus, in einer Mischkonfiguration wird jedes Laufwerk nur bis zur Kapazität der kleinsten vorhandenen Festplatte genutzt • bei der Kombination einer 20-GByte-Platte mit einer 30-GByte- großen Platte werden von dieser nur die ersten 20 GByte genutzt • solche Kombinationen sollten schon aus Kostengründen vermieden werden
Hot Swapping • Hot Swapping (oder auch Hot Plugging) ist ein Feature moderner RAID-Systeme, welches es erlaubt, eine defekte Platte auch während des Betriebs auszutauschen. • Sobald die neue Platte ihren Platz eingenommen hat, beginnt der Prozessor des RAID-Controllers selbsttätig mit deren Test, Formatierung und der Rekonstruktion des Inhalts.
Hot Spare • Alternativ zum Hot Swapping kommt häufigHot Spare (oder auch Hot Fix) zum Einsatz. Hierbei übernimmt eine unbenutzte Platte des RAID-Arrays im laufenden Betrieb die Funktion einer ausgefallenen Festplatte. • Es steht sofort eine neue Platte zur Verfügung, ohne das sie erst manuell ausgetauscht werden muss.
Striping • die langsame Mechanik einer einzelnen Festplatte verhindert, dass die Daten in der vollen Geschwindigkeit des Interfaces übernommen werden können • das Striping (RAID-Level 0) verteilt die Daten jeder Datei beim Schreiben gleichmäßig über alle im RAID vorhandenen Festplatten • ist der Cache der ersten Platte voll, wird sofort die nächste beliefert und die Mechanik der ersten Platte hat Zeit, die Daten zu schreiben • so entsteht ein kontinuierlicher Datenstrom am Interface und die gesamte Bandbreite wird ausgenutzt • beim späteren Lesen einer Datei werden die Dateidaten dann von allen Platten geliefert • die resultierende Lesegeschwindigkeit ist im Idealfall die Addition der Transfergeschwindigkeit aller Platten, also bei zwei genutzten Festplatten doppelt so hoch ist wie bei einer einzelnen Platte • das Aufsplitten der Daten ist es auch, was die anderen Levels (trotz des Overheads für die Verwaltung) oft in der Performance besser aussehen lässt als eine einzelne Festplatte
MTBF • Je mehr Platten in einem Striping-Array zum Einsatz kommen, desto höher ist die statistische Wahrscheinlichkeit, dass eine von ihnen ausfällt. • Die Mean Time Between Failures eines Arrays (Zeit bis zum Ausfall) errechnet sich aus der MTBF einer Platte geteilt durch die Anzahl der Platten. • Beträgt der mittlere Ausfallabstand einer einzelnen Platte z.B. 35000 Betriebsstunden, muss bei einem RAID mit 7 Platten bereits nach 5000 Stunden mit einem Ausfall gerechnet werden.
RAID 0 • kein echtes RAID-Level, da keiner Weise redundanten Daten gespeichert werden, wird auch als Non-Redundant Striped Array oder als Striping bezeichnet • das parallele Lesen und Schreiben auf mehreren Laufwerken steigert zwar die Durchsatzrate enorm - im Falle eines Defektes sind aber alle Daten unwiederbringlich verloren, besteht keine Möglichkeit, die Daten zu rekonstruieren • wenn z.B. eine von zwei Platten ausfällt, so fehlt nicht etwa die Hälfte aller Dateien, sondern von allen Dateien jeweils die Hälfte. • wird vorzugsweise in der Audio- oder Videobearbeitung eingesetzt
RAID 1 • wird auch als Mirroring bezeichnet. Wenn für die Festplatten bei Verwendung separater RAID-Controller nennt man es Duplexing • benötigt min. 2 Platten, Gesamtzahl der verwendeten Platten muss stets gerade sein • auf zwei Platten werden identische Daten gespeichert. Daraus ergibt sich eine Redundanz von 100%, fällt eine der beiden Platte aus, arbeitet das System sofort mit der anderen Platte weiter • diese hohe Ausfallsicherheit wird jedoch mit den doppelten Kosten für die Festplattenkapazität bezahlt und lohnt sich deshalb nur für kleine Server
RAID 0+1 • wird auch RAID 10 genannt • Kombination von RAID 1 mit RAID 0 und verbindet dabei die Sicherheit von Level 1 mit der Performance von Level 0 • Die RAID Level 0,1 und 10 haben dank der on Board oder als Steckkarte erhältlichen IDE RAID Controller auch unter den normalen PC Anwendern eine hohe Verbreitung.
Level mit Fehlerkorrektur (Parity) • beheben den Mirroring-Nachteil (halbe Nutzkapazität bei doppelten Kosten) • Nutzdaten werden per Striping auf mindestens zwei Datenlaufwerke verteilt • Daten der Nutzlaufwerke werden über eine logische Exklusiv-Oder-Operation (XOR) miteinander verknüpft (Paritätsprüfung) • Resultat wird (meist) auf einem eigenen Parity-Laufwerk gespeichert • aus den Paritätsinformationen und noch vorhandenen Nutzdaten lassen sich nach einem Ausfall die Daten eines defekten Laufwerks wieder rekonstruieren
XOR (Exklusiv-Oder) • XOR ist ein bitweiser Vergleich der Nutzdaten. Hierbei wird die Anzahl der Einsen an einer bestimmten Stelle gezählt. Ist die Anzahl ungerade ist das Ergebnis der XOR Verknüpfung eine 1, ansonsten eine 0.
Parity-Berechnung • Nehmen wir nun einmal an, dass unsere Nutzdaten auf 2 Festplatten aufgeteilt werden. Für die Parität wird eine dritte Festplatte benötigt. Der Inhalt der Festplatten würde dann so aussehen:
Fehlerkorrektur mit Parity • Würde jetzt eine Festplatte ausfallen, könnte durch eine erneute XOR Verknüpfung aus dem Inhalt der restlichen Platten die fehlende Information errechnet werden. Hierbei spielt es keine Rolle, ob eine Daten- oder die Parity- Festplatte ausfällt. Erst wenn mehr als eine Festplatte ausfällt, sind die gespeicherten Informationen verloren.
RAID 2 • die Nutzdaten werden bitweise auf die einzelnen Festplatten des RAID-Arrays verteilt • nach dem aufwendigen Hamming- Algorithmus wird ein Fehlerkorrekturcode (Error Correction Code) berechnet und separates abgespeichert • Methode entspricht dem ECC-RAM Bausteinen • langsame Schreibgeschwindigkeit • wird der Praxis nicht mehr eingesetzt, da moderne Festplatten bereits eigene Methoden zur Fehlerkorrektur besitzen
RAID 3 • die Nutzdaten werden byteweise auf die einzelnen Festplatten des RAID-Arrays verteilt • für jeden Datensatz eine XOR-Prüfsumme erstellt und diese auf einer separaten Parity-Platte abgelegt • beim Ausfall einer einzelnen Platte können die Daten anhand der verbliebenen Platten und den Parity-Informationen rekonstruiert werden • wird in der Praxis nicht mehr eingesetzt, da moderne Festplatten und Betriebssysteme aber nicht mehr mit einzelnen Bytes arbeiten
RAID 4 • arbeitet ähnlich wie RAID 3 • die Daten werden aber nicht in einzelnen Bytes, sondern in Blöcken zu 8, 16, 64 oder 128 Kilobyte unter den Platten aufgeteilt • die Parity-Informationen werden auf einem separaten Laufwerk gespeichert • wird auch nur selten verwendet
RAID 5 • arbeitet wie RAID 4 mit blockweiser Datenverteilung • es existiert aber kein separates Parity-Laufwerk, die Parity- Informationen werden gleichmäßig auf alle Laufwerke des RAID-Arrays verteilt. • Schreibzugriffe werden weitgehend parallelisiert, die mechanische Beanspruchung verteilt sich auf alle Platten • auch beim Lesen der Daten gute Performance, da die Daten gleichmäßig von allen Platten kommen • beliebteste RAID-Variante im Server-Bereich, speziell bei Datenbank- und Transaktionsservern
RAID 50 • Kombination von RAID 5 mit RAID 0 und verbindet dabei die Sicherheit von Level 5 mit der Performance von Level 0 • benötigt mindestens 6 Festplatten • wurde von American Megatrends (AMI) entwickelt • Bei der Bezeichnung von Levelkombinationen wird aus marketing-technischen Gründen die größere Levelnummer meist zuerst angegeben (RAID 50 statt RAID 05), da sich höhere Level besser verkaufen lassen.
RAID 6 • arbeitet grundsätzlich wie RAID 5, ist deshalb auch als RAID 5+ bekannt • es wird eine weitere Parity-Platte verwendet, was die Ausfallsicherheit nochmals erhöht • nun könnten sogar zwei Platten des Verbunds ausfallen, ohne dass Datenverluste auftreten (zur Erinnerung: RAID 3 bis 5 garantieren die Datensicherheit nur beim Ausfall von einem Laufwerk) • setzt häufig Hot Spare ein • aber deutlich langsamer bei Schreibzugriffen
RAID 7 • arbeitet ähnlich wie RAID 5 • im RAID-Controller wird ein Echtzeitbetriebssystem eingesetzt • benutzt schnelle Datenbusse und mehrere Pufferspeicher, welche die Laufwerke von der Datenübertragung auf dem Bus abkoppeln und somit asynchron arbeiten • erreicht sehr hohe Performance • ähnlich wie bei RAID 6 werden die Paritätsinformationen auf mehreren Laufwerken gespeichert
Das RAIDsche Dreieck Macht den direkten Zusammenhang der drei Komponenten eines jeden RAID-Systems sichtbar. Zu betrachten sind: • der Preis • die Geschwindigkeit und • die Datensicherheit Je nach Zweck werden Systeme zwar schneller, was aber dann zu Lasten der Datensicherheit geht (RAID 0). Dagegen sind Systeme mit einer hohen Datensicherheit teurer. In der Praxis erstellen sich große UN maßgeschneiderte Einzellösungen aus einem Mix verschiedener RAID-Level.
Sichere Aufbewahrung • In der Forschung und Entwicklung werden oftmals nach Dienstschluss alle RAID-Festplatten aus dem System entnommen und an verschiedenen Orten gelagert. • Ein Diebstahl oder Datenmissbrauch wird dadurch nahezu unmöglich. Schließlich müssten in einer Nacht alle Platten, bis auf eine gestohlen werden um über die Daten zu verfügen.
Fazit • RAID-Systeme erhöhen die Sicherheit, Verfügbarkeit und Geschwindigkeit Rechnersystemen deutlich, können aber keinen 100%igen Schutz vor Datenverlusten bieten • um eine Ausfallsicherheit nahe 100 Prozent zu erreichen, müssen alle Komponenten des RAID-Systems inklusive Controller, Netzteil und Lüfter redundant ausgelegt werden – ist aber sehr teuer • sie schützen nicht vor Überspannungen (USV sinnvoll), Über-schwemmungen oder Bränden, auch Viren und Würmer befallenRAID-Systeme ebenso gerne wie Einzellaufwerke • auch das zuverlässigste Array kann den Risikofaktor Nummer 1 nicht ausschalten: den Menschen. Er verursacht den größten Teil irreparabler Datenverluste und nicht die Technik. Gelöschte Dateien sind auch auf RAID-Systemen verloren • selbst für das ausgefeilteste RAID-System gilt deshalb: Den einzig wirklich zuverlässigen Schutz gegen Datenverluste bietet ein konsequent geplantes und vorgenommenes Backup!