Grub on debian wheezy doesn’t recognise mdraid

debian-wheezygrubmdadm

We're having a really strange problem when trying to boot from an mdraid on Debian Wheezy. All references online that I can find tell me that grub 1.99 (which is part of Debian Wheezy) should have no trouble booting from an mdraid volume. We're keep getting a grub rescue prompt, however.

We verified that grub can work with the disks, since booting from a non-raid ext4 formatted partition works without problem. As soon as we put /boot on a RAID array we created with mdadm, grub no longer recognises it.

Although we started out with a RAID5 array with LVM on top, while testing we've moved back to a simply /boot on a 4-disk RAID1 array. These are 4TB disks, so we're using GPT. We installed grub on all disks with the following command:

grub-install --no-floppy --modules="raid mdraid09 mdraid1x" /dev/sda

And for sdb, sdc and sdd, of course.

Grub keeps throwing us to grub rescue. An ls at this time only shows disks and gpt partitions, no md partitions. We've tried recreating the RAID1 with –metadata=0.9, but that didn't change the behaviour at all.

The hardware is a Dell PowerEdge R520 with the PERC 710i RAID controller. We've create RAID0s in the RAID controller for each disk and this seems to work as expected.

No obvious errors are thrown at installation time, either the OS or grub complain.

A reinstall of the grub-pc package doesn't solve the problem either.

We have no further idea what to try and are hoping for some input!

EDIT

We have indeed installed grub to every disk. We are getting a grub prompt, it just cannot read the mdraid. If we add a 'normal' ext4 partition to the machine to boot from, it works.

Best Answer

From my limited knowledge of grub with raid, I have concluded that it is important that the /boot raid array is indeed mounted to /boot when running grub-install, or specified with the boot= option.

How does your /boot/grub/grub.cfg file look like when issuing grub-install? "set" is also interesting to view from the grub rescue console.