There was a fedora bug in the raid-check script would only queue an
array for check if the array_state was 'clean'. Unfortunately, when the
array is busy performing normal I/O its array_state is 'active'. So, any
arrays which were servicing I/O at the time raid-check was run would not
be checked.
It is quite possible that your CentOS version does not include the fix.
https://bugzilla.redhat.com/show_bug.cgi?id=679843
If it's fixed you should see something like:
# Only perform the checks on idle, healthy arrays, but delay
# actually writing the check field until the next loop so we
# don't switch currently idle arrays to active, which happens
# when two or more arrays are on the same physical disk
array_state=`cat /sys/block/$dev/md/array_state`
if [ "$array_state" != "clean" -a "$array_state" != "active" ]; then
continue
fi
The fix, iirc, was simply the inclusion of '-a "$array_state" !=
"active"' in the 'if' statement above.
--Larkin