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:
Zum Testen und Setzten des Platten Typs sollten mal folgendes aufrufen:
Jetzt installieren wir die RAID Tools mit
Danach wird das Raid in der Datei /etc/raidtab mit folgenden Inhalt angelegt
Nun wird das Raid mit folgenden Befehlen angelegt:
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: Der letzte Befehl spiegelt den Zustand Ihres Raids wieder.
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 Befehlenwird das Filesystem angelegt.
Damit wir das System schon mal mounten können legen wir unter /mnt den Mountpunkt /data an:
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:
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:
(/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
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
cfdiks /dev/hde und cdfdisk /dev/hdg
Typ muss auf "Linux Raid autodetect" stehen bzw gesetzt werden
apt-get install raidtools2
# 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
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
lsraid -R -p
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
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
md0 : active raid1 hde1[1] hdg1
117218176 blocks [2/2] [UU]
/dev/md0 /data reiserfs defaults 0 0
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1381
Url: https://administrator.de/contentid/1381
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
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
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
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
Frank