146 lines
4.8 KiB
Plaintext
146 lines
4.8 KiB
Plaintext
============================================================
|
||
Anleitung: RAID-6 Array erweitern (mdadm, GPT, ext4/xfs)
|
||
============================================================
|
||
|
||
Diese Anleitung beschreibt die Erweiterung eines bestehenden
|
||
RAID-6-Arrays, nachdem die einzelnen RAID-Mitgliedsplatten physisch
|
||
durch größere Platten ersetzt wurden und ein Resync durchgeführt wurde.
|
||
|
||
ACHTUNG:
|
||
- Nur durchführen, wenn RAID in "clean"-State ist.
|
||
- Backup wichtiger Daten wird dringend empfohlen.
|
||
- Root-Rechte erforderlich.
|
||
- Beispielangaben (Gerätenamen) anpassen!
|
||
|
||
------------------------------------------------------------
|
||
1) Vorbereitung & Kontrolle
|
||
------------------------------------------------------------
|
||
1.1 Prüfen, dass alle neuen, größeren Platten erkannt werden:
|
||
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
|
||
|
||
1.2 RAID-Status prüfen:
|
||
cat /proc/mdstat
|
||
mdadm --detail /dev/mdX
|
||
|
||
1.3 Sicherstellen, dass der Status "clean" ist.
|
||
Falls "resync" oder "recovery" läuft → warten, bis fertig.
|
||
|
||
------------------------------------------------------------
|
||
2) Partitionstabellen sichern
|
||
------------------------------------------------------------
|
||
Für jedes RAID-Mitgliedsgerät:
|
||
sfdisk -d /dev/sdX > backup-sdX-YYYYMMDD.sfdisk
|
||
|
||
------------------------------------------------------------
|
||
3) Partitionen auf Mitgliedsplatten vergrößern
|
||
------------------------------------------------------------
|
||
Für jede Platte:
|
||
- Startsektor unverändert lassen!
|
||
- Partition bis zum maximal verfügbaren Platz vergrößern.
|
||
- GPT-Partitionstyp unverändert lassen.
|
||
|
||
- TYP 'A19D880F-05FC-4D3B-A006-743F0F84911E' für Linux-RAID
|
||
|
||
|
||
1. Vergrößern auf maximal verfügbaren Platz mit sfdisk:
|
||
|
||
- GPT-UUID ermitteln z.bsp. für partition 1 von /dev/sda1:
|
||
|
||
lsblk -no PARTTYPE "/dev/sda1"
|
||
|
||
- Partition 1 con /dev/sdX vergrößern
|
||
|
||
sfdisk --no-reread --force -N 1 /dev/sdX <<EOF
|
||
,,type=A19D880F-05FC-4D3B-A006-743F0F84911E
|
||
EOF
|
||
|
||
--no-reread: Verhindert, dass der Kernel die Partitionstabelle sofort neu einliest.
|
||
--force: Erzwingt Änderungen auch dann, wenn sfdisk normalerweise abbrechen würde,
|
||
z. B. weil die Partition in Benutzung ist.
|
||
N 1: Bearbeitet nur die angegebene Partitionsnummer – hier also Partition 1.
|
||
|
||
Eingabe-Redirect <<EOF ... EOF: Damit wird der eigentliche neue Partitions-Eintrag
|
||
an sfdisk per Here-Document übergeben.
|
||
Startsektor, Größe, Typ
|
||
|
||
- Startsektor: Wenn leer (""), bleibt der bisherige Startsektor erhalten.
|
||
- Größe: Wenn leer (""), nimmt sfdisk den maximal verfügbaren Platz bis zum Plattenende.
|
||
- Typ: Hier type=<GPT-UUID>
|
||
|
||
oder
|
||
|
||
1. Vergrößern auf maximal verfügbaren Platz mit parted:
|
||
|
||
parted /dev/sdX
|
||
(parted) print
|
||
(parted) resizepart 1 100%
|
||
(parted) quit
|
||
|
||
oder in einer Zeile:
|
||
|
||
parted -s /dev/sdX resizepart 1 100%
|
||
|
||
|
||
|
||
2. Danach Partitionstabelle neu einlesen:
|
||
partprobe /dev/sdX
|
||
udevadm settle
|
||
|
||
|
||
Bemerkung 'parted' im Vergleich zu sfdisk:
|
||
|
||
- sfdisk ist "roh", arbeitet auf Sektorebene - super für Skripte, aber etwas sperrig für Menschen.
|
||
|
||
- parted versteht Größenangaben wie 100%, 10TiB, etc. und ist interaktiv angenehmer. resize verändert
|
||
nur die Größe, nicht den Typcode - der Linux-Typ bleibt also bestehen.
|
||
|
||
- Für ein Skript wäre sfdisk robuster, weil es keine Rückfragen stellt und 100 % skriptfähig ist.
|
||
|
||
------------------------------------------------------------
|
||
4) RAID-Array vergrößern
|
||
------------------------------------------------------------
|
||
Nachdem alle Partitionen angepasst sind:
|
||
mdadm --grow /dev/mdX --size=max
|
||
|
||
Anschließend auf Abschluss des internen Resync warten:
|
||
watch cat /proc/mdstat
|
||
|
||
------------------------------------------------------------
|
||
5) Dateisystem vergrößern
|
||
------------------------------------------------------------
|
||
Je nach Dateisystem:
|
||
|
||
- ext4:
|
||
resize2fs /dev/mdX
|
||
|
||
- xfs (muss gemountet sein):
|
||
xfs_growfs <Mountpoint>
|
||
|
||
------------------------------------------------------------
|
||
6) Abschließende Kontrolle
|
||
------------------------------------------------------------
|
||
- Blockgeräte prüfen:
|
||
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
|
||
|
||
- RAID-Details:
|
||
mdadm --detail /dev/mdX
|
||
|
||
- Dateisystemgröße:
|
||
df -h <Mountpoint>
|
||
|
||
------------------------------------------------------------
|
||
Hinweise
|
||
------------------------------------------------------------
|
||
- GPT-Typcode ermitteln - z.bsp. mit
|
||
|
||
lsblk -no PARTTYPE /dev/sdX1
|
||
|
||
für Linux RAID Partition (bei dir):
|
||
A19D880F-05FC-4D3B-A006-743F0F84911E
|
||
|
||
- Wenn nur einzelne Platten ersetzt/geändert werden:
|
||
Schrittweise vorgehen: Platte ersetzen - RAID resync - nächste Platte.
|
||
|
||
- Bei Einsatz von LUKS oder LVM: Zusätzliche Schritte für LUKS-Resize
|
||
bzw. LVM PV Resize nach dem RAID-Resize durchführen.
|