У меня возникают проблемы при сборке небольшого RAID5 из-за повторяющегося переупорядочения /dev /sd [af] при загрузке (Debian7).

md0 изначально использовал sd [abc] 1, он содержит устройство LUKS, которое, в свою очередь, содержит файловую систему ext4. Файловая система ext4 (проверена с помощью fsck), а также все диски sd [abc] (проверено с помощью smartctl) работают.

В настоящее время устройства RAID - это не sd [abc] 1, а sd [abd] 1. mdadm --examine распознает их все должным образом (тот же UUID, тот же счетчик событий), но показывает, что sdc1 является частью массива, даже при проверке /dev /sdd1.

Я предполагаю, что если перезагрузка выдаст мне оригинальный порядок, все снова будет работать.

Теперь я вижу два решения, оба из которых я не могу найти, как реализовать:

  • остановить Debian от переупорядочения
  • убедитесь, что mdadm не полагается на точное соответствие /dev /sd [af] 1 для устройств

Как я могу достичь одного из этих двух, или что еще я мог сделать, чтобы запустить mdadm?

mdadm.conf:

DEVICE /dev/sd[abcef]1
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md0 UUID=b00e130c:359e5dfc:461cb5c0:61dedce4

Редактировать:

Я только что обнаружил что-то довольно тривиальное, что я не помню, чтобы где-то явно читал и не знал раньше: передача соответствующих устройств RAID в правильном порядке (который может отличаться от предыдущего) помогает при сборке ... по крайней мере, вручную. В моем случае (другая перезагрузка дала мне sd [bcd] 1 для устройств, в таком порядке):

# mdadm --assemble -v /dev/md0 /dev/sd[bcd]1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 2.
mdadm: added /dev/sdc1 to /dev/md0 as 1
mdadm: added /dev/sdd1 to /dev/md0 as 2
mdadm: added /dev/sdb1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 3 drives.

mdadm --detail и mdadm --examine теперь также отображают правильные имена устройств в своих списках, например, теперь они также правильно сообщают, что sdd1 является частью массива при проверке sdd1.

Изменить 2:

Я только что заметил, что мне не хватает sdd1 в mdadm.conf. Хотя это определенно не правильно, я также попытался явно перечислить все устройства в вызове мадам, а также сканирование, т.е. mdadm --assemble /dev/md0 /dev/sd[abcd]1 и mdadm --assemble --scan . Оба не собирались.

1 ответ1

0

Нашел решение проблемы. Отсутствие sdd1 в моем mdadm.conf приводит ко всем проблемам:

Когда mdadm.conf содержит все устройства (и может содержать больше устройств, чем необходимо), mdadm --assemble --scan также работает.

Примечание: порядок sd * в явном вызове mdadm --assemble /dev /md0 /dev /sd * не важен, но правильный набор устройств есть. Таким образом, если sd [acd] является частью массива, sd [dca] будет работать, sd [abcdef] - нет. Это не зависит от того, что находится в mdadm.conf.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .