[Bug 158918] Re: [->UUIDudev] installing mdadm (or outdated mdadm.conf) breaks bootup
Roy Helge Rasmussen
158918 at bugs.launchpad.net
Wed Aug 31 08:51:54 UTC 2011
This bug has bugged me for a while now. It started in 10.10 and is still
there in 11.04.
Fresh install of Natty, 11.04 AMD64. All updates performed. -> Reboot
works fine.
Install MDADM -> reboot fails
mount: mounting /dev/disk/by-uuid/.... on /root
failed: Device or resource busy
...
...
No init found. Try passing init=bootarg.
Remove MDADM (boot on live-CD) -> reboot works fine
System has 7 disks. /dev/sda as boot disk. /dev/sd[bcdefg] are used as raid members.
Error occurs both when a raid is properly set up, and when all raid
members have the superblock zeroed. Error occurs both when mdadm.conf is
correct or blank, or missing.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mdadm in Ubuntu.
https://bugs.launchpad.net/bugs/158918
Title:
[->UUIDudev] installing mdadm (or outdated mdadm.conf) breaks bootup
Status in “mdadm” package in Ubuntu:
Triaged
Bug description:
Original Report (also confirmed with 9.10 and 10.04 beta1):
On a freshly installed ubuntu-7.10-alternate, with latest apt-get
update.
When the 'mdadm' package is installed, the system fails to boot
successfully, and ends up at the initrd '(busybox)' prompt.
Hardware: DELL 1950 - 1RU Server
HDD: SAS
To get the server booting again you need to revert to the old
initramfs:
- Boot with ubuntu-7.10-alternate, and go through install steps up to 'partitioning'.
- ALT-F2 to start other shell
- 'fdisk -l' to see details of available drives.
- mkdir /mnt/disk
- mount -t ext3 /dev/sdb1 /mnt/disk
- cd /mnt/disk/boot
- mv initrd-<version>.img initrd-<version>.img-new
- cp initrd-<version>.img.bak initrd-<version>.img
- sync
- reboot
---
Diagnose:
-> This is mdadm setting up arrays according to unreliable superblock
information (device "minor" numbers, labels, hostnames) combined with
the idea of fixing the unreliability by limiting array assembly with
information from mdadm.conf (PARTITIONS, ARRAY, HOMEHOST lines) which
just reassigns the unsolvable conflict handling problem to setup
tools, admins and installers. It forces them to create mdadm.conf
files. And of course they fail.
In cases where old superblocks are found on the disks during mdadm
install, they are added to ARRAY definitions (that really shouldn't
need to be there at all) in mdadm.conf, and copied over into the
initramfs. During next boot the system can not assemble these
(incomplete) arrays.
Cure:
Systematically prevent conflicts from arising instead of relying on
mdadm.conf maintanance. -> Do not depend on mdadm.conf definitions but
use UUID-based array assembly as described in comment #33
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/158918/+subscriptions
More information about the foundations-bugs
mailing list