Systemplatten Linux Software-Raid durch neue Festplatten oder SSD ersetzen oder vergrößern

Einleitung:

In dieser Kurzanleitung werden die bestehenden Festplatten im Raid-Verbund (OMV NAS) durch größere Festplatten ersetzt. Das Linux Betriebssystem befindet sich mit allen Partitionen auf ein Software-Raid wovon es auch gestartet wird. Das System wird 1 zu 1 übernommen. In unserem Beispiel wurde Debian verwendet, sollte aber auf allen gängigen Distributionen identisch sein. Die Kurzanleitung kann auch verwendet werden um ein nicht bootfähiges Software-Raid zu vergrößern. In dem Fall fallen die grub-Befehle weg.

Wichtig: Im unteren Beispiel wird /dev/sda und /dev/sdb verwendet. Das Software-Raid hat /dev/md0, /dev/md1, /dev/md2 und /dev/md3 (swap) wobei md2 die Daten enthält die erweitert werden. Bei anderen Partitionen müssen die Parameter angepasst werden. Aufgrund der vielen Konstellationen ist dies keine einfache copy&past Anleitung. Die Befehle müssen angepasst werden, zudem sollte Vorab dieses in einer Testumgebung durchgeführt werden.   

Anleitung:

Die Platten im Raid-Verbund ermittlen. In unserem Fall wäre das /dev/sda und /dev/sdb.

Zur Sicherheit führen wir „grub-install /dev/sda“ und „grub-install /dev/sdb“ aus.

Wir fahren das System herunter und ersetzen die Platte /dev/sdb (1 TB Festplatte) gegen die neue Platte (2 TB Festplatte).

Nach dem erneutem hochfahren sollte mit dem Befehl „cat /proc/mdstat“ nur noch /dev/sda angezeigt werden. Mit /fdisk /dev/sdb“ sollte die neue Platte mit der richtigen Kapazität angezeigt werden. Mit „sfdisk –d /dev/sda | sfdisk –force /dev/sdb“ kopieren wir die Partitionstabelle der bestehenden Platte auf die neue Platte. Ggf. Fehlermeldung kann ignoriert werden.

Mit „df“ oder „blkid“ prüfen wir welches md-Device vergrößert werden soll. In unsrem Fall ist es /dev/md2 wobei /dev/md3 eine Swap-Partition ist. Wir notieren uns von „fdisk“ die Partitionsgröße von der Swap-Partition (dev/sdb4) und löschen nun /dev/sdb3 was zu /dev/md2 gehört und /dev/sdb4 was zu /dev/md3 gehört. Nun legen wir mit „fdisk /dev/sdb“ die beiden Partitionen neu an. /dev/sdb2 mit der max. Größe minus der Swap-Partition. Der Rest als Swap-Partition. Beide Partitionen als Typ „fd“ ändern. Wir haben nun auf der neuen Platte die identische Partitionstabelle wie auf /dev/sda mit dem unterschied, dass /dev/sdb3 (zu /dev/md2) vergrößert wurde. Mit „sfdisk -R /dev/sdb“ machen wir die Änderung dem System bekannt.

Mit „mdadm /dev/md0 -a /dev/sdb1“ fügen wir nacheinander die Partitionen dem Raid hinzu. Also md1 dann zu sdb2, md2 zu sdb3 etc. Mit „cat /proc/mdstat“ wird der Statsu geprüft und gewartet bis der Raid-Status wieder clean ist. Erst danach führen wir ein „grub-install /dev/sdb“ aus um auch von der neuen Platte zu booten. Bei Fehler von grub ggf. –recheck als Parameter mit  verwenden.

Nun wird das System heruntergefahren und die /dev/sda ersetzt. Sollte das System nicht starten ggf. im Bios die Bootreihenfolge ändern da von /dev/sdb gebootet werden muss. Nach dem Login sollte „cat /proc/mdstat“ diesmal nur /dev/sdb anzeigen, so das /dev/sda fehlt. Nun kopieren wir die Partitionstabelle (mit der vergrößerten Platte) direkt auf die zweite neue Platte. Dazu den Befehl „sfdisk –d /dev/sdb | sfdisk –force /dev/sda“ ausführen. Die gerade ersetze Platte hat nun identische Partitionsinformationen was wir wieder mit „sfdisk -R /dev/sda“ dem System bekannt geben.

Nun mit mdadm die sda Platte dem Raid hinzufügen. Also „mdadm /dev/md0 -a /dev/sda1“ etc. bis alle Partitionen wieder im Raid-Verbund sind. Prüfung mit „cat /proc/mdstat“. Erst danach „grub-install /dev/sda“ ausführen.

Wir starten das System neu (ggf. Bootreihenfolge wieder ändern auf sda). Unter /cat /proc/mdstat“ sollte nun alles wieder clean sein. Nun erhöhen wir den Raid-Verbund von md2 mit dem Befehl „mdadm –grow /dev/md2 –size=max“. /dev/md2 wird somit auf die max. Partitionsgröße erweitert was wir angegeben hatten.

Nachdem dieses abgeschlossen ist, wird das Dateisystem (bei uns ext4) von /dev/md2 vergrößert indem wir „resize2fs -p /dev/md2“ eingeben.

Nun haben wir beide alte Festplatten gegen neue Festplatten ersetzt, die Partitionen beibehalten bis auf unsere Datenpartition /dev/md2 auf das max. vergrößert. 

 

Scroll to Top Skip to content