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
- booting from an Ubuntu LiveCD
- 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!
Best Answer
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.