mismatch_cnt != 0, member content mismatch, but md says the mirror is good

Bill McGonigle bill at bfccomputing.com
Tue Feb 23 13:01:44 EST 2010


On 02/22/2010 06:28 PM, Benjamin Scott wrote:
>    However, looking at the difference above, I think they're different
> *in the wrong way*.  It looks like one of the disks specifies
> "(hd0,0)/grub/grub.conf" while the other just specifies
> "/grub/grub.conf".  That doesn't seem right.

Looking at one of my CentOS 5.4 boxes, /boot on raid-1, viewed through the md driver, stage2 is using:

  (hd0,0)/grub/grub.conf

0001020  \0  \0   0   .   9   7  \0   (   h   d   0   ,   0   )   /   g
0001040   r   u   b   /   g   r   u   b   .   c   o   n   f  \0  \0  \0

Then taking stage2 from both mirror halves, cmp returns no differences.

>    Although I*did*  test booting from either disk before deploying this
> system.  Although again... there was a lot going on though at the
> time.  Maybe I screwed up my tests, too?  Hmmm.

The theory fits the data, though my understanding of grub innards is incomplete.

I'm assuming sda maps to the first BIOS drive and so has been the working one on boot?  I'm not sure what happens if you issue a 'repair' - if the RAID headers are both showing the same mtime, which would it pick?  Probably better to --fail out sdb1, touch something on the array, and add it back in.

>    If GRUB was installed from Linux, against the RAID device (/dev/md0
> or whatever), then I would think the two members should be identical,
> because the RAID driver in the kernel would have written the same
> blocks to both members.

I'm not sure, I think I've seen the grub-install script detect the BIOS drives of an md array.  Again, I don't really know how it works.

-Bill

-- 
Bill McGonigle, Owner   
BFC Computing, LLC       
http://bfccomputing.com/ 
Telephone: +1.603.448.4440
Email, IM, VOIP: bill at bfccomputing.com           
VCard: http://bfccomputing.com/vcard/bill.vcf
Social networks: bill_mcgonigle/bill.mcgonigle


More information about the gnhlug-discuss mailing list