Это старая версия документа!
http://xgu.ru/wiki/Программный_RAID_в_Linux
Файловая система создается поверх рейд-массива.
Создать raid-1 с одним отсутствующим диском:
mdadm --create --verbose /dev/md0 --level=1 --bitmap=internal --raid-devices=2 /dev/xvdb1 missing mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Недостающий диск можно подключить позднее:
mdadm /dev/md0 --add /dev/xvdc1
Пометить диск как сбойный и удалить его из массива:
mdadm /dev/md0 --fail /dev/sdb1 mdadm /dev/md0 --remove /dev/sdb1
Если диск уже пропал из системы, то mdadm откажется его удалять т.к. «no such file». В таком случае выполняем удаление всех отсоединенных дисков:
mdadm /dev/md0 -r detached
Создать raid-5 с тремя дисками и одним диском в горячем резерве (hot-spare), размер чанка 64КБ, bitmap хранится в файле /md2.bitmap:
mdadm --create --verbose /dev/md2 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd{f,g,h,i}1 --chunk=512 --bitmap=/md2.bitmap mdadm --readwrite /dev/md2
Удаление суперблока:
mdadm --zero-superblock /dev/sdx
Известный баг Grub: если корневая система в raid, то при загрузке с одного из дисков reboot сразу после появления надписи «Welcome to Grub!».
Решение – раскомментировать строчку
GRUB_TERMINAL=console
в файле /etc/default/grub, и выполнить команду
update-grub
Для нормальной производительности и уменьшения износа диска важно выравнивать разделы по блокам/цилиндрам. Современные диски большого объема имеют увеличенный размер сектора в 4096 байт (вместо 512), что создает дополнительные сложности. Рекомендуется выравнивать всё по 1 МБ.
При создании LVM:
pvcreate --dataalignment=1M
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"
udevadm trigger udevadm control --reload-rules
Чтобы сервер не «подвис» в момент ресинхронизации дисков, устанавливаем предел скорости.
dev.raid.speed_limit_max = 10240
sysctl -p /etc/sysctl.d/mdadm.conf
Основная идея (без подробностей): Если новый раздел меньшего размера, то не остается других выходов, кроме как:
Проверил – всё получилось.