У меня есть здоровый и работающий программный RAID1, использующий 3 жестких диска в качестве активных на моей машине Debian.
Я хочу отметить один из дисков как запасной, чтобы он стал 2 активными + 1 запасным.

Вещи как:

mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0

и тому подобное, просто не удается сказать, что один из вариантов не поддерживается в текущем режиме параметров или просто не работает.

Billy@localhost~#: mdadm -G --raid-devices=2 /dev/md0 mdadm: failed to set raid disks unfreeze

или же

Billy@localhost~#: mdadm --manage --raid-devices=2 --spare-devices=1 /dev/md0
mdadm: :option --raid-devices not valid in manage mode

или похожие. Я понятия не имею, чувак. пожалуйста помоги?

Вы можете проверить текущее состояние массива с помощью cat /proc/mdstat. В этом примере данные берутся отсюда.

Итак, предположим, что у нас есть md127 с 3-мя дисками в raid1. Здесь это просто разделы одного диска, но это не важно

md127 : active raid1 vdb3[2] vdb2[1] vdb1[0] 102272 blocks super 1.2 [3/3] [UUU]

Нам нужно отключить один из дисков, прежде чем мы сможем его удалить:

$ sudo mdadm --manage /dev/md127 --fail /dev/vdb2
mdadm: set /dev/vdb2 faulty in /dev/md127

И статус теперь показывает, что это плохо

md127 : active raid1 vdb3[2] vdb2[1](F) vdb1[0] 102272 blocks super 1.2 [3/2] [U_U]

Теперь мы можем удалить этот диск:

$ sudo mdadm --manage /dev/md127 --remove /dev/vdb2
mdadm: hot removed /dev/vdb2 from /dev/md127 md127 : active raid1 vdb3[2] vdb1[0] 102272 blocks super 1.2 [3/2] [U_U]

А теперь измените размер:

$ sudo mdadm --grow /dev/md127 --raid-devices=2
raid_disks for /dev/md127 set to 2 unfreeze

На данный момент мы успешно сократили массив до 2 дисков:

md127 : active raid1 vdb3[2] vdb1[0] 102272 blocks super 1.2 [2/2] [UU]

Итак, теперь новый диск можно повторно добавить в качестве горячей замены:

$ sudo mdadm -a /dev/md127 /dev/vdb2 mdadm: added /dev/vdb2 md127 : active raid1 vdb2[3](S) vdb3[2] vdb1[0] 102272 blocks super 1.2 [2/2] [UU]

В (S) показывает, что это горячая запчасть.

Мы можем убедиться, что это работает должным образом, выйдя из строя существующего диска и заметив, что на запасном диске происходит перестройка:

$ sudo mdadm --manage /dev/md127 --fail /dev/vdb1 mdadm: set /dev/vdb1 faulty in /dev/md127 md127 : active raid1 vdb2[3] vdb3[2] vdb1[0](F) 102272 blocks super 1.2 [2/1] [_U] [=======>.............] recovery = 37.5% (38400/102272) finish=0.0min speed=38400K/sec

vdb2 больше не отмечен (S) потому что это не горячая.

После повторного добавления плохого диска Это теперь отмечен как горячая

md127 : active raid1 vdb1[4](S) vdb2[3] vdb3[2] 102272 blocks super 1.2 [2/2] [UU]