raid5 and bad blocks

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

 



Hi,

recently i have been running in a lot of trouble with harddisks, that
are developing bad blocks over time.

example scenario:
1 disk fails (for whatever reason) and gets kicked out of the array.
then a resync fails because one of the other disk has developed bad
blocks. the raid volume is not operational or resyncable anymore now.

here are some naive thoughts i had:

1) an option to disable degraded mode (or turn array read-only when
switching to degraded mode). i had disks fail once but (at least  for a
while) work fine later again. i would like the opportunity to try assure
data reconstruction before the kicked-out disk gets completely out-of-date.

without really having studied the code, would some simple change like
this work to disable degraded mode on disk fail?
if (!rdev->faulty) {
   stop(mddev);
   printk(KERN_ALERT, "raid5: Disk failure on %s, stopping raid."
   , bdevname(rdev->bdev,b));
 }

2) would it make sense to let resync finish even when encountering bad
blocks? could the filesystem be reported bad blocks on the affected
areas instead?

3) even better... actually in most cases bad blocks on several disks but
in different areas should still allow a complete reconstruction. correct?
the driver being able to compute the correct sectors across different
disks would be kick-ass :))
but of course then some reserved space would be needed as a prerequisite.

i would be glad to hear some opinions about this.

thanks!
Daniel Sievers


- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org 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