Linux Raid vergroessern
Ausgangssituation
Partitionstabelle der Platte(n) soll angepasst werden und dabei wird eine Partition geloescht. Der so entstandene Platz soll vom vorhandenen Raid-1 Array verwendet werden.
Schritt fuer Schritt
- Altes (zu loeschendes) Array anhalten:
umount /dev/mdX mdadm --stop /dev/mdX mdadm --zero-superblock /dev/sdaX mdadm --zero-superblock /dev/sdbX
- Eine Platte des zu erweiterenden Arrays anhalten (Array laeuft weiter):
mdadm -f /dev/mdX /dev/sdaX mdadm -r /dev/mdX /dev/sdaX
- Die zuvor entfernte Platte umpartitionieren mit z.B.
cfdisk /dev/sda
- Partitionstabellen neu einlesen:
partprobe /dev/sda
- Neu erstellte Partition zum vorhandenen Array hinzufuegen:
mdadm --add /dev/mdX /dev/sdaX
- Resync beschleunigen:
echo 200000 > /proc/sys/dev/raid/speed_limit_max
- Warten bis Resync fertig:
cat /proc/mdstat
- Weiter mit anderer Platte:
mdadm -f /dev/mdX /dev/sdbX mdadm -r /dev/mdX /dev/sdbX cfdisk /dev/sdb partprobe /dev/sdb mdadm --add /dev/mdX /dev/sdbX echo 200000 > /proc/sys/dev/raid/speed_limit_max
Und warten bis resync fertig.
- Das SW-Raid jetzt vergroessern:
mdadm --grow /dev/mdX --size=max
Und warten bis resync fertig.
- Jetzt das Dateisystem wachsen lassen:
resize2fs /dev/mdY
Fazit
Das Vorgehen kann auch beim Tauschen von Platten (z.B. gehen groessere) verwendet werden. Der Vorteil ist, dass der ganze Vorgang online laeuft.