[Eisfair] E1: Partition im Raid-Verbund verkleinern

Rolf Bensch azubi at bensch-net.de
Sa Mai 14 13:20:14 CEST 2016


Hallo Thomas,

da gibt es eine Menge zu tun, packen wirs' an:

Am 13.05.2016 um 20:34 schrieb Thomas Zweifel:
> ...
> Als erstes verkleinern wir das Dateisystem.
> Da verkleinern nur Offline geht, müssen wir es aushängen. Dazu stoppst
> Du alle Dienste welche auf md0 zugreifen, danach:
>
> umount /data
>
> und überprüfst es mit
>
> e2fsck -f -C0 /dev/md0
>
>
> Da etwa 140GiB belegt sind, verkleinern wir das Dateisystem auf 190GiB,
> das Raid anschliessend auf 200GiB, der resysnc vom Raid wird dadurch
> deutlich schneller erledigt sein.
>
> resize2fs will die Grössenangabe in blöcken haben, also teilen wir die
> 190GB durch die Blockgrösse vom Dateisystem (4k)
>   --> 49807360 blöcke
>
> resize2fs -p /dev/md0 49807360
>
> Das dauert ca. 30-90min, je nachdem wie viel Daten umgelagert werden müssen.
> Anschliessend den fsck nochmal drüber lassen:
>
> e2fsck -f -C0 /dev/md0
>
>
> Von hier an kann das Dateisystem wieder eingehängt werden, die
> restlichen Schritte können während dem normalen Betrieb ausgeführt werden:
>
> mount /data
>
> und gegebenenfalls gestoppte Dienste wieder aktivieren.
>
>
>
> Nun geht es ans verkleinern des Raids und neu partitionieren.
> Zuerst schalten wir eventuell aktivierte bitmaps aus:
>
> mdadm -G --bitmap=none /dev/md0
>
> und verkleinern das Raid auf 200GiB
>
> mdadm -G -z200G /dev/md0
>
>
>
> Die folgenden Schritte führst Du nacheinander mit beiden Platten aus,
> zuerst sdc danach für sdd:
>
> Zuerst entfernen wir die Redundanz und löschen den Superblock:
>
> mdadm --fail /dev/md0 /dev/sdc1
> mdadm --remove /dev/md0 /dev/sdc1
> mdadm --zero-superblock /dev/sdc1

Hier kommt es zu einem Problem. sdc1 ließ sich noch problemlos 
entfernen. Bei sdd1:

# mdadm --fail /dev/md0 /dev/sdd1
mdadm: set device faulty failed for /dev/sdd1:  Device or resource busy
# mdadm --remove /dev/md0 /dev/sdd1
mdadm: hot remove failed for /dev/sdd1: Device or resource busy
# mdadm --zero-superblock /dev/sdd1
mdadm: Couldn't open /dev/sdd1 for write - not zeroing


entsprechend:
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] 
[raid4] [multipath]
md0 : active raid1 sdd1[1]
       209715200 blocks [2/1] [_U]

unused devices: <none>

Wie weiter?

Grüße Rolf




Mehr Informationen über die Mailingliste Eisfair