Расширение Linux Raid
Date October 31st, 2014 Author Vitaly Agapov
Наше и ваше счастье в том, что они мертвы.
Небольшая заметка про то, как увеличить размер программного RAID после, например, замены дисков на более ёмкие. Пусть мы заменили диски в linux raid:
mdadm –remove /dev/md0 /dev/sda1
mdadm –add /dev/md0 /dev/sdb1
Дождались полного ресинка:
watch -n 10 "cat /proc/mdstat | grep resync"
[======>…………..] resync = 34.6% (1248559808/3599812864) finish=164.0min speed=238826K/sec
Cкорость ресинка при этом можно увеличить:
echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 300000 > /proc/sys/dev/raid/speed_limit_max
Простой случай
Если нужно расширить RAID 0/1/4/5/6, то всё просто:
mdadm –grow /dev/mdX –size=max
Или, если использовался bitmap:
mdadm –grow /dev/mdX –bitmap none
mdadm –grow /dev/mdX –size max
mdadm –wait /dev/mdX
mdadm –grow /dev/mdX –bitmap internal
Затем просто расширяем файловую систему:
fsck /dev/md0
resize2fs /dev/md0
Случай посложнее
Утилита mdadm не позволяет делать grow на raid10, поэтому его нужно разобрать и собрать снова. Сначала надо сделать на всякий случай резервную копию файлов (tar или cp -a), остановить процессы, использующие раздел (lsof), отмонтировать swap, если swapfile лежит на нужном разделе (swapoff -a).
Дальше:
umount /dev/md1
Или в режие lazy, если не отмонтируется:
umount -l /dev/md1
Пересобираем RAID:
mdadm –stop /dev/md1
mdadm –zero-superblock /dev/sd{a,b}2
mdadm –zero-superblock /dev/sd{c,d}1
mdadm –create /dev/md1 –level=10 –raid-devices=4 /dev/sda2 /dev/sdb2 /dev/sdc1 /dev/sdd1
Проверяем, правильный ли размер
mdadm –detail /dev/md1
Дальше как обычно – дожидаемся ребилда и расширяем файловую систему:
cat /proc/mdstat | grep resync
fsck.ext3 -f /dev/md1
resize2fs /dev/md1
mount /dev/md1
Tags: Linux
Category:
Linux |
No comments »