Over the lifetime of the hard drive, bad sectors will develop on the disk. During the write process, a bad sector will be remapped automatically. But if a bad sector is encountered during reading, the RAID controller will reject the disk and mark the array as degraded. If the array is being rebuilt, that process will fail.
This condition is known as the "latent lost block syndrome" in which a sector has gone bad but has yet to be read. Thus it is in a latent state. To avoid this phenomenon, it is important to schedule periodic verification on all the disk arrays.
When using software RAID, the array can be verified using the command below. Note this feature requires the 2.6.16 kernel or higher.
# echo check >> /sys/blocl/mdX/md/syn_action
For example:
[root@asl49 ~]# echo check >> /sys/block/md0/md/sync_action [root@asl49 ~]# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md0 : active raid1 sdb1[1] sda1[0] 200704 blocks [2/2] [UU] [>....................] check = 2.5% (6016/200704) finish=3.1min speed=1002K/sec