[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: RAID array support
RE: RAID array support
Thu, 10 Jun 2010 20:34:23 -0500
> -----Original Message-----
> From: address@hidden [mailto:help-grub-
> address@hidden On Behalf Of Leslie Rhorer
> Sent: Sunday, June 06, 2010 5:16 PM
> To: address@hidden
> Subject: RAID array support
> I'm having an issue with upgrading from GRUB legacy to GRUB 2. I
> think I've come up with a procedure that will allow the upgrade to
> but there is a more fundamental issue at hand. I'm running GRUB legacy on
> system where /boot is a RAID1 array using mdadm to create and assemble the
> array with a 1.0 superblock, which allows GRUB legacy to read the
> and boot just as if it were an ordinary partition (e.g. I specify hd0,0 or
> hd1,0 in menu.lst). I've been reading through the bug reports and issues
> the web, and I ran across a few which suggested GRUB 2 has problems with
> arrays (over and above the one I am having) and in particular will not
> recognize 1.0 superblocks. Is this still the case? If so, and once GRUB
> is installed on the system, can I have it load the kernel and initrd from
> the unassembled partition just as I am doing now with GRUB legacy?
Anyone? I've cobbled together the following step procedure that I
think will work to get GRUB upgraded:
1. Comment out the entries for /dev/md1 in /etc/fstab and
/etc/mdadm/mdadm.conf, and reboot the system.
2. Mount /dev/hda1 to /boot.
3. Upgrade GRUB, which should now understand both /etc/fstab and
4. Reboot to make sure it works.
5. Edit /boot/grub/grub.cfg and /boot/grub/device.map to let GRUB2 know it
should be booting from an array and to make sure it is loading the RAID1
6. Umount /boot and create a new 1.0 superblock RAID1 array using only
/dev/hda1 and a missing member. Mount the new array as /boot.
7. Add the new array info into /etc/mdadm/mdadm.conf and change /etc/fstab
back to mount /dev/md1.
8. Run update-initramfs to copy the new configuration into initrd.
9. Reboot and make sure GRUB2 can now boot into the new array.
10. Add /dev/hdb1 into the new array, and re-sync the array.
11. Update /etc/mdadm/mdadm.conf with the full array info, getting rid of
the missing member, and remove the reference to the old array altogether.
12. Run the GRUB update routine to remove the chain-load from GRUB legacy.
13. Run update-initramfs to copy the final configuration into the initrd (if
GRUB update doesn't already do it.)
I'm a little fuzzy around step 5, though. I think I probably need
to have GRUB set up itself for both /dev/hda and /dev/hdb (writing to their
MBR) and pointing the boot toward the RAID array. I'm not certain how to do
that, though. Should I use grub-install with the --modules= switch? Both
times? Should I use grub-install just the first time to install to /dev/hda
and then run grub-setup to copy the image to the /dev/hdb drive, as well?
How do I get GRUB to recognize the array? Every time I try grub-install
specifying the array, it gives me an error. I know GRUB 2 is supposed to
recognize UUIDs for boot drives, but how do I tell it to boot from a UUID?