Archiv

Artikel Tagged ‘speed_limit_max’

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! 🙂