Re: data scrubbing

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

 



On 29/07/11 23:51, Mathias Burén wrote:
On 29 July 2011 21:48, Beolach<beolach@xxxxxxxxx>  wrote:
On Fri, Jul 29, 2011 at 07:25, Nikolay Kichukov<hijacker@xxxxxxxxx>  wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

This is a good to know!

Just performed a check on a raid1 and got:

Jul 29 15:37:36 hanna64 mdadm[2277]: RebuildFinished event detected on md device /dev/md1, component device  mismatches
found: 128

So I presume those mismatches have now been rewritten to both disks successfully. Am I wrong there?

cat /sys/block/md1/md/mismatch_cnt
128



That depends on if you did a "check" or a "repair" - see the SCRUBBING
AND MISMATCHES section of the md(4) man page:
"If  check  was used, then no action is taken to handle the mismatch,
it is simply recorded.  If repair  was  used,  then  a  mismatch  will
  be repaired  in  the same way that resync repairs arrays."


Good luck,
Beolach
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Sorry to chime in like this. After reading the above, is there a
reason why anyone shouldn't _always_ use repair instead of check on a
weekly RAID6 check? You have to run repair anyway after a check if any
issues are found, right?

Or does the system become vulnerable during a repair? (less redundant)

Thanks,
Mathias

If you do a repair, then when a mismatch is found one of the disks is taken as the "bad" one, and re-created. For raid1, the first copy is assumed correct. For raid5/6, the data blocks are assumed correct and the parities re-created. As Neil Brown explained on his blog, without any more information then this is as good as md raid can do. However, it is not necessarily as good as /you/ can do. For example, you might be able to determine which files use the blocks in the mismatched stripe, and figure out which block was bad. Or for 3-disk raid1 you could pick the bad block as the odd one out (assuming the other two matched). For raid6, it's possible to spot if it is a single-disk mismatch and correct that one disk (for each disk in turn, assume it is missing and re-create it from the other disks using normal raid6 recovery. If the stripe is then consistent, you've fixed the mismatch). However, such approaches are not necessarily the correct one. Thus the "repair" just does the simplest and fastest correction of the mismatch, and "check" does not change the stripe in case you want to manually pick a different method.

<http://neil.brown.name/blog/20100211050355>



--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux