2

I'm running Ubuntu 12.04 precise. A recent apt-get upgrade ended successfully, but printed the following warning at the end:

update-initramfs: Generating /boot/initrd.img-3.2.0-21-generic
W: mdadm: the array /dev/md/odin:1 with UUID d65cf17d:fe860500:29648a86:d29c3195
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.

I looked on serverfault and found this recent question. The accepted response suggested etc/mdadm/mdadm.conf was not properly updated, and the thing to do is to copy the list of active RAID arrays from the output of /usr/share/mdadm/mkconf to the appropriate place in /etc/mdadm/mdadm.conf.

In my case, the difference was one line: the output of /usr/share/mdadm/mkconf listed 2 arrays:

# definitions of existing MD arrays
ARRAY /dev/md/1 metadata=1.2 UUID=d65cf17d:fe860500:29648a86:d29c3195 name=odin:1
ARRAY /dev/md/0 metadata=1.2 UUID=859e9e8c:34e69e1e:d934738a:ebdf1249 name=odin:0

and /etc/mdadm/mdadm.conf only listed one of them:

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=859e9e8c:34e69e1e:d934738a:ebdf1249
name=odin:0

The system is configured to boot from /dev/md0.

Following the advice in the serverfault post, I added the missing ARRAY definition to /etc/mdadm/mdadm.conf and ran update-initramfs -u. There were no warnings. When I tried to reboot, however, the system could not do so from the RAID.

Interestingly, I was able to boot by

  1. booting from an Ubuntu LiveCD
  2. choosing "boot from hard disk" from the LiveCD's menu

so the server is running again, but I would like to be able to boot it normally.

As you can tell, I am new to dealing with RAID setups on Linux, and so I wish to proceed cautiously. Any advice or suggestions would be greatly appreciated!

1 Answer 1

-1

As far as I know you can not directly boot from an array created with mdadm. You need to at least have a small boot partition outside the array in order to boot. That's why you can boot with a CD, it's serving as the boot volume outside the array. Then the array gets started and you're in.

For more information see: How to create a bootable redundant Debian system with a 3 or 4 (or more) disk software raid10?

This will tell you how to set it up so you can boot.

1
  • I did not set up the RAID, so I am sort of trying to reverse engineer everything at this point. This was helpful for my understanding. How can I determine if such boot partitions exist? I tried looking in mount, but there's no specific /boot partition, just /. The only entry in /etc/fstab mounts / at the UUID of one of the RAID arrays. Apr 17, 2012 at 21:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .