On Sat, Apr 3, 2010 at 4:37 PM, Neil Bothwick <[email protected]> wrote:
> On Sat, 3 Apr 2010 16:07:06 -0700, Mark Knecht wrote:
>
>>    The install is complete but it won't boot. grub finds the kernel
>> and starts booting but then I get the typical VFS file sync error as
>> the kernel starts looking for the install on /dev/md3. What I'm not
>> understanding is how does the boot process get the information
>> required to assemble the RAID device. By hand in the non-RAID install
>> I do this:
>>
>> keeper ~ # mdadm -A /dev/md3 /dev/sdb3 /dev/sdc3
>> mdadm: /dev/md3 has been started with 2 drives.
>> keeper ~ # cat /proc/mdstat
>> Personalities : [raid1]
>> md3 : active raid1 sdb3[0] sdc3[1]
>>       52436092 blocks super 1.1 [2/2] [UU]
>>
>> unused devices: <none>
>> keeper ~ #
>>
>> but when I try to boot the RAID install it says it cannot find /dev/md3.
>
> You need to set the partition type for the RAIDed partitions to "Linux
> raid autodetect". You'll probably then find that the kernel sets the RAID
> as /dev/md0, not md3.
>
>
> --
> Neil Bothwick

Tried changing root=/dev/md0. No change.

The actual failure message is the fairly standard

VFS - Unable to mount root fs on unknown-block(9,0)

I can control this using (for instance)

title /dev/sda1 Gentoo Linux 2.6.33-gentoo-RAID
root (hd0,0)
kernel (hd0,0)/boot/bzImage-2.6.33-gentoo-RAID root=/dev/md3
md=3,1,/dev/sdb3,/dev/sdc3

which changes the message to 'unknown-block(9,3)'

Since the mknod command for md devices is always 9 1 or 9 3 those match up.

Is this saying that the special file thing for 9,0 and 9,3 are missing
at boot time?


As I posted in the first post the partitions are marked as autodetect,
but if it matters I did that late in the process after the RAID was
built.

keeper ~ # fdisk -l /dev/sdb /dev/sdc

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa06ef201

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          14      112423+  83  Linux
/dev/sdb2              16         538     4200997+  82  Linux swap / Solaris
/dev/sdb3             544        7071    52436160   fd  Linux raid autodetect

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2ab15637

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1          14      112423+  83  Linux
/dev/sdc2              16         538     4200997+  82  Linux swap / Solaris
/dev/sdc3             544        7071    52436160   fd  Linux raid autodetect
keeper ~ #



Answering Albert - I did it with /dev/md3 because that's how the
install guide did it:

mknod /dev/md3 b 9 3
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3

>From fstab:
/dev/md3          /                       ext3  noatime         0 1

>From grub.conf:
title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/md3

Granted, my kernel line is a little different:

root (hd0,0)
kernel (hd0,0)/boot/bzImage-2.6.33-gentoo-RAID root=/dev/md3

but I didn't make it up. I just followed the guide.

I set the same RAID kernel options as shown in the guide but maybe
there is some other requirement not shown in the guide but actually
required? The CONFIG_RAID_ATTRS is not discussed for instance::

keeper / # cat /usr/src/linux/.config | grep RAID
CONFIG_RAID_ATTRS=m
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_PMCRAID is not set
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
keeper / #

Thanks!

- Mark

Reply via email to