Назад | Перейти на главную страницу

Программный RAID10 для Linux: Загадочное переименование / dev / md0 в / dev / md127: Почему?

В течение последних двух ночей у нас были загадочные события на сервере под управлением Ubuntu Linux 12.04 LTS с программным обеспечением Linux mdadm RAID10:

DeviceDisappeared /dev/md0
NewArray /dev/md127

Оба сообщения появились в одну и ту же секунду, в то же время, когда произошло действие logrotate cron. Хотя массив по-прежнему называется /dev/md0 в /etc/mdadm/mdadm.conf, это выглядит как /dev/md127 на выходе cat /proc/mdstat:

Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md127 : active raid10 sdb1[0] sdg1[5] sdc1[1] sdh1[6] sdf1[4] sdd1[2] sdk1[9] sdj1[8] sde1[3] sdi1[7]
      9746600960 blocks 512K chunks 2 near-copies [10/10] [UUUUUUUUUU]

unused devices: <none>

Почему это так и как это исправить?

Я разобрался: UUID в файле /etc/mdadm/mdadm.conf не совпал с UUID фактического массива программных рейдов на этом сервере из-за некоторой «небрежной» активности системного администратора, которая произошла три дня назад. Редактирование UUID в этом файле на UUID, отображаемый (в моем случае YMMV) командой:

mdadm --examine /dev/sdb1 

и воссоздавая образы initrd с помощью команды:

update-initramfs -u -k all

и следующая перезагрузка вернула именование к /dev/md0.
РЕДАКТИРОВАТЬ: Комментарий @Michael Hamptons: имя устройства /dev/md0 упомянутый в ARRAY строка в файле конфигурации /etc/mdadm/mdadm.conf может быть заменен чем-то вроде, например, /dev/disk/by-label/DATA. Но я еще не пробовал этого: в примерах на странице руководства mdadm.conf используются имена устройств, такие как /dev/md*. Я не уверен, возможна ли такая замена: более абстрактные названия устройств в /dev/disk/by-label/* или /dev/disk/by-uuid/* создаются динамически позже.