Приветствую вас на канале юных сисадминов. Сегодня будем расширять программный массив RAID0 путём добавления в него ещё одного диска.
Итак, у меня есть RAID0 массив /dev/md1 из двух дисков:
В массиве диски:
- /dev/dm-2
- /dev/dm-3
Конечно, это не совсем диски, это разделы на подключенных через multipath аппаратных массивах, но в нашем случае это не имеет никакого значения. Это два одинаковых массива примерно по 4 ТБ каждый. Собираюсь подключить ещё один массив на 20 ТБ:
- /dev/dm-5
Следует понимать, что в RAID0 от всего объёма третьего диска будет использоваться только 4 ТБ, что соответствует размеру самого маленького диска в массиве. Если вам нужно слепить в кучу диски разного размера, то следует вместо RAID0 посмотреть в сторону LINEAR. Но тогда придётся пересобрать массив.
mdadm --create --verbose /dev/md1 --level=linear --raid-devices=3 /dev/dm-2 /dev/dm-3 /dev/dm-5
Сначала я попытался добавить массивы как обычно делаю:
mdadm /dev/md1 -a /dev/dm-5
Потом так:
mdadm --add /dev/md1 /dev/dm-5
В обоих случаях я словил ошибку:
mdadm: add new device failed for /dev/dm-5 as 2: Invalid argument
После долгого поиска в Интернет всё-таки нашёлся верный способ:
mdadm --grow /dev/md1 --level=0 --raid-devices=3 --add /dev/dm-5
- --raid-devices — это общее количество дисков, которые будут в массиве, у меня 3.
После этих манипуляций диск добавился, массив сменил свой тип на RAID4 и начал перестроение:
После перестроения тип массива сменится на RAID0.
Детали:
Примечание
Если нужно добавить несколько дисков:
mdadm --grow /dev/md1 --level=0 --raid-devices=4 --add /dev/dm-5 /dev/dm-7