RAID 1 error question - boot problem.

Roberto Ragusa mail at robertoragusa.it
Fri Jul 24 19:24:31 UTC 2009


Robin Laing wrote:

> /dev/sda1 ext3 boot
> /dev/sda2 ext3 /   raid
> 
> /dev/sdb1 Swap
> /dev/sdb2 Unknown  / raid
> 
> Running mdadm /dev/sdb2 --examine shows that the partition superblock is
> showing RAID 1 and that it is clean.

If sda2 and sdb2 are part of a RAID-1 they should be identical.
The fsck should give the same result on both, but sdb2
is not even recognized as ext3.
I do not know exactly the meaning of what you have pasted, but
I suppose that ext3 and unknown is from content autodetection
and raid is from partition type (0xfd).

So you should have an md device (md0?) composed by sda2 and sdb2,
which is not happening.

> As this is a critical system, it is a priority and is being used as a
> virtual server.
> 
> With only the second drive installed, we tried to run fsck.ext3 on the
> /dev/sda2 (normally b2) with no success.  We also tried /dev/md0 as
> Ubuntu has created the /dev/md0 from the single drive.

So something is wrong on sdb2.

If sda2 is good, you should just get the RAID working on one drive
(degraded mode) and then readd the sdb2 to the mirror.

> The user has not tried to boot with only the one drive in yet.  He is
> making a copy of the drive on a different system.
> 
> Now, the question.  On booting from a mirror 1 array, if there is a
> problem with the raid system, how does the boot process read the
> mdadm.conf file when it is on the RAID array that needs to be created?
> Is there some data that is stored in the /boot or someplace else that
> has the necessary info to tell the system how to build the array?

It will not read mdadm.conf.
The info is in the superblocks of the partitions.

> Is it part of the /boot/grub/device.map or /boot/System.map* ?

No.
Just superblocks, and possibly the initrd image you boot from.

> Any suggestions to where to start?

Boot from a live cd and do:

  fdisk -l /dev/sda
  fdisk -l /dev/sdb
  blkid /dev/sda1
  blkid /dev/sda2
  blkid /dev/sdb1
  blkid /dev/sdb2
  cat /proc/mdstat
  dmesg|less
  fsck /dev/sda2       (but do not let it modify anything)
  fsck /dev/sdb2       (but do not let it modify anything)
  fsck /dev/md0        (but do not let it modify anything)

these will give you more info to understand what's happening.

Best regards.
-- 
   Roberto Ragusa    mail at robertoragusa.it




More information about the fedora-list mailing list