Re: how does GRUB read from /boot on software-RAID partition?
On Tue, Feb 24, 2009 at 03:21:23PM -0500, Barclay, Daniel wrote:
> Eduardo M KALINOWSKI wrote:
> > Barclay, Daniel wrote:
> ...
> >> Since GRUB hasn't loaded the kernel file yet, GRUB can't be using the kernel
> >> and its md driver, and therefore can't be reading the partition _as_a_RAID_
> >> _volume_ (/dev/mdX), right?
> >>
> >> So is GRUB just reading the partition directly to get to the file system?
AFAIK
> >>
> >
> > GRUB does not know anything about RAID, so I assume this is true.
>
> That's what I have been thinking, but I just found the message at
> http://www.mail-archive.com/linux-raid@vger.kernel.org/msg09712.html
> that says::
>
> ... once grub2 has determined that the intended boot partition is
> a raid partition, the raid code takes over ... and it scans for all
> the other members of the raid array and utilizes whichever drives it
> needs to in order to complete the boot process. ... [I]t doesn't
> need any member of a raid1 array to be perfect[;] it will attempt a
> round robin read on all the sectors and only fail if all drives return
> an error for a given read.
>
> Is that _just_ for GRUB2 and or does the current GRUB (0.97) in Lenny
> also do that?
>
AFAIK only GRUB2 can do the round-robin thingy. GRUB goes after the one
disk it knows about.
>
> >> ... is GRUB taking advantage of the fact that the RAID metadata is
> >> written at the end of a partition ...
> ...
> >> If so, how reliable is that?
> >>
> >> Should one put /boot on a plain, non-RAID partition on one disk and
> >> somehow (manually or automatically) maintain a backup /boot partition on
> >> the second disk, or is it fine to put /boot on a mirrored partition (so
> >> maintaining redundancy is automatic) and let GRUB read the partition directly?
> >>
> >
> > Again, while I haven't tried, I've seen several reports that this works.
> > ... So why make things more complicated and not automatic?
>
> I don't get why you're asking that. I _am_ trying to avoid the complicated
> and non-automatic solution (trying to check whether the simpler solution is
> reliable).
I had a box with two SATA drives. I had three partitions on each drive,
each drive partitioned identically. First partition was for raid1 for
/boot, second partition was for raid1 for LVM, third partition was for
LVM alone. This was with Etch, installed directly with the installer.
/boot on raid1. Installed grub on both disks. Since the remainder of
the system was on LVM over raid1, the dev-mapper took care of device
names.
I tested booting by unplugging (power and data) each drive in turn,
booting with grub was never a problem.
Doug.
Reply to: