RAID Verwaltung · 6 min read · Nov 14, 2025
Erweiterung eines Software-RAID auf Debian durch Migration zu neuen großen Festplatten
Die Einrichtung: zwei physische Laufwerke eines RAID 1 (Spiegelung) werden durch zwei größere Laufwerke ersetzt, wir führen einen “Hot”-Austausch direkt aus dem laufenden Betriebssystem durch, ohne dass ein Booten von einem externen Bootmedium erforderlich ist. Dieser Leitfaden wurde auf Debian-Distributionen 6, 7, 8 sowohl 32 als auch 64 Bit getestet.
Wir gehen davon aus, dass die beiden Laufwerke mit einer Root- und einer Swap-Partition partitioniert sind und dass diese beiden Partitionen die beiden RAID-Geräte md0 und md1 bilden:
- Die sda1- und sdb1-Partition, die das Volume md0 (Root) bilden
- Die sda2- und sdb2-Partitionen, die das Volume md1 (Swap) bilden
Zuerst machen Sie ein Backup aller Ihrer Daten, auch wenn der Leitfaden mehrere Male getestet wurde, Pech kann immer noch passieren … Wir bieten (meiner Meinung nach die beste Lösung) für einen Austausch an, wir trennen eines der beiden alten Laufwerke mit ausgeschaltetem Gerät, verbinden dann ein neues temporäres Laufwerk, synchronisieren dann erneut, sodass wir das RAID weiterhin funktionsfähig haben und ein einzelnes Laufwerk (mit RAID im degradierten Modus) und Sie können weiterhin ein funktionierendes RAID erstellen, wenn etwas nicht funktioniert. Geben Sie dazu einfach diese Befehle ein, nachdem Sie das vollständige Laufwerk durch das leere ersetzt haben:
sfdisk -d /dev/hd source | sfdisk —force /dev/hd empty
mdadm —zero-superblock /dev/hd empty
mdadm —add /dev/md(raid) /dev/hd(empty)Wiederholen Sie die letzten beiden Zeilen für jedes RAID / jede Partition im System
(zum Beispiel:
mdadm -add /dev/md0 /dev/sdb1 dann
mdadm -add /dev/md1 /dev/sdb2usw..
Auf diese Weise haben wir die Partitionstabelle vom Quelllaufwerk auf das leere Ziel gezwungen und fügen dies dem RAID hinzu.
Offensichtlich müssen Sie warten, bis der Rekonstruktionsprozess abgeschlossen ist, überwacht durch:
watch cat / pro / mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
Schalten Sie das Gerät an diesem Punkt aus, fügen Sie zwei neue Festplatten hinzu, die jeweils zu sdc und sdd werden, starten Sie dann den Server und führen Sie den Befehl aus:
fdisk -lDas Ergebnis sollte ähnlich aussehen:
Disk /dev/sda: ……MB , ………….Bytes
… heads, …sectors/track , ….. cylinders
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk: identifier : ………..Device boot Start End Blocks Id System/dev/sda2 970 1044 602437+ fd Linux raid autodetect/dev/sda2 1 969 7783461 fd Linux raid autodetect ……/dev/sdb1 * 1 969 7783461 fd Linux raid autodetect /dev/sdb2 970 1044 602437+ fd Linux raid autodetect ……Disk /dev/sdc: …Mb, …….Bytes……Disk /dev/sdd: …Mb, …….Bytes……Disk /dev/md0: …Mb, …….Bytes…...Disk /dev/md1: …Mb, …….BytesJetzt geben Sie ein:
fdisk /dev/sdcwir erstellen eine neue Partition mit dem n-Befehl,
wir wählen p primäre Partition,
wir wählen die Partitionsnummer ( 1,2,3, usw …),
wir wählen den Startzylinder ( 1),
wir wählen die Größe der primären Partition, indem wir das +-Symbol gefolgt von der Größe in GB und GB von Buchstaben eingeben (zum Beispiel: +480GB)
wir machen sie bootfähig mit dem Befehl a, wobei wir die gleiche Partitionsnummer auswählen.
wir ändern die Partitions-ID in “ fd “ (Linux Raid Autodetect) mit t, und schreiben als Hex-Code einfach “ fd “
Dann wiederholen wir ALLE Befehle für die zweite Partition (die Partition wird die Swap-Partition sein).
Wir speichern die Änderungen mit w.
Offensichtlich müssen Sie auf die Größe der Partitionen achten. Die beste Lösung ist, die aktuelle Swap-Größe von der Gesamtheit des freien Speicherplatzes abzuziehen, um die Arbeitspartition mit dem größtmöglichen Platz zu erstellen.
Jetzt führen wir genau die gleichen Operationen auf dem SDD-Laufwerk durch und stellen sicher, dass wir die gleiche Partition mit den gleichen Größen erstellen, die wir zuvor verwendet haben.
An diesem Punkt tauschen wir das erste “volle” Laufwerk und das erste neue Laufwerk aus und fügen letzteres als Ersatz zum RAID hinzu:
mdadm -add /dev/md0 /dev/sdc1Dann sollten wir die RAID-Disk-Situation überprüfen, sie sollte so aussehen:
md0: active raid 1 sdc1[S] sda1[2] sdb1[3] ………blocks super 1.2 [2/2] [UU]Dann setzen wir das ursprüngliche Laufwerk ein:
mdadm -f /dev/md0 /dev/sda1und entfernen es aus dem RAID:
mdadm -r /dev/md0 /dev/sda1Jetzt überprüfen wir, ob die Rekonstruktion automatisch gestartet wurde, und warten, bis sie abgeschlossen ist, indem wir erneut überwachen mit:
watch cat /proc/mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
Am Ende installieren wir den Bootloader (grub) auf dem neuen Laufwerk (/ dev / sdc):
grub-install /dev/sdcDer gleiche Prozess muss einfach für jede der Systempartitionen wiederholt werden:
mdadm -add /dev/md0 /dev/sdd1mdadm -f /dev/md0 /dev/sdb1mdadm -r /dev/md0 /dev/sdb1Und wir warten erneut, bis die Rekonstruktion abgeschlossen ist:
watch cat /proc/mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
Als nächstes führen wir dasselbe Verfahren für die erste Swap-Partition der beiden neuen Laufwerke durch:
mdadm -add /dev/md1 /dev/sdc2mdadm -f /dev/md0 /dev/sda2mdadm -r /dev/md0 /dev/sda2Warten Sie erneut, bis die Rekonstruktion abgeschlossen ist:
watch cat /proc/mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
Und das letzte Laufwerk:
mdadm -add /dev/md1 /dev/sdd2mdadm -f /dev/md0 /dev/sdb2mdadm -r /dev/md0 /dev/sdb2Warten Sie erneut, bis die Rekonstruktion abgeschlossen ist:
watch cat /proc/mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
An diesem Punkt installieren Sie den Bootloader auf beiden Laufwerken:
grub-install /dev/sdcgrub-install /dev/sddAn diesem Punkt haben wir das alte Laufwerk aus dem RAID entfernt, und die neuen Laufwerke sind eingebaut und betriebsbereit. Aber mit dem nutzbaren Speicher unter dem maximal erlaubten durch die Partition.
Dann fahren wir mit der Vergrößerung der Partition und der Überprüfung dieser wie gewohnt für beide Volumes fort:
mdadm —grow —raid-devices=2 /dev/md0mdadm -A —scanmdadm —grow /dev/md0 —size=maxmdadm —examine —scane2fsck -f /dev(md0resize2fs /dev/md0mdadm —grow —raid-devices=2 /dev/md1mdadm -A —scanmdadm —grow /dev/md1 —size=maxmdadm —examine —scane2fsck -f /dev/md1resize2fs /dev/md1Wenn Sie fertig sind, schalten Sie den PC aus, trennen Sie die alten Laufwerke und starten Sie die Maschine neu.
Auch wenn der Neustart erfolgreich war, rekonstruieren wir den grub aus Sicherheitsgründen, da der Start des neuen Laufwerks den Namen des alten (sda und sdb) angenommen haben wird:
mv /boot/grub/device.map/boot/grub/device.map.oldgrub-mkdevicemapupdate-grub2 && grub-install /dev/sda && grub-install /dev/sdbWenn Sie sich absolut sicher sein wollen, dass die neue RAID-Konfiguration funktioniert, schalten Sie die Maschine aus, trennen Sie eines der neuen Laufwerke und starten Sie erneut. Es sollte ohne Probleme starten. Danach schalten Sie erneut aus, verbinden das Laufwerk und starten. Sie können diesen Befehl verwenden, um den RAID-Zustand zu überprüfen.
watch cat /proc/mdstat(Und natürlich CTRL + C, um den Prozess zu beenden)
Wir haben die Arbeit abgeschlossen, wir feiern.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.