Noch ein paar Hintergrundinformationen: Ich habe 4 Echtzeit-Arrays (die immer laufen und für mich verfügbar sind) – die 2 großen, wichtigen Arrays (40 TB [20 TB genutzt] und 112 TB [105 TB genutzt]) werden auf einem 16 x 8 TB Raid6-Array gesichert (112 TB freier Gesamtspeicher – und wie Sie sehen, muss ich mehr sichern, als ich Platz habe). Ich brauche also mehr Speicher …
Meine bessere Lösung war, ein weiteres SuperMicro 24bay JBOD zu kaufen, aber da sich die Preise nach Covid verdoppelt haben, ist die günstigere Methode jetzt, ... meine Laufwerke aufzurüsten. ABER ich kann mir nicht gleichzeitig 16 x 16 TB Exos-Laufwerke leisten ... das ist ziemlich teuer für einen Heimserver. :)
Was also hat mich dazu veranlasst, nach einer Möglichkeit zu suchen, das alles zu verbessern?
Ich habe gestern 3 16 TB Exos gekauft. Ich habe die folgenden Befehle auf dem Backup-Array ausgeführt ...
#UPGRADE AN ARRAY *******************************************************
#FIRST ADD SPARES
mdadm /dev/md4 --add /dev/sdan (a 16TB drive)
mdadm /dev/md4 --add /dev/sdao (a 16TB drive)
#SECOND REPLACE DISKS (2 at a time) replace 2 8TB drives with 16TB drives.
mdadm /dev/md4 --replace /dev/sdah /dev/sdai --with /dev/sdan /dev/sdao
Frage Nr. 1: Ich verwende kein LVM. Nur ein normales mdadm raid6 mit einem ext4-Dateisystem darüber. Meine Annahmen sind also ... Ich kann den zusätzlichen Speicherplatz nicht nutzen, bis ALLE 8-TB-Laufwerke auf 16 TB aufgerüstet sind ... Frage Nr. 1: Ist das richtig?
Ich dachte, eine Alternative wäre, dass ich, sobald ich 9 x 16 TB-Laufwerke habe, ein neues Array erstellen und alles von diesem 16 x 8 TB-Array direkt in das 9 x 16 TB-Array kopieren könnte, da sie die gleiche Größe haben. DANN könnte ich das Array einfach vergrößern, was ich schon einmal gemacht habe. Sobald ich das 9-Festplatten-Array habe, kann ich es leicht erweitern.
mdadm --grow --raid-devices=10 --backup-file=/root/md4_grow.bak /dev/md4
und dann...
resize2fs /dev/md4
Ich kenne also die Einschränkungen von mdadm nicht. Ich weiß, dass ich in meinem Synology-NAS ein Hybrid-Upgrade durchführen und jedes Laufwerk sofort voll nutzen kann … aber ich bevorzuge mdadm, auch wenn ich keine Hybrid-Steuerung des Dateisystems habe. Ich schätze, ich könnte LVM über dem RAID6 hinzufügen … aber das habe ich noch nie zuvor verwendet … ich bin mir nicht sicher, ob ich das aktuelle Array, das ich jetzt habe, in LVM konvertieren könnte oder ob ich alles löschen müsste. Es IST ein Backup-Array … also kann ich es technisch gesehen zerstören … ABER das Beängstigende ist dann … ich habe kein Backup mehr. Was ist, wenn meine Haupt-Arrays ausfallen, während ich dieses neue Array neu aufbaue? Dann würde ich Unmengen an Daten verlieren.
Ich weiß, dass RAID kein Backup ist, aber dieses Backup-Array ist die meiste Zeit ausgeschaltet. Es wird nur für das Backup eingeschaltet und dann wieder ausgeschaltet.
Für die superwichtigen Daten ... habe ich sie auf ein paar 10-TB-Exos-Laufwerke kopiert, die nicht in einem Raid sind, und in einer Kiste aufbewahrt, „nur für den Fall“, dass etwas passiert. Leider muss ich auswählen, was ich auf diese Weise sichern möchte, weil ich zu viele Daten habe, um sie richtig zu sichern ... also ist mein Backup-Array das einzige, das annähernd die Größe hat, die zum Sichern der Echtzeit-Arrays erforderlich ist ...
Hypothetische Frage Nr. 2: Nehmen wir an, ich ersetze endlich alle meine 16 x 8TB IronWolfs durch 16 x 16TB Exos-Laufwerke. Betreibe ich dann einfach
resize2fs /dev/md4
und mdadm wird sehen... „Hey, du nutzt nur 8 TB der 16 TB!!!! Lass uns das ändern!!!“ und fährt mit der Erweiterung fort, um den GESAMTEN Speicherplatz auszufüllen? Oder muss ich andere Befehle ausführen, wenn alle Laufwerke aktualisiert sind?
Ich habe gelesen, dass „grow“ eine bestimmte Größe annehmen kann, aber … ich habe das nie verwendet … ich habe „grow“ nur verwendet, um ein weiteres Laufwerk zum Array HINZUFÜGEN … indem ich zum Beispiel von --raid-devices=9 auf --raid-devices=10 gewechselt bin … und dann ausgeführt habe
resize2fs /dev/md4
um den neu gewonnenen Platz zu bekommen...
Gedanken von erfahreneren Benutzern als mir?
(danke, Gerald, für die Formatierung des Codes, es ist Jahre her, seit ich eine Frage gestellt habe, und ich hatte das vergessen).