RAID

Aus Foxwiki

Redundant Array of Independent Disks

Funktion

  • Ein RAID dient dazu, mehrere physikalische Datenträger zu einem oder mehreren logischen Laufwerken zu vereinen und dadurch einen schnelleren Datenzugriff und/oder eine erhöhte Verfügbarkeit des Systems im Falle eines Datenträgerdefektes zu erreichen.
  • Von Software-RAID spricht man, wenn das Zusammenwirken der Datenträger komplett softwareseitig organisiert wird.
  • Im Allgemeinen macht es nur Sinn, Partitionen gleicher Größe zu verwenden, die auf unterschiedlichen Datenträger angelegt sind.

RAID und Backup

  • Ein RAID ersetzt keine Datensicherung!
  • Ein RAID schützt ausschließlich vor Datenverlust durch Plattendefekte.
  • Auch wenn es verlockend scheint, z.B. ein RAID 1 auf einem USB-Datenträger aufzusetzen, um eine automatische Sicherung zu erhalten, ist dies kein Backup.
  • Das Entfernen der externen Datenträger führt immer dazu, dass sich das RAID im Fehlerzustand (degraded) befindet.
  • Bei Wiederanschluss muss der interne Datenträger jedesmal komplett neu mit der externen Platte synchronisiert werden.
  • Ein Datenverlust, der durch Fehler des Betriebssystems, des Dateisystems, durch die verwendeten Programme oder den Benutzer entsteht, wird sofort automatisch auf alle Laufwerke synchronisiert, so dass das vermeintliche Backup automatisch mit fehlerhaften Daten überschrieben wird.

IDE/SATA

  • Generell sollte man bei RAIDs moderne SATA-Datenträger verwenden, da der Datendurchsatz bei diesen zum Teil erheblich höher ist als bei älteren IDE-Platten.
  • Zudem sind SATA-Platten prinzipiell "hotplugable".
    • Das heißt, sie sind im laufenden Betrieb eines RAIDs an- und abschaltbar und damit auch austauschbar.
  • Allerdings sollte man genau wissen, was man tut, bevor man sich an solcherlei Aktionen heranwagt.
Achtung!
Nicht jeder SATA-Controller ist in der Lage, mit "Hotplug" auch richtig umzugehen. 
Man sollte auch darauf achten, dass man den richtigen Datenträger angibt, um Datenverlust zu vermeiden.
  • Bei älteren IDE-ATA-Datenträgern gilt: die verwendeten Datenträger sollten nicht am selben IDE-Kanal hängen, da im Fehlerfall eines Datenträgers unter Umständen der komplette IDE-Kanal gestört wird und dadurch u.U. das RAID nicht mehr nutzbar ist.
  • Bei einem RAID 0 erhöht sich die Gesamtleistung, da paralleles Lesen/Schreiben auf verschiedenen IDE-Kanälen schneller geht als auf nur einem.

SSD RAIDs

  • Linux Software-RAID verwendet bis Kernel 3.11 nur einen Thread für RAID5/RAID6 Berechnungen.
    • Das kann die Performance von SSD RAIDs limitieren.
  • Im Januar 2013 gab es erste Patches von Fusion-io, diese waren zu diesem Zeitpunkt aber noch nicht reviewed.
  • Die RAID5 multithreading Unterstützung wurde im Linux Kernel mit 3.12 aufgenommen.

RAID-Level

  • Eine Übersicht über die gebräuchlichen und unterstützten RAID-Level.
  • Bei der Angabe des Speicherplatzes im RAID bezeichnet k die Kapazität je Partition und n die Anzahl der verwendeten Partitionen.
Auswahl von RAID-Typen im Überblick
Typ mind. Partitionen Speicherplatz Vorteil Bemerkung
0 2 k*n Geschwindigkeit (Lesen & Schreiben), Plattenplatz Keine Partition darf ausfallen - Reißverschlussverfahren
1 2 k Ausfallsicherheit, Geschwindigkeit (Lesen) Alle bis auf eine Partition dürfen ausfallen - Spiegelung
5 3 k*(n-1) Plattenplatz, Ausfallsicherheit, Geschwindigkeit (Lesen) Eine Partition darf ausfallen - Striping & Parität
6 4 k*(n-2) Plattenplatz, bessere Ausfallsicherheit als RAID 5, Geschwindigkeit (Lesen) Zwei Partitionen dürfen ausfallen - Striping & doppelte Parität
10 4 Sicherheit und gesteigerte Schreib-/Lesegeschwindigkeit. Kombination aus RAID 0 über mehrere RAID 1
  • RAID unterstützt auch unbenutzte Reservelaufwerke, sog. Hotspares.
    • Dabei werden vorab Partitionen bekannt gegeben, die beim Ausfall eines Laufwerks innerhalb des RAID-Verbundes durch das Reservelaufwerk automatisch ersetzt werden.

RAID-Zustände

  • Ein RAID kann sich in unterschiedlichen Zuständen befinden, die seinen Status zusammenfassen:
RAID-Zustände im Überblick
Zustand Beschreibung
Clean Bezeichnet den Normalzustand. Es liegt kein Fehler vor und alle Prüf- und Initialisierungsaufgaben sind abgeschlossen.
Degraded Es liegt ein Ausfall vor. Je nach RAID-Level kann dieser durch Austausch einer Datenträger mit einem anschließenden Rebuild behoben werden um das RAID wieder in den Clean-Zustand zu versetzen.
Resync Bei einem Resync werden je nach RAID-Level Sicherungsinformation, z.B. Paritäten, geprüft und ggf. neu erstellt. Ein neu angelegtes RAID befindet sich in der Regel in diesem Zustand. Auch während eines Resync sind die Daten auf dem RAID bereits vor einem Ausfall gesichert. Die volle Lese- und Schreibgeschwindigkeit kann jedoch erst nach Abschluss des Resync erreicht werden.
Rebuild Bei einem Rebuild "erholt" sich das RAID von einem Ausfall. Die verlorenen Daten werden aus den Sicherungsinformationen wiederhergestellt und damit das Austauschlaufwerk gefüllt. Ein weiterer Ausfall eines Laufwerks während eines Rebuilds wird in der Regel zu Datenverlust führen.
  • Resync und Rebuild können je nach Größe und Art des RAIDs mehrere Stunden bis Tage in Anspruch nehmen.

Links

Intern

  1. Linux:Software-RAID
  2. Linux:Software-RAID:Vorbereitung
  3. Linux:Software-RAID:Anlegen
  4. Linux:Software-RAID:Wartung
  5. Linux:Software-RAID:Fehlerbehebung
  6. Linux:Software-RAID:Komplexe_Aufgaben

Weblinks

  1. https://de.wikipedia.org/wiki/RAID
  2. https://www.storage-insider.de/was-ist-raid-alles-ueber-level-1-bis-5-und-mehr-a-517806/
  3. https://www.globalsystem.ch/ratgeber/raid-systeme-erklaert/
  4. https://www.tecchannel.de/a/raid-im-ueberblick-grundlagen-raid-0-bis-7,401665