Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Wikipedia says "RAID 2 is the only standard RAID level, other than some implementations of RAID 6, which can automatically recover accurate data from single-bit corruption in data."

Does anyone know if the RAID 6 mdadm implementation in Linux is one such implementation that can automatically detect and recover from single-bit data corruption. This pertains to CentOS / Red Hat 6 if those are different from other versions. I tried searching online but didn't have much luck.

With SATA error rates being 1 in 1E14 bits, and a 2TB SATA disk containing 1.6E13 bits, this is especially relevant to preventing data corruption.

Thanks!

share|improve this question

2 Answers 2

up vote 9 down vote accepted

Linux software RAID is not going to protect you from bit corruption and silent data corruption is a well known issue with it. In fact, if the kernel is able to read the data from one disk it would never know that it is bad. The RAID only kicks in if there is an I/O error when reading the data.

If you are worried about data integrity you should consider using a file system like Btrfs or ZFS that ensure data integrity by storing and verifying checksums. These file systems also take care of the RAID functionality, so you don't need the kernel software raid if you go that way.

share|improve this answer
    
Thanks. In case it's helpful to anyone, I got some more search ideas from chutz's reply and saw that the maintainer of mdadm (I believe) said on Feb 17, 2011 that he has no plans to add the ability to force parity checking on every read. See spinics.net/lists/raid/msg32816.html –  sa289 May 23 '12 at 18:44

RAID5 and RAID6 both protect against bit corruption, but it will only detect it if you verify parity of the entire drive. This is called "scrubbing" or "parity checking" and typically takes 24-48 hours on most production RAID system. During that time performance may be significantly degraded. (Some systems allow the operator to prioritize scrubbing over read/write access or below it.)

share|improve this answer
1  
It is not universally true that performance will be noticably degraded during a RAID scrub. If the scrub uses all available system resources and is "dumb" then it will. But, all SANs and I imagine most RAID controllers will run the scrub at a lower or "nice" priority, adjusting the resource utilization dynamically so that it doesn't consume resources needed to maintain production performance. –  Jeremy Nov 30 '12 at 22:36
    
You are correct. I edited the answer to add nuance. –  vy32 Nov 30 '12 at 22:41
    
if your mdadm raid 6 array is /dev/md1 then is the command to make it verify the parity and attempt repair of single bit corruption "echo check > /sys/block/md1/md/sync_action" –  BeowulfNode42 Nov 18 '13 at 1:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.