Platten, RAIDs und Dateisysteme

Aus

Letztlich werden alle zu speichernden Daten einer Disk-Station (DS) auf physikalischen Festplatten abgelegt. Die eigentliche Arbeit dabei übernimmt zum einen der Plattentreiber im Linux-Kernel, zum anderen der Platten-Contoller (Elektronik auf der Festplatte). Das Betriebssystem ist dabei in der Lage, spezielle Verfahren zur Speicherung der Daten auf den Festplatten zu unterstützen (RAID). RAID wurde ursprünglich in einer Zeit entwickelt, als Festplatten noch sehr teuer und unzuverlässiger als heute waren. In der ursprünglichen Bezeichnung "Redundant Array of Inexpensive Disks" drückte sich dies aus. Heute steht RAID für "Redundant Array of Independent Disks".

RAID verfolgt vor allem zwei Ziele: Erhöhung der Performance durch Striping und Erhöhung der Ausfallsicherheit durch Redundanz. Striping verteilt die Daten über mehrere Festplatten und somit die Last auf mehr Hardware. Redundanz speichert zusätzliche Informationen, so dass der Betrieb der Anwendung selbst bei Ausfall einer Festplatte fortgesetzt werden kann. Die Performance einer einzelnen Festplatte kann genauso wenig erhöht werden wie deren Ausfallsicherheit. Durch geschickte Kombinierung von physikalischen Festplatten ist es aber möglich, Ausfallsicherheit und Performance des Gesamtsystems deutlich zu erhöhen.

Die zu einem RAID zusammengefassten Bündel physikalischer Festplatten werden auch als virtuelle Festplatten bezeichnet. Aus der Sicht der Dateisysteme sieht man also nur die virtuellen Festplatten (z. B. /dev/md2). Bei einem RAID werden die Daten nach unterschiedlichen Verfahren auf die einzelnen Festplatten verteilt. Diese unterschiedlichen Verfahren werden als RAID-Verfahren oder als RAID-Level bezeichnet.

Fast allen RAID-Level der DS (Ausnahmen RAID-0) ist gemeinsam, dass sie redundante Informationen speichern. Fällt eine physikalische Festplatte aus, so können deren Daten aus den Daten der verbleibenden intakten Festplatten rekonstruiert werden. Die defekte Festplatte kann bei entsprechender Unterstützung sogar im laufenden Betrieb durch eine neue ersetzt werden (Hot-Swapping). (Im Grunde können alle Platten, die per SATA angeschlossen werden, im Betrieb an oder abgesteckt werden, weil die SATA-Stecker die Hot-Swap-Fähigkeit ermöglichen. Allerdings werden nur manche Gehäuseformen von Synology als Hot-Swap-fähig bezeichnet.) Nach einem Austausch der defekten Festplatte kann über den DS Manager eine Rekonstruktion veranlasst werden. Für die restliche Programme bleibt dieser Vorgang bis auf mögliche Performance-Einbußen verborgen: Es kann also unterbrechungsfrei auf der virtuellen Festplatte weitergearbeitet werden.

Man kann diesen Rekonstruktionsvorgang auch automatisieren. Dazu müssen sogenannte Hot-Spare-Disks (Ersatzfestplatten) definiert werden. Die Hot-Spare-Disks werden im Normalbetrieb nicht genutzt. Fällt aber eine in einem entsprechen definierten RAID-Verbund liegende Festplatte aus, dann wird die Rekonstruktion automatisch ausgelöst. Nach Austausch der defekten Festplatte, wird diese zur Hot-Spare-Disk.

Da die meisten Festplatten heutzutage mit Selbstdiagnose-Programmen ausgestattet sind (S.M.A.R.T.), können die Auslöser schon sehr frühzeitig erfolgen. Daher werden Festplatten im RAID-Verbund sehr viel sensibler Fehler anzeigen, damit eine Rekonstruktion möglichst frühzeitig erfolgen kann. Die einzelnen Festplatten speichern dazu die Daten mit einem redundanten Code wie dem Hamming-Code. Dieser erlaubt die korrekte Wiederherstellung der Daten, selbst wenn auf der Festplatte Bits 'umgekippt' sind.

Ein weiterer Nebeneffekt der Zusammenfassung von mehreren physikalischen Festplatten zu einer virtuellen Platte ist die höhere Kapazität. Manchmal können damit Speicherplatzprobleme gelöst werden, für die sonst umständlichere Verfahren notwendig würden.

RAID wurde seit seiner ursprünglichen Definition im Jahre 1987 weiterentwickelt.

RAID-0 - Blockweises Striping

RAID-0 verteilt die Daten blockweise auf eine physikalische Festplatte nach der anderen. Damit wird die Performance der virtuellen Festplatte erhöht, denn der Datenaustausch zwischen den jeweiligen Plattencontrollern ist schneller als der nachfolgende Plattenschreibvorgang. Bei einem RAID-0 mit 2 physikalischen Festplatten verdoppelt man ungefähr den Durchsatz. Allerdings besteht bei RAID-0 grundsätzlich der Nachteil, das bei auch nur einem physikalischen Plattenausfall, alle Daten der virtuellen Platte verloren sind.

RAID-1 - Blockweises Mirroring

Im Gegensatz zu RAID-0 steht bei RAID-1 die Ausfallsicherheit im Vordergrund. In der Grundform werden zwei physikalische Festplatten zu einer virtuellen Platte zusammengefasst, indem alle Daten blockweise auf beide physikalische Platten gleichzeitig geschrieben werden. Diese Kopien bezeichnet man auch als Mirror (Spiegel). Im Normalfall werden zwei, manchmal aber auch mehr als zwei Kopien der Daten vorgehalten (Firmware- und Swap-Partition ist auf allen physikalischen Festplatten als RAID-1-Verbund).

Im Normalbetrieb sind mit RAID-1 nur bei Leseoperationen Performance-Steigerungen möglich, weil ja abwechseln von beiden physikalischen Laufwerken gelesen werden kann (wie bei RAID-0). Allerdings fällt er oft nicht so hoch wie bei RAID-0 aus. Beim Schreiben sind mit RAID-1 eher Performance-Einbußen in Kauf zu nehmen: Die Daten müssen ja beide über den SCSI-Bus transportiert werden, also doppeltes Datenaufkommen.