[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Kernel 2.6.6 does not recognise /dev/md0 automatically



> On Fri, Jul 09, 2004 at 09:45:56PM +1000, Clement wrote:
> > The /dev/md0 is not corrupted yet.  In kernel 2.6.6, I can 
> still get 
> > it by
> > 
> >    # mdadm -A /dev/md0 /dev/hda1 /dev/hdc1
> >    mdadm: /dev/md0 has been started with 2 drives.
> >    # mount /dev/md0 /boot
> >    # cat /proc/mdstat
> >    Personalities : [raid1]
> >    md0 : active raid1 hda1[0] hdc1[1]
> >          80192 blocks [2/2] [UU]
> > 
> >    md1 : active raid1 hda2[0] hdc2[1]
> >          4883648 blocks [2/2] [UU]
> 
> Your partitions should be of type "Linux Raid Autodetect" but 
> I assume you know that.  Futhermore the kernel should have 
> RAID builtin and not as modules.  I didn't know 
> kernel-image-* packages had RAID builtin, I alsways compile 
> my kernels myself, but again I guess you know this. Just 
> stating the obvious.

NO this is not true, RAID can be loaded from an initrd as modules just
fine. Once your up and running on raid with an initrd, you have the
easiest way to upgrade your kernel without the need to recompile at
all...
 
> The only thing I can think of is that /boot is maybe an old 
> style RAID device?  Have a look what `mdadm -E /dev/hda1' 
> tells you, it might help you. I'm not sure what would be the 
> solution to this.  Maybe zeroing the superblock with mdadm 
> and then makeing a new one.  This should not damage any data 
> afaik.  But it still is highly dangerous and I'm just doing 
> this on top of my head whithouth checking anything!  You be warned!
> 

Hmm... 
I can verify the 2.6.6 kernel works fine with raid1, I have it running
on several boxes.
Once you have a system running raid from initrd, std debian kernels
should install fine without the need for modification.

Be sure that you have booted into the raid  /root or /boot partitions
when installing the kernel, otherwise the initrd will not automatically
pick-up the modules required at boot time.
You might consider adjusting /etc/mkinitrd/modules to accomplish this
manually, if you are unable to boot into your raid partitions.  A CHROOT
into the raid then installing the kernel image will not suffice in
generating the correct initrd. 

Zeroing the superblock would be a last resort in my book, but I'm hardly
an expert here.

If you can't boot into the raid, you'll need compile your own initrd
with mkinitrd package and the debian kernel source; modify your
/etc/mkinitrd/modules to have all the appropraite driver modules be they
SCSI, IDE/ATA & RAID  => then compile with something like...
make-kpkg --revision=myraid.1.0 --initrd --bzimage kernel_image

Hope this helps,

Cheers,

Lew Shobbrook



Reply to: