[->UUIDudev] bad mdadm.conf on jaunty upgrade
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mdadm (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: mdadm
This occurred on an upgrade from 8.10 to 9.04. I have a md raid1 with two devices (sda1, sdb1) and two spares (sdc1, sdd1) named /dev/md0, which the system boots from. On reboot after the upgrade, the system dropped into busybox with "ALERT! /dev/md0 does not exist" etc.
The previous kernel (2.6.27-11) would still boot without issue. I looked around and discovered that my /etc/mdadm/
=====
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=490f3db6:
spares=2
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=0726d925:
spares=2
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=9d07bdb8:
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 spares=2 UUID=490f3db6:
ARRAY /dev/md1 level=raid1 num-devices=2 spares=2 UUID=0726d925:
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=9d07bdb8:
MAILADDR root
=====
...i.e. two DEVICE lines, and the 'spares' parameter for md0 and md1 is on a new line, only for the first instance. From "man mdadm.conf" I can't see clearly whether or not this is wrong. I changed the file to:
=====
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 spares=2 UUID=490f3db6:
ARRAY /dev/md1 level=raid1 num-devices=2 spares=2 UUID=0726d925:
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=9d07bdb8:
MAILADDR root
=====
...and ran:
# update-initramfs -k 2.6.28-11-server -c
...after which the system boots properly with the new kernel.
I don't know much about boot, but it seems the mdadm.conf file is included in the initramfs (I could see it in /etc/mdadm/
A) the mdadm.conf included in the 2.6.27-11.server initramfs has better/proper syntax (how do I check?), or
B) the mdadm.conf is the same, but the 2.6.27-11-server kernel was more tolerant.
Changed in mdadm (Ubuntu): | |
status: | New → Confirmed |
I found: http:// kernel- handbook. alioth. debian. org/ch- initramfs. html#s- initramfs- exam
===== khaeru- storage: ~$ mkdir tmp khaeru- storage: ~$ cd tmp khaeru- storage: ~/tmp$ zcat /boot/initrd. img-2.6. 27-11-server | cpio -i khaeru- storage: ~/tmp$ cat etc/mdadm/ mdadm.conf cea49fa3: 345b7477: 817747f3 6e4e7a99: bcdab21b: f117ebf9 ede8880b: 54422443: 48105f18 cea49fa3: 345b7477: 817747f3 6e4e7a99: bcdab21b: f117ebf9 ede8880b: 54422443: 48105f18
khaeru@
khaeru@
khaeru@
41267 blocks
khaeru@
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=490f3db6:
spares=2
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=0726d925:
spares=2
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=9d07bdb8:
DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 spares=2 UUID=490f3db6:
ARRAY /dev/md1 level=raid1 num-devices=2 spares=2 UUID=0726d925:
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=9d07bdb8:
MAILADDR root
=====
...so it seems the 2.6.27-11-server kernel was able to boot with this odd mdadm.conf, but the 2.6.28-11-server kernel was not.