So wie ich das verstehe, ist das möglich, aber ich kann nirgends eine klare Antwort darauf finden, wie ich im Einzelnen vorgehen soll, und ich möchte nicht riskieren, Daten zu verlieren, wenn ich selbst damit experimentiere, deshalb frage ich hier.
Ich habe einen Heimserver mit fünf Festplatten, auf denen CentOS läuft. Eine davon ist eine SSD, auf der das Betriebssystem läuft. Die restlichen vier Festplatten sind 4-TB-Festplatten, die in RAID10 mit mdraid konfiguriert sind. Das verwendete Dateisystem ist xfs.
Ich überlege, die 4-TB-Festplatten durch 8-TB-Festplatten zu ersetzen. Was genau muss getan werden, um diesen Austausch durchzuführen, ohne ein neues RAID neu konfigurieren und Daten verlieren zu müssen?
Details output:
[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Mon Apr 18 12:46:24 2016
Raid Level : raid10
Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jun 13 11:04:41 2016
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : fluttershy:data (local to host fluttershy)
UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
Events : 13440
Number Major Minor RaidDevice State
0 8 1 0 active sync set-A /dev/sda1
1 8 17 1 active sync set-B /dev/sdb1
2 8 33 2 active sync set-A /dev/sdc1
3 8 49 3 active sync set-B /dev/sdd1
Antwort1
Führen Sie die folgenden Schritte für jede Festplatte durch und ersetzen Sie sie /dev/sda1
bei Bedarf durch andere Festplatten. Sie müssenalledieser Schritte für eine Festplatte, bevor Sie mit der nächsten Festplatte fortfahren können.
- Markieren Sie die Festplatte als fehlerhaft, damit MD sie nicht mehr verwendet:
mdadm --manage /dev/md127 --fail /dev/sda1
- Entfernen Sie die Festplatte aus dem Array:
mdadm --manage /dev/md127 --remove /dev/sda1
- Ersetzen Sie die Festplatte physisch.
- Partitionieren Sie die neue Festplatte mit dem Typ
0xDA
„Eine Partition erstreckt sich über die gesamte Festplatte“. - Fügen Sie die neue Festplatte dem Array hinzu:
mdadm --manage /dev/md127 --add /dev/sda1
MD wird das Array neu aufbauen, sobald Sie die Ersatzfestplatte hinzufügen. Stellen Sie sicher, dass der Neuaufbau abgeschlossen istVorSie fahren mit der nächsten Festplatte fort. Sie können den Status des Arrays überprüfen, indem Sie ausführen cat /proc/mdstat
.
Einmalalleder Festplatten wurden ersetzt und das Array neu erstellt. Erweitern Sie das Array, um die maximale Kapazität aller Festplatten mit auszufüllen mdadm --grow /dev/md127 --size=max
. Von dort aus können Sie die Größe des Dateisystems ändern, um das erweiterte RAID auszufüllen. Verwenden Sie in Ihrem Fall den xfs_growfs
Befehl.
Weitere Informationen zum Erweitern eines MD-Arrays finden Sie auf derLinux RAID-Wiki.
Wie bei jeder anderen Aufgabe zur Festplattenmanipulation sollten Sie vor Beginn eine Sicherungskopie erstellen.
Antwort2
Sie möchten zunächst jede Festplatte einzeln austauschen.
Dazu müssen Sie jede Festplatte „ausfallen“ lassen und durch einen neuen 8-TB-Ersatz ersetzen. Wenn Sie über freie Ports verfügen, können Sie die zusätzlichen Festplatten hinzufügen und dann mdadm „replace“ ausführen, anstatt eine Festplatte aus dem RAID zu entfernen und ein höheres Ausfallrisiko einzugehen.
Diese Frage beschreibt den besten Weg, den ich finden kann, um es "sicher" zu machen
Sobald Sie dies getan haben, möchten Sie das vorhandene FS einfach in den neu erstellten Speicherplatz erweitern. Der Befehl hierfür scheint „xfs_growfs“ zu sein, ich habe jedoch nicht die Erfahrung mit xfs, um zu erklären, wie Sie dies genau tun würden.
Halten Sie wie immer Backups bereit (und Raid ist kein Backup!).