frank
Goto Top

Linux Software Raid 1 (md0) erstellen

Hardware Raid-Controller sind heutzutage immer noch recht teuer und aufwendig zu konfigurieren. Die Lösung für ein 'billig-RAID' ist also ein Software-Raid. Dabei wird die Verwaltung des Raid vom Betriebssystem übernommen. Für ein Software-Raid ist Linux das Betriebssystem der Wahl. Es bietet Spare Disks bzw. Hot Fix Disks und eine einfache Konfiguration mittels der Datei /etc/raidtab an. Die Raid-Level können beliebig kombiniert werden, gleichzeitig kann man Software-RAID durch Fein-Einstellungen (Kernel, Tools etc.) sehr gut 'tunen'. Es wird sogar behauptet, dass es zwischen einem Linux Software-RAID und einem Onboard RAID-Controller keinen oder nur kaum Performance-Unterschied gibt. Die heuteigen schnellen Prozessoren tun Ihr übriges dazu.

Hier mal ein kleines Raid HOWTO für Debian (Testing, mit Kernel 2.6.6.1)

Annahmen:
- eine Festplatte mit kompletter Debian Testing Installation. Alles hat funktioniert.
- zwei zusätzliche SATA Festplatten die dann im Raid 1 (Spiegel) laufen sollen und vom Kernel gefunden wurden.
- der gesamte Plattenplatz der zwei zusätzlichen Festplatten wird für das Raid1 benutzt

(Hinweis: Alle Daten auf den zwei Festplatten für das Raid 1 gehen verloren)

Bei mir habe die Festplatten folgende Devices:
/dev/hde und /dev/hdg
Zum Testen und Setzten des Platten Typs sollten mal folgendes aufrufen:
cfdiks /dev/hde und cdfdisk /dev/hdg
Typ muss auf "Linux Raid autodetect" stehen bzw gesetzt werden  
Jetzt installieren wir die RAID Tools mit
apt-get install raidtools2
Danach wird das Raid in der Datei /etc/raidtab mit folgenden Inhalt angelegt
# raidtab config-file
raiddev /dev/md0
    	raid-level      1
        nr-raid-disks   2
        nr-spare-disks  0
        chunk-size      4
        persistent-superblock 1
        device          /dev/hde1
        raid-disk       0
        device          /dev/hdg1
        raid-disk       1
Nun wird das Raid mit folgenden Befehlen angelegt:
mkraid /dev/md0

Sollte jetzt eine Fehlermeldung erscheinen, das schon ein Superblock vorhanden sei (z.B. von einer alten Konfiguration) einfach den Befehl -R (mkraid -R /dev/md0) ausführen. Bei großen Festplatten dauert der Vorgang eine weile.

Zur Kontrolle, oder bei Problemen sollte man sich die Raid Laufwerke bzw den aktuellen Status mit folgenden Befehlen anzeigen lassen:
lsraid -d /dev/hde1 bzw. lsraid -d /dev/hdg1 oder lsraid -A -a /dev/md0 und
cat /proc/mdstat
Der letzte Befehl spiegelt den Zustand Ihres Raids wieder.
lsraid -R -p
gibt eine Liste aller vorhandenen Devices im raidtab-Format aus.

Jetzt sollte das Raid 1 System noch formatiert werden. Ich entscheide mich für das ReiserFS da es für meine Zwecker sehr schnell ist.
Mit den Befehlen
mkfs.reiserfs /dev/md0 oder alternativ mkfs.ext3 /dev/md0
wird das Filesystem angelegt.
Damit wir das System schon mal mounten können legen wir unter /mnt den Mountpunkt /data an:
mkdir /mnt/data gefolgt vom Mount Befehl: mount /dev/md0 /mnt/data
Jetzt lässt sich das Raid 1 schon mit: "dir /mnt/data" aufrufen. Zu Sicherheit schauen wir mal auf den Raid 1 Status mit: "cat /proc/mdstat". Im Hintergrund syncronisieren sich jetzt die beiden Raid Festplatten. Hier sollte man einige Zeit warten (bei mir ca. 30 min) bis der Status folgendes anzeigt:
md0 : active raid1 hde1[1] hdg1
      117218176 blocks [2/2] [UU]
Nun wollen wir beim Booten auch das Raid 1 gleich mit starten und nicht jedesmal einen Mount durchführen. Dafür einfach den unteren Eintrag in die /etc/fstab hinzufügen:
/dev/md0        /data           reiserfs defaults       0       0
(/data ist hier nun ein Beipiel und kann irgendein Verzeichnis sein, reiserfs ist in diesem Fall mein Filesystem)
Nach dem Neustart das Rechners sollte jetzt die Partition, bzw. das Verzeichnis /data vorhanden sein. Zu Sicherheit noch mal den Raid Status mit: cat /proc/mdstat kontrollieren. Alles ok, fertig. Für weitere Anregungen oder Ergänzungen bin ich natürlich wie immer sehr dankbar.

Gruß
Frank

Content-Key: 1381

Url: https://administrator.de/contentid/1381

Printed on: April 24, 2024 at 10:04 o'clock

Member: Schlachter
Schlachter Jan 25, 2006 at 10:45:05 (UTC)
Goto Top
Hallo,
danke für deine Anleitung. Die wird mir sicherlich helfen, aber es gibt da noch einwas, was ich nicht ganz so verstehe. Du schriebst, dass schon eine komplette Partition mit laufendem Linux vorhanden sein muss. Das find ich nicht gut. Ich wollte eigentlich ein SW Raid machen, bei dem alles gespiegelt ist. Also auch das Bootverzeichnis. Kannst du mir sagen, ob, und wenn ja wie das geht? Im Falle, dass es nicht geht, bin ich der Meinung, dass dies nicht viel nutzen wird, da ja immer noch keine Ausfallsicherheit gegeben ist, wenn die erste Platte nicht mehr will.
MFG Frank
Member: ITwissen
ITwissen Feb 23, 2006 at 15:03:57 (UTC)
Goto Top
Der Artikel ist schon etwas in die Jahre gekommen und mit dem neuen Debian funktioniert das oben beschriebene nicht mehr. Aber es ist auch mit den neuen Debian nicht schwer ein "Fakeraid" zu erstellen.

Es bietet sich an dazu ein neuen Tutorial zu schreiben.

Falls gewuenscht, kann ich das machen.
Member: Schlachter
Schlachter Feb 24, 2006 at 06:24:04 (UTC)
Goto Top
wäre gut. Habs das mittlerweile auch mit SUSE direkt bei der Installation hin bekommen. Habe nur ein Problem. Wenn ich eine Hot Swap festplatte rausziehe, und dann wieder reinstecke, dann wird die erst nach dem nächsten Neustart wieder erkannt. Vielleciht kannst du das auch mal mit reinschreiben, wie man das hinbekommt, dass die gleich wieder ansprechbar ist.
Frank
Member: Lochkartenstanzer
Lochkartenstanzer May 15, 2008 at 08:25:43 (UTC)
Goto Top
Dieser Artikel ist im Prinzip überholt. Alle neueren Distributionen erlauben es schon bei der Installation ein RAID ggf. sogar auf LVM2 basierend einzurichten. Daher sollte man diesen Artikel nur dann in Betracht ziehen, wenn man RAID auf einem "alten" System nachrüsten will.