Blame | Last modification | View Log | RSS feed
#!/bin/bash## Configuration file for /etc/cron.weekly/raid-check## options:# ENABLED - must be yes in order for the raid check to proceed# CHECK - can be either check or repair depending on the type of# operation the user desires. A check operation will scan# the drives looking for bad sectors and automatically# repairing only bad sectors. If it finds good sectors that# contain bad data (meaning that the data in a sector does# not agree with what the data from another disk indicates# the data should be, for example the parity block + the other# data blocks would cause us to think that this data block# is incorrect), then it does nothing but increments the# counter in the file /sys/block/$dev/md/mismatch_count.# This allows the sysadmin to inspect the data in the sector# and the data that would be produced by rebuilding the# sector from redundant information and pick the correct# data to keep. The repair option does the same thing, but# when it encounters a mismatch in the data, it automatically# updates the data to be consistent. However, since we really# don't know whether it's the parity or the data block that's# correct (or which data block in the case of raid1), it's# luck of the draw whether or not the user gets the right# data instead of the bad data. This option is the default# option for devices not listed in either CHECK_DEVS or# REPAIR_DEVS.# CHECK_DEVS - a space delimited list of devs that the user specifically# wants to run a check operation on.# REPAIR_DEVS - a space delimited list of devs that the user# specifically wants to run a repair on.# SKIP_DEVS - a space delimited list of devs that should be skipped# NICE - Change the raid check CPU and IO priority in order to make# the system more responsive during lengthy checks. Valid# values are high, normal, low, idle.# MAXCONCURENT - Limit the number of devices to be checked at a time.# By default all devices will be checked at the same time.## Note: the raid-check script intentionaly runs last in the cron.weekly# sequence. This is so we can wait for all the resync operations to complete# and then check the mismatch_count on each array without unduly delaying# other weekly cron jobs. If any arrays have a non-0 mismatch_count after# the check completes, we echo a warning to stdout which will then me emailed# to the admin as long as mails from cron jobs have not been redirected to# /dev/null. We do not wait for repair operations to complete as the# md stack will correct any mismatch_cnts automatically.## Note2: you can not use symbolic names for the raid devices, such as you# /dev/md/root. The names used in this file must match the names seen in# /proc/mdstat and in /sys/block.ENABLED=yesCHECK=checkNICE=low# To check devs /dev/md0 and /dev/md3, use "md0 md3"CHECK_DEVS=""REPAIR_DEVS=""SKIP_DEVS=""MAXCONCURRENT=