Сніпети mdadm

Встановлення мінімальних та максимальних швидкостей для пристроїв

1
2
3
# 70000 кілобайт/с ~ 68 Мб/с
echo "70000" > /proc/sys/dev/raid/speed_limit_min
echo "100000" > /proc/sys/dev/raid/speed_limit_max

sysctl аналог

1
2
dev.raid.speed_limit_min=70000
dev.raid.speed_limit_max=100000
1
2
3
4
5
6
7
8
9
# З одного пристрою
mdadm --create /dev/md0 --metadata=1.2 --level=1 --raid-devices=2 missing /dev/sdb1
# Запуск
mdadm --assemble /dev/md9 /dev/sdf9
# Додавання
mdadm --manage /dev/md1 --add /dev/sda1
# 
mdadm --detail /dev/mdX
mdadm --detail --scan

Бекап масиву у файл

Так дуже зручно та просто ноут забекапити.

1
2
3
4
5
6
7
8
9
10
11
12
dd if=/dev/zero of=/mnt/md1.raw bs=1M count=1 seek=128412
losetup /dev/loop6 /mnt/md1.raw
mdadm --manage /dev/md1 --add /dev/loop6
mdadm --grow /dev/md1 --raid-devices=3

# Чекаємо на закінчення синхронізації
printf '3' > /proc/sys/vm/drop_caches
sync

mdadm /dev/md1 --fail /dev/loop6
mdadm /dev/md1 --remove /dev/loop6
mdadm --grow /dev/md1 --raid-devices=2

Бекап масиву на зовнішній диск

А так можна створити цілком робочу копію системи.

1
2
3
4
5
6
7
8
9
10
11
mdadm --manage /dev/md1 --add /dev/sdx1
# Чекаємо
printf '3' > /proc/sys/vm/drop_caches
sync
# Якщо це розділ з rootfs
update-grub
grub-install --recheck /dev/sdx
sync
mdadm /dev/md1 --fail /dev/sdx
mdadm /dev/md1 --remove /dev/sdx
mdadm --grow /dev/md1 --raid-devices=2

Запуск перевірки/відновлення

1
2
echo 'check' > /sys/block/md0/md/sync_action
echo 'repair' > /sys/block/md0/md/sync_action