Чтобы вымыться от программной ошибки в md, я отметил половину RAID (/dev/sda1 и/dev/sdb1 в RAID1) как дефектное использование:
mdadm /dev/md2 --fail /dev/sdb1
mdadm /dev/md2 --remove /dev/sdb1
Но теперь я хочу использовать "неудавшуюся" половину вместо этого. т.е. вместо использования /dev/sda1
, Я хочу использовать /dev/sdb1
, но mdadm отказывается приносить его онлайн:
mdadm --stop /dev/md2
mdadm -A /dev/md2 /dev/sdb1 --run --force
Это перестало работать, как это полагает /dev/sdb1
"запчасть" и не фактический член массива больше.
Вы используете -A
который является --assemble
, но необходимо использовать -a
который является --add
.
Если я вспоминаю правильно, устройства (ре), добавленное к существующему массиву, всегда добавляются как запчасти, то вскоре после этого ядро возьмет это, массив и ухудшается и имеет запчасть, и затем это начнет повторно зеркально отражать. Вы видите это с watch cat /proc/mdstat
.
Вся команда, которая должна быть выполнена, является одним из следующего предположения, что массив не собран или работающий (который OP показывает как не работающий):
Если массив не работает:
mdadm --assemble /dev/md2 /dev/sdb1
Однако, если массив работает:
mdadm --manage /dev/md2 -a /dev/sdb1
Я думаю, что simpliest способ снять выделение с раздела состоял бы в том, чтобы добавить его снова к массиву. Между прочим, если необходимо сделать тест, не удаляйте диск из массива. Отметьте его как дефектный и если Вы перезагрузите, то это возвратится к другому разделу.
mdadm /dev/md2 --add /dev/sdb1