====== MDADM - RAID administrieren ======
===== RAID anlegen =====
# mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb2
===== MDADM Conf =====
Nachdem das RAID-Array erstellt wurde, muss es noch in die //**mdadm.conf**// eingetragen werden.\\
Pfade: ///etc/mdadm.conf// oder ///etc/mdadm/mdadm.conf (debian)//
# mdadm --detail --scan >> /etc/mdadm.conf
Oder bei Debian:
# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
===== Datenträger aus Array entfernen =====
Angenommen der Datenträger **/dev/sda** hat einen Fehler und der Datenträger wurde vollständig als eine Partition genutzt, wie oben beim Anlegen beschrieben (es gibt nur //dev/sda1//).
Man kann einen Datenträger nicht direkt aus einem Array entfernen, solange er nicht als //**fail**// gekennzeichnet ist.\\
Wenn ein Fehler auf einem Datenträger festgestellt wurde, ist dieser Datenträger normalerweise automatisch als //**fail**// gekennzeichnet. Dann muss man diesen Schritt zum Entfernen (//fail setzen//) eines Datenträgers nicht ausführen.
fail setzen:
# mdadm --fail /dev/md0 /dev/sda1
und nun entfernen:
# mdadm --remove /dev/md0 /dev/sda1
Man kann diese beiden Befehle auch zu einem kombinieren:
# mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1
===== Datenträger zu einem Array hinzufügen =====
Den kaputten Datenträger (//**fail**//) durch einen neuen ersetzen.
# mdadm --add /dev/md0 /dev/sdb1
===== Status der RAID-Array überprüfen =====
Man kann den Status der RAID-Arrays überprüfen mit:
# cat /proc/mdstat
Damit bekommt man eine Liste der Arrays mit den Staus-Angaben über deren Zustand.
Hier ein Beispiel:
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
104320 blocks [2/2] [U_]
md1 : active raid1 sdb3[1] sda3[0]
19542976 blocks [2/2] [UU]
md2 : active raid1 sdb4[1] sda4[0]
223504192 blocks [2/2] [UU]
|U|Alles O.K.|
|F|Fehlerhaftes Laufwerk (fail, --fail)|
|_|Kein Datenträger (missing, --remove)|
Man sieht hier, dass beim **md0** die Partition //**/dev/sda1**// auf **fail** gesetzt ist.\\
:!: Bei dieser Konfiguration muss zum ersetzen des Datenträgers **sda** erst alle Partitionen aus den Arrays entfernt werden - und dann wieder hinzugefügt werden (dm1, md2). Siehe Punkte:
- Datenträger aus Array entfernen
- Datenträger zu einem Array hinzufügen
Oder man lässt sich nur ein Array anzeigen:
# mdadm --detail /dev/md0
===== Array anhalten und löschen =====
Wenn man ein Array komplett löschen will muss man es erst anhalten:
# mdadm --stop /dev/md0
Danach kann man es löschen:
# mdadm --remove /dev/md0
Und zum Schluss sollte man noch den **Superblock** von dem Datenträger entfernen.
# mdadm --zero-superblock /dev/sda
Für den Dateträger **sdb** nehmen wir einen kurzen weg. Wir kopieren einfach die Partitionsinformationen von **sda** auf **sdb**
# sfdisk -d /dev/sda | sfdisk /dev/sdb
===== GRUB =====
# grub --device-map=/boot/grub/device.map
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
===== Part =====
# sfdisk -d /dev/sdb | sfdisk /dev/sdb