Mit Linux Softraid können Sie ein RAID 10-Array mit nur zwei Festplatten erstellen.
Unten verwendete Gerätenamen:
md0
ist das alte Array des Typs / Level RAID1.
md1
ist das neue Array von Typ / Level RAID10.
sda1
und sdb2
sind neue , leere Partitionen (ohne Daten).
sda2
und sdc1
sind alte Partitionen (mit wichtigen Daten).
Ersetzen Sie die Namen entsprechend Ihrem Anwendungsfall. Verwenden Sie zB lsblk
, um Ihr aktuelles Layout anzuzeigen.
0) Backup, Backup, Backup, Backup oh und BACKUP
1) Erstellen Sie das neue Array (4 Geräte: 2 vorhanden, 2 fehlen):
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Beachten Sie, dass in diesem Beispiel für das Layout sda1
ein Gegenstück fehlt und sdb2
ein anderes Gegenstück fehlt. Ihre Daten auf md1
sind zu diesem Zeitpunkt nicht sicher (effektiv ist es RAID0, bis Sie fehlende Mitglieder hinzufügen).
So zeigen Sie das Layout und andere Details des erstellten Arrays an:
mdadm -D /dev/md1
Hinweis! Sie sollten das Layout des Arrays speichern:
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
2) Formatieren und mounten. Die /dev/md1
sollten sofort einsatzbereit sein, müssen aber formatiert und dann gemountet werden.
3) Dateien kopieren. Verwenden Sie z. B. rsync, um Daten vom alten RAID 1 auf das neue RAID 10 zu kopieren. (Dies ist nur ein Beispielbefehl. Lesen Sie die Manpages für rsync.)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4) Versagen Sie den ersten Teil des alten RAID1 (md0) und fügen Sie ihn dem neuen RAID10 (md1) hinzu.
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
Hinweis! Dadurch werden die Daten von gelöscht sda2
. Das md0
sollte aber nur noch verwendbar sein, wenn das andere Raid-Mitglied voll einsatzbereit war.
Beachten Sie auch, dass hierdurch Synchronisierungs- / Wiederherstellungsprozesse gestartet werden md1
. Verwenden Sie einen der folgenden Befehle, um den Status zu überprüfen:
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
Warten Sie, bis die Wiederherstellung abgeschlossen ist.
5) Installieren Sie GRUB auf dem neuen Array (vorausgesetzt, Sie booten von dort). Einige Linux-Rettungs- / Boot-CDs funktionieren am besten.
6) Booten Sie auf einem neuen Array. WENN ES RICHTIG ARBEITET, zerstören Sie das alte Array und fügen Sie die verbleibende Festplatte zum neuen Array hinzu.
PUNKT OHNE WIEDERKEHR
Zu diesem Zeitpunkt werden Sie Daten auf dem letzten Mitglied des alten md0-Arrays zerstören. Seien Sie absolut sicher, dass alles funktioniert.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
Und noch einmal - warten Sie, bis die Wiederherstellung abgeschlossen md1
ist.
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
7) Aktualisiere mdadm config
Denken Sie daran /etc/mdadm/mdadm.conf
, md0 zu aktualisieren (zu entfernen).
Und speichern Sie die Konfiguration in initramfs (verfügbar nach dem Neustart)
update-initramfs -u