Archiv

Artikel Tagged ‘md’

RAID5 Reshape

27. Januar 2011 Keine Kommentare

Seit dem 2.6.17er Kernel ist es möglich, ein bestehendes Software RAID5 online zu vergrößern.

Da mir bei meinem RAID5 mit 3 x 1.5TB der Platz ausging, war es an der Zeit das RAID zu erweitern – in meinem Fall um 2 weitere 1.5TB Platten.

Nach dem Einbau der Platten hab ich erstmal die Partition-Table mit sfdisk auf die neuen HDD’s kopiert:

sfdisk -d /dev/sda | sfdisk /dev/sdd
sfdisk -d /dev/sda | sfdisk /dev/sde

So – das war’s mit den Vorbereitungen – nun kann man die neuen Partitionen (in meinem Fall /dev/sdd2 und /dev/sde2) ins RAID-Array hinzufügen.

mdadm -a /dev/md1 /dev/sdd2
mdadm -a /dev/md1 /dev/sde2

Anschließend startet man den Reshape mittels:

mdadm --grow /dev/md1 --raid-devices=5

Den aktuellen Status kann man mittels

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid5 sde2[3] sdd2[4] sda2[0] sdc2[2] sdb2[1]
      2878912128 blocks super 0.91 level 5, 64k chunk, algorithm 2 [5/5] [UUUUU]
      [>....................]  reshape =  1.9% (27938688/1439456064) 
      finish=2103.6 min speed=11180K/sec

md0 : active raid1 sda1[0] sdc1[2] sdb1[1]
      19534912 blocks [3/3] [UUU]

beobachten.

Reshape beschleunigen (z.B):

echo 200000 > /proc/sys/dev/raid/speed_limit_max
echo 25000 > /proc/sys/dev/raid/speed_limit_min

Das war’s fürs erste! Nun ist Warten und Beten angesagt….

———

Nach ungefähr 27 Stunden war der Reshape ohne Fehlermeldung erfolgreich abgeschlossen.

# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] [raid1]
md1 : active raid5 sda2[0] sdd2[4] sde2[3] sdc2[2] sdb2[1]
      5757824256 blocks level 5, 64k chunk, algorithm 2 [5/5] [UUUUU]

Jetzt musste man nur noch das Filesystem resizen

resize2fs /dev/md1

Nach weiteren ca. 20 Minuten war dies auch erledigt und mein RAID hatte mehr Platz:

# df -h
/dev/md1  5.3T  2.0T  3.2T  38% /data

Achtung! Man sollte, wenn alles erledigt ist, vor einem Reboot unbedingt die mdadm-Config neu generieren!

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

(ggf. die alten MD-Arrays definitions aus der mdadm.conf rauslöschen).

Anschließend muss noch ein

update-initramfs -u

ausgeführt werden, damit die Config-Änderung nach einem Reboot greift.

Das war’s. Somit wurde mein RAID5 ohne gröbere Probleme erfolgreich erweitert.
Danke mdadm! 🙂