On Wed Jul 10, 2013 at 01:09:20PM +0100, Priya Kamala wrote: > Hi, > > If a single disk develops bad sector(s) that affects only a single > stripe within a given RAID-5 configuration and these bad sectors are > discovered when running a "check/resync" (echo check > > /sys/block/mdX/md/sync_action), does this result in the entire disk > being removed from the RAID? In other words, is access to the other good > stripes on the drive disabled as well? If so, why is it done this way? > In case the kernel version makes a difference to the behaviour, I'm > working with 2.6.21.1. > If the check/repair process finds a read error, it will trigger a rewrite of the affected block (rebuilding the data from the other drives). If the write fails then the disk will be removed from the RAID. This shouldn't happen, as the disk should either succeed in the write, or should remap the bad block with one of its spares. If you're getting repeated problems with this, it's likely that you are using consumer-level drives without TLER/ERC and have failed to adjust the kernel timeouts to compensate for this. In this case the rewrite will be triggered while the disk is still attempting the read process and will therefore be ignored, causing the write to fail and the disk to be removed. Cheers, Robin -- ___ ( ' } | Robin Hill <robin@xxxxxxxxxxxxxxx> | / / ) | Little Jim says .... | // !! | "He fallen in de water !!" |
Attachment:
signature.asc
Description: Digital signature