I want to be prepaired the best to keep my linux sw-raids healthy. So I know it's very important to maintain the data on a RAID to keep it readable in event of disk failure. If not, an URE could prevent a correct rebuild. So I myself: What would be a good (or maybe best) way to scrub my data? I'm considering:
echo "check" >/sys/block/md/md0/sync_action
or
echo "repair" >/sys/block/md/md/sync_action
and
badblocks -n
For the first both I'm not quite sure about if "check" is enough. I read that "repair" will restore errors if it found some by using parity data. So this should be what I want, if I'm getting this point right? But what does "check" then even do? Only finding problems?
But if I do on of both it always starts from the beginning which takes a long time so maybe badblocks with n-Option could be a better solution, because it is possible to define start and end blocks. With this I could make small jobs in the night and start next night were the previous job stopped. But badblocks doesn't want to use a mounted fs, except with the f-option but the man-page doesn't recommend it.
How do you maintain your RAID? Maybe I'm barking up the wrong tree and there are better solutions...