Mdadm: массив, сконфигурированный как md0, после ребута превращается в md127 и не работает?

Описание проблемы

Создаю RAID-массив JBOD (linear) по этой инструкции:
www.linuxhomenetworking.com/wiki/index.php/Quick_H...


Массив /dev/md0 создан, примонтирован в папку, в него залито содержимое и расшарено по SMB. Замечательно!


После ребута массив исчезает, вместо него болтается якобы исправный массив /dev/md127. Соотвественно, fstab его не монтирует.


Но и вручную его примонтировать не получается: ругается на битую ФС. UUID у него другой.


Лечится это элементарно:

mdadm -S /dev/md127<br/>
mdadm -As<br/>
mount -a



После этих нехитрых манипуляций всё встает на свои места. Массив работает, содержимое доступно.


Но после ребута всё по новой! Содержимое /etc/mdadm/mdadm.conf как будто игнорируется.

Инфа и конфиги
Ubuntu Server Edition 11.04

/proc/mdstat после ребута:
md127 : active linear sdb[0] sdc[1] sdd[2]<br/>
3907036680 blocks super 1.2 0k rounding


mdadm -Ds после ребута:
ARRAY /dev/md/echo:0 metadata=1.2 name=echo:0 UUID=8dc82c4a:f6b1fecf:f5468f88:c237aedf


/proc/mdstat после ручного перемонтирования:
md0 : active linear sdb1[0] sdd1[2] sdc1[1]<br/>
3907028931 blocks super 1.2 0k rounding


mdadm -Ds после ручного перемонтирования:
ARRAY /dev/md/0 metadata=1.2 name=echo:0 UUID=6c857d7b:4cddca25:d567dc18:774dfca3


содержимое mdadm.conf
# by default, scan all partitions (/proc/partitions) for MD superblocks.<br/>
# alternatively, specify devices to scan, using wildcards if desired.<br/>
DEVICE partitions<br/>
<br/>
# auto-create devices with Debian standard permissions<br/>
CREATE owner=root group=disk mode=0660 auto=yes<br/>
<br/>
# automatically tag new arrays as belonging to the local system<br/>
HOMEHOST # instruct the monitoring daemon where to send mail alerts<br/>
MAILADDR lolmaus@gmail.com<br/>
<br/>
# definitions of existing MD arrays<br/>
ARRAY /dev/md/0 metadata=1.2 name=echo:0 UUID=6c857d7b:4cddca25:d567dc18:774dfca3<br/>
<br/>
<h4>Какие меры пытался принимать</h4><br/>
Нагуглил следующие решения:<br/>
<br/>
1) Чистил директиву ARRAY в mdadm.conf от необязательных параметров.<br/>
2) Пересобирал массив с параметром --update=homehost<br/>
3) Пересоздавал массив.<br/>
<br/>
Ничего из этого не помогло.<br/>
<br/>
Более того, даже удаление конфига не меняет ситуации: после ребута все равно создается устройство /dev/md127.<br/>
<br/>
Между правкой конфига и ребутом я всегда делал &quot;update-initramfs -u&quot;.<br/>
<br/>
СПАСИТЕ!
  • Вопрос задан
  • 36481 просмотр
Решения вопроса 1
Henryh
@Henryh
Веб-программист
Я нашёл вот такое решение:
sudo update-initramfs -u
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@syber
Попробуйте создать рейд такой командой

mdadm -v --create /dev/md0 --auto=yes --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1

затем

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
reboot
Ответ написан
Комментировать
lolmaus
@lolmaus Автор вопроса
ПОБЕДА!

В mdadm.conf находим директиву HOMEHOST и меняем <system> на хостнейм вашего компа, например, vasia.

Шесть часов отчаяния, чтобы выяснить это. Unix way is so unix. >_<

Почему именно так, я описал тут (англ.).
Ответ написан
medvedy
@medvedy
*nix administrator
такая же проблема наблюдается в Ubuntu Server Edition 11.04 при перезагрузке переименовывает из md0 и md1 в md126 в md127 и не загружается
Ответ написан
@syber
Доброй ночи всем. У меня та же самая проблема :(. Перепробовал многое, что написано в инете — не помогает (вернее помогает, но до ребута).
Тачка 11.04 ubuntu server. При инсталяции рейды не были сконфигурированы, делалось вручную позднее через mdadm.
К чему я это — очень интересное наблюдение. Есть точно такая же тачка и точно такая же ОС, но там рейды были законфигурены при инсталяции в программе. И там нет такой проблемы! Мне стало интересно и я начал искать различия в содержимом суперблоков разделов, из которых собран рейд, а также в конфиге /etc/mdadm/mdadm.conf. Хрен бы там! Нет никаких различий!!! Ровно везде одно и тоже, однако на первой тачке после ребута появляются /dev/md/hostname:0-4 (реально это симлинки на автоназначаемые udev'ом /dev/md123-127), а на второй /dev/md/0-4

Так вот на тачке где все нормально — не выставлен никакой HOMEHOST и все пашет.

Где работает:

Linux dionis 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST # instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=34566eca:bdb8575c:592076d5:9d523fca name=dionis:0
ARRAY /dev/md/1 metadata=1.2 UUID=01085237:585b5a78:1e8356cd:5f99e5c2 name=dionis:1
ARRAY /dev/md/2 metadata=1.2 UUID=18ef7141:19fde7f4:711104fc:00bd9e32 name=dionis:2
ARRAY /dev/md/3 metadata=1.2 UUID=c896c651:0bb74807:126044dc:3142e555 name=dionis:3
ARRAY /dev/md/7 metadata=1.2 UUID=afdc372f:e3771ccb:6829c9f5:2dc2a5bb name=dionis:7
ARRAY /dev/md/4 metadata=1.2 UUID=12cf5cc9:479407ae:d26ab5cb:27fa089b name=dionis:4
ARRAY /dev/md/6 metadata=1.2 UUID=ef588daf:eed64c26:fc21b08f:88be939e name=dionis:6

# This file was auto-generated on Fri, 05 Aug 2011 03:01:19 +0400
# by mkconf $Id$

mdadm -Ds
ARRAY /dev/md/3 metadata=1.2 name=dionis:3 UUID=c896c651:0bb74807:126044dc:3142e555
ARRAY /dev/md/4 metadata=1.2 name=dionis:4 UUID=12cf5cc9:479407ae:d26ab5cb:27fa089b
ARRAY /dev/md/6 metadata=1.2 name=dionis:6 UUID=ef588daf:eed64c26:fc21b08f:88be939e
ARRAY /dev/md/0 metadata=1.2 name=dionis:0 UUID=34566eca:bdb8575c:592076d5:9d523fca
ARRAY /dev/md/7 metadata=1.2 name=dionis:7 UUID=afdc372f:e3771ccb:6829c9f5:2dc2a5bb
ARRAY /dev/md/1 metadata=1.2 name=dionis:1 UUID=01085237:585b5a78:1e8356cd:5f99e5c2
ARRAY /dev/md/2 metadata=1.2 name=dionis:2 UUID=18ef7141:19fde7f4:711104fc:00bd9e32

Где не работает (всего 1 массив, т.к. я экспериментировал)

Linux thea 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST # instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Sun, 04 Sep 2011 04:21:24 +0400
# by mkconf $Id$
ARRAY /dev/md/0 metadata=1.2 UUID=bebc3a96:6c5c179a:54c08e89:b8c0dc78 name=thea:0

mdadm -Ds
ARRAY /dev/md/thea:0 metadata=1.2 name=thea:0 UUID=bebc3a96:6c5c179a:54c08e89:b8c0dc78

Единственная разницы — на тачке, где все пашет, сама ОС стоит на рейде, а на второй — она стоит на диске (апаратный рейд был сделан на системных винтах).

P.S. установка HOMEHOST мне НЕ ПОМОГЛА. После ребута массивы опять появляются как /dev/md/thea:N
Ответ написан
Комментировать
@syber
Ха, прошу прощения, у меня все работает на самом деле с таким конфигом

ARRAY /dev/md/0 metadata=1.2 name=hyperion:0 UUID=5645d497:9e0a45f1:e8b80c0a:327aa0d2

просто я ни разу до этого не запускал на этой тачке
update-initramfs -u

а инсталяшка на второй тачке видимо запускала.

P.S. решение с HOMEHOST видится мне крайне стремным, т.к. если вы захотите поменять hostname, ведь стопудово забудете поменять в mdadm.conf и после ребута сразу пипец настанет :(
Ответ написан
Комментировать
lolmaus
@lolmaus Автор вопроса
Вячеслав Улюшов обнаружил следующее:

У меня такая проблема возникла после установки обновлений.
В репозитарии Ubuntu два пакета mdadm (4 и 4.1):
mdadm_3.1.4-1+8efb9d1ubuntu4_amd64.deb
mdadm_3.1.4-1+8efb9d1ubuntu4.1_amd64.deb

Подозреваю, что с установочного диска ставился первый. У этих пакетов
есть различия в
файле /usr/share/initramfs-tools/scripts/init-premount/mdadm
а именно 14-я строчка

в версии ubuntu4:
if! mdadm --misc --scan --detail >/dev/null 2>&1; then

в версии ubuntu4.1:
if! mdadm --misc --scan --detail --test >/dev/null 2>&1; then

После обновления, я убрал параметр --test и диски стали именоваться
привычно /dev/md0, /dev/md1 и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы