Ich habe ein Software-RAID5-Array (Linux md) auf 4 Festplatten.
Ich möchte eine der Festplatten durch eine neue ersetzen, ohne das Array in einen herabgesetzten Zustand zu versetzen , und wenn möglich online. Wie wäre das möglich?
Es ist wichtig, weil ich nicht möchte:
- Gehen Sie das Risiko ein, die anderen Festplatten zu belasten, damit sie während des Wiederaufbaus abstürzen können.
- Gehen Sie das Risiko ein, in einem Zustand ohne Parität zu sein, damit ich für einige Zeit kein Sicherheitsnetz habe.
Ich nehme an, dies online zu tun, ist zu anstrengend und ich sollte einfach dd
die Daten der alten Festplatte offline auf die neue kopieren und sie dann ersetzen, aber ich denke, es ist theoretisch möglich ...
Ein wenig Kontext : Diese Festplatten drehen sich seit mehr als 5,5 Jahren fast ununterbrochen. Sie arbeiten im Moment noch einwandfrei und bestehen alle den (langen) SMART-Selbsttest. Ich habe jedoch Grund zu der Annahme, dass eine dieser 4 Festplatten nicht mehr lange hält (vermuteter prädiktiver Ausfall).
quelle
mdadm --add
wird noch gebraucht bevor--replace
es klappt. (mdadm
3.3, Ubuntu 15.10). Wenn Sie das tun ,--add
nach--replace
, wird das Kopieren beginnen, sobald ein Ersatz hinzugefügt wird. (Das Gerät bleibt als "Austausch gewünscht" markiert).Dies kann möglich sein, um die Anforderungen zu erfüllen
Aber selbst wenn das Folgende funktioniert, werden Sie wahrscheinlich keine Empfehlung dieser Art "in den Büchern" finden ...
Idee:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
Was soll passieren :-):
Beobachten Sie den Synchronisierungsfortschritt (
cat /proc/mdstat
odermdadm --monitor
). Wenn die Synchronisierung abgeschlossen ist, nehmen Sie das RAID-1 aus dem RAID-5 heraus, stoppen Sie das RAID-1, fügen Sie dem RAID-5 erneut / dev / NEW hinzu. Wenn alles in Ordnung ist, überschreiben Sie die mdraid-Superblöcke auf / dev / OLD, um Probleme zu vermeiden:mdadm --zero-superblock
Warnung: Die schnelle RAID-5-Synchronisierung funktioniert möglicherweise nur, wenn Sie eine Bitmap verwenden. Wenn Sie keine haben, sollten Sie zuerst einen Test mit einem Dummy-RAID-5 (ohne Bitmap) durchführen. Oder füge eins hinzu. Zumindest ein externes sollte möglich sein. Andernfalls muss das RAID-5 möglicherweise gestoppt werden, bevor die Geräte gewechselt werden können. Wenn Sie von RAID-5 booten, wird dies jedoch etwas kompliziert.
quelle
Wenn es Ihnen nichts ausmacht, RAID-6 (2 Paritätsfestplatten anstelle von 1) auszuführen, und wenn Sie mdadmin 3.1.x oder höher ausführen, können Sie Ihr RAID-5-Array in RAID-6 konvertieren , um eine zusätzliche Paritätsfestplatte hinzuzufügen . Dadurch wird das Array jedoch während der Wiederherstellung einer Belastung ausgesetzt. Dies hat einige Auswirkungen auf die Leistung, da beim Schreiben mehr Paritätsfestplatten aktualisiert werden müssen.
Wenn dies jedoch erfolgreich abgeschlossen wurde, können Sie die fehlerhafte Festplatte an ihrem Platz belassen. Wenn die Festplatte letztendlich ausfällt, ist der Paritätsschutz für das Array weiterhin gewährleistet. Ich denke, Sie können das Array von RAID6 zurück auf RAID5 konvertieren, wenn Sie nicht darauf warten, es als RAID6 zu behalten.
Ich kenne keine Online-Methode, um das Array als RAID-5 zu speichern und die Festplatte zu ersetzen, ohne das Array in den herabgesetzten Modus zu versetzen, da ich denke, dass Sie es als fehlgeschlagen markieren müssen, um es zu ersetzen. Möglicherweise ist Ihre Idee, eine DVD zu kopieren, der richtige Weg, dies zu tun.
quelle