У меня есть устройство raid 5, созданное с помощью mdadm
. Я работал над этим и, короче говоря, я хотел напечатать mdadm --manage /dev/md127 -a /dev/sdd
, но я случайно набрал mdadm --manage /dev/md127 -a /dev/md127 -a /dev/sdd
который добавил рейд как запасной диск к себе.
Number Major Minor RaidDevice State
4 8 32 0 active sync /dev/sdc
1 8 16 1 active sync /dev/sdb
- 0 0 2 removed
3 9 127 - spare /dev/md127
Теперь рейд работает некорректно. Кажется, я не могу его убить, и мои попытки расшифровать его только что закончились тем, что компьютер завис с ^C
ничего не делать.
Итак, мой вопрос: есть ли способ исправить это? Я попытался перенести рейд на другой компьютер, перезагрузить компьютер и создать рейд с помощью mdadm --assemble /dev/md0 /dev/sd[b-c]
. Ни то, ни другое не помогло.
Хорошо, я смог сделать кое-что из черной магии, и я смог собрать рейд без md127
привод как запасное устройство. Я сделал вот что:
1) Я создал файл mdadm.conf с данными моего рейда и добавил <ignore>
флаг, чтобы предотвратить его автоматическую сборку
1.5) Если рейд собирался, я пометил рейд как неисправное устройство с помощью mdadm --manage /dev/md127 --fail /dev/md127
а затем перезапустил компьютер, чтобы разобрать рейд. Я не уверен, нужен ли этот шаг, но все равно сделать это не помешало
2) Я вручную собрал рейд, указав все диски в рейде с помощью mdadm --assemble /dev/md127 /dev/sdX /dev/sdY /dev/sdZ
3) Я переместил все данные на другой диск, не связанный с рейдом, чтобы этого больше не повторилось