http://www.zeropage.de
zeropage is © by the L13-Crew, all part of TUI-NET

RAID unter Linux - aber welches?

Siehe auch: RAID - Grundlagen

Eine der häufigsten Ursachen für Systemausfälle ist eine defekte Festplatte. An sich kein Wunder, so sind Festplatten neben den Lüftern ja die am meisten beanspruchten mechanischen Komponenten.

Als alleroberste Regel gegen Datenverlust gilt: BACKUPs! Diese müssen natürlich aktuell genug sein ...

Trotz Backups möchte man natürlich die Downtime möglichst gering halten. Dazu bieten sich redundante Systeme an. Je nach Skalierung kann dies z.B. ein identisches System sein (vgl. Novell NetWare SFT-III) oder aber ein RAID (Redundant Array of Inexpensive Disks). Und darum soll es hier gehen :)
Ausserdem natürlich: Einbauanleitung beachten (z.B. Platte moeglichst gerade einbauen usw.) und gut belüften! Die Installation der entsprechenden Sensoren (lmsensors, gkrellm) sowie ggf. S.M.A.R.T. (bei IDE) kann das unterstützen - auch wenn ich bisher mit S.M.A.R.T. sehr unzufrieden bin, weil dessen Statusanzeige bisher selten mit der Realität übereingestimmt hat (was aber nicht an der Linux-Implementation der Tools liegt, sondern an der auf den Platten selber, wie mir die vom Hersteller der Platten bereitgestellten Tools bestätigt haben).

RAID

Grundlegendes Wissen bzgl. der verschiedenen RAID-Level, Einsatz, Verwendungsmöglichkeiten usw. ist auf jeden Fall sinnvoll vor Planung und Einsatz. Man kann sich dabei auch durchaus einfach der entsprechenden SCSI-Literatur bedienen; das meiste lässt sich für IDE übertragen.
Bei IDE sollte man jedoch beachten, dass das Master/Slave-Konzept seine Tücken hat - ich empfehle also dringend, pro Strang nur eine HDD (Master bzw. stand-alone) anzuschliessen. Es ist sonst sehr wahrscheinlich, dass eine defekte Platte am Strang dazu führt, dass die andere - wahrscheinlich noch intakte - Platte auch nicht mehr ansprechbar ist.
Eine Bemerkung sei mir jedoch gestattet: auch wenn viele Leute immer gerne davon reden, dass sie sich jetzt "ein RAID zugelegt haben", so meint der Privatmensch damit meistens linear mode/RAID-0, welches einfach nur zum Erhöhen von Speicherplatz oder Geschwindigkeit eingesetzt wird. Ein RAID-0 ist jedoch nur ein AID (also KEINE Redundanz)! RAID-10 - eine Kombination aus RAID-0 und RAID-1 - bietet diese dann wieder, benötigt aber dafür auch mindestens vier Laufwerke. Betrachtungen bzgl. der Geschwindigkeit habe ich ansonsten hier völlig aussen vor gelassen, da Sicherheit vorgeht (vielleicht habe ich ja irgendwann noch mal die Zeit/Muse dafür ...)

Hardware-RAID
Pseudo-Hardware-RAID
Linux ATARAID
Linux Software-RAID (md)

Hardware-RAID

Diese sind zumeist bei SCSI anzutreffen.

Nachteile: Vorteile:

Pseudo-Hardware-RAID

Hierzu zählen z.B. die FastTrak-Reihe von Promise und einige HighPoint (HPT).
Die Promise-Teile lassen sich sogar teilweise umbauen (siehe z.B.
http://www.tweakhardware.com/forum oder in japanisch, direkt von der Quelle: http://www.be.wakwak.com/~pierrot/pub/factory/pierrots.htm) - danke an Barney für die Links!.

Nachteile: Vorteile:

Linux ATARAID

Zur Zeit (seit
Linux-2.5.32) gibt es keinen Support für ATARAID im 2.6er Kernel!

Siehe dazu auch http://bugme.osdl.org/show_bug.cgi?id=496. Offensichtlich wurde beim Löschen des 2.5er IDE-cores und Übernahme des cores aus 2.4.19-pre-acX der Baum "raid" (bewusst, wegen redesign?) nicht mit übernommen.

update 2003-12-18:Im 2.6er Kernel musste der alte LVM "dem leistungsfähigeren Device-Mapper weichen, der die kernelseitige Grundlage des neuen LVM2 darstellt. Mit ihm lassen sich Block Devices - auch in Teilen - viel flexibler als bisher zu Logical Volumes zusammenfassen. Sistina liefert neue LVM2-User-Space-Tools [ftp.sistina.com/pub/LVM2/tools]. Mittelfristig soll der Device-Mapper das derzeit nicht funktionierende ataraid-Modul ersetzen." [Quelle: iX 1/2004, S.50]

ATARAID kann sowohl mit Unterstützung eines Controllers als auch ohne erfolgen. Im Gegensatz zum Linux Software-RAID ist hier eine 1:1-Spiegelung der Platten möglich und die Daten lassen sich auch normal ohne ATARAID lesen und schreiben (dann natürlich nur einzeln pro Platte, aber wenigstens überhaupt).

update: mittlerweile kann der Kernel 2.6 wieder mit ATARAID umgehen; wie bereits in der iX angekündigt wird dies nun über den device-mapper abgebildet. Eine saubere Lösung, finde ich.


Linux-Software-RAID (md)

Für die Einrichtung von RAID unter Linux gibt es - wie so meist :) - ein entsprechendes
HOWTO. Die Implementierungen vor Kernel 2.4 unterscheiden sich zu diesem; das steht aber alles mit im HOWTO.
(Stichwörter: /proc/mdstat, mdadm, raidtools2, /etc/raidtab, /etc/mdadm/mdadm.conf, fdisk: Typ 0xFD, mkraid, /etc/fstab, /etc/lilo.conf, /dev/md? b 9 x)

Alles neu macht der Mai - aus raidtools2 wird mdadm - nur ein paar quick notes:


Nachteile: Vorteile: