141 lines
3.1 KiB
Markdown
141 lines
3.1 KiB
Markdown
Perfekt — dann schreibe ich dir jetzt einen **minimal-Risiko-Plan**, damit du dein RAID6 (`/dev/md4`) mit Ext4 sauber und ohne Datenverlust auf die volle Größe bringst.
|
||
|
||
Ich gehe davon aus, dass:
|
||
|
||
* `/dev/sda1`, `/dev/sdb1`, `/dev/sdc1`, `/dev/sdd1` **die RAID-Mitglieder** sind.
|
||
* Jede Platte 20 TB groß ist, die Partitionen aktuell nur 10 TB.
|
||
* Das RAID ist **gesund** (`cat /proc/mdstat` zeigt „clean“).
|
||
|
||
---
|
||
|
||
## **Schritt-für-Schritt Anleitung – Minimal Risk**
|
||
|
||
### **1. Status checken**
|
||
|
||
Bevor wir irgendwas anfassen, prüfen wir den Status:
|
||
|
||
```bash
|
||
cat /proc/mdstat
|
||
mdadm --detail /dev/md4
|
||
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
|
||
```
|
||
|
||
Es muss **clean** sein, und die Partitionen (`sdX1`) müssen ungefähr 10 TB groß sein.
|
||
|
||
---
|
||
|
||
### **2. Backup der Partitionstabelle**
|
||
|
||
Falls wir einen falschen Startsektor erwischen, ist das RAID im Eimer.
|
||
Deshalb sichern wir die Partitionstabellen **aller** Platten:
|
||
|
||
```bash
|
||
sfdisk -d /dev/sda > sda.part
|
||
sfdisk -d /dev/sdb > sdb.part
|
||
sfdisk -d /dev/sdc > sdc.part
|
||
sfdisk -d /dev/sdd > sdd.part
|
||
```
|
||
|
||
Damit kannst du im Notfall zurückschreiben:
|
||
|
||
```bash
|
||
sfdisk /dev/sda < sda.part
|
||
```
|
||
|
||
---
|
||
|
||
### **3. Eine Platte vergrößern (nacheinander!)**
|
||
|
||
Wir machen das **Platte für Platte**, damit immer 3 von 4 Platten voll intakt bleiben.
|
||
Beispiel für `/dev/sda`:
|
||
|
||
1. **Startsektor merken**:
|
||
|
||
```bash
|
||
parted /dev/sda unit s print
|
||
```
|
||
|
||
Notiere die **Start-Sektor-Zahl** der Partition 1 (z. B. `2048s`).
|
||
|
||
2. **Partition löschen und neu anlegen** (nur Metadaten, keine Daten!):
|
||
|
||
```bash
|
||
parted /dev/sda
|
||
(parted) unit s
|
||
(parted) rm 1
|
||
(parted) mkpart primary 2048s 100%
|
||
(parted) quit
|
||
```
|
||
|
||
3. **Kernel über neue Partition informieren**:
|
||
|
||
```bash
|
||
partprobe /dev/sda
|
||
```
|
||
|
||
---
|
||
|
||
### **4. RAID Resync starten**
|
||
|
||
Nach dem Anpassen der ersten Platte muss mdadm den neuen Bereich initialisieren:
|
||
|
||
```bash
|
||
mdadm --grow /dev/md4 --size=max
|
||
```
|
||
|
||
⚠️ Das kann mehrere Stunden/Tage dauern.
|
||
Fortschritt beobachten:
|
||
|
||
```bash
|
||
watch cat /proc/mdstat
|
||
```
|
||
|
||
Warte, bis der Status wieder **\[UUUU] clean** ist.
|
||
|
||
---
|
||
|
||
### **5. Nächste Platten**
|
||
|
||
Wiederhole **Schritt 3** für `/dev/sdb`, dann `/dev/sdc`, dann `/dev/sdd`.
|
||
Nach jeder Platte läuft ein **Teil-Resync** – auch hier **immer abwarten**, bis es fertig ist, bevor du die nächste Platte anfässt.
|
||
|
||
---
|
||
|
||
### **6. Dateisystem vergrößern**
|
||
|
||
Wenn alle Platten angepasst und der RAID-Resync komplett abgeschlossen ist:
|
||
|
||
```bash
|
||
resize2fs /dev/md4
|
||
```
|
||
|
||
Das Ext4-Dateisystem wird dann den gesamten neuen Platz nutzen.
|
||
|
||
---
|
||
|
||
### **7. Kontrolle**
|
||
|
||
```bash
|
||
df -h /mountpunkt
|
||
lsblk
|
||
mdadm --detail /dev/md4
|
||
```
|
||
|
||
Jetzt solltest du die volle Kapazität sehen.
|
||
|
||
---
|
||
|
||
## **Wichtige Sicherheitsregeln**
|
||
|
||
* Immer nur **eine Platte gleichzeitig** verändern.
|
||
* Niemals den **Startsektor** ändern!
|
||
* Während Resyncs am besten keine großen Schreiblasten.
|
||
* Falls irgendetwas nicht clean ist → erst reparieren, dann weitermachen.
|
||
|
||
---
|
||
|
||
Wenn du magst, kann ich dir **ein fertiges Shell-Skript** bauen, das dir pro Platte die Startsektoren automatisch liest, die Partition neu anlegt und sicherstellt, dass du dich nicht vertippst.
|
||
Das minimiert Tippfehler und verhindert den Super-GAU.
|
||
|
||
Willst du, dass ich dir so ein Skript direkt schreibe?
|