CFT: periodic scrubbing of ZFS pools
Alexander Leidinger
Alexander at Leidinger.net
Fri Jun 11 15:20:42 UTC 2010
Quoting Ivan Voras <ivoras at freebsd.org> (from Fri, 11 Jun 2010
14:04:24 +0200):
> On 06/10/10 16:26, Alexander Leidinger wrote:
>> Hi,
>>
>> as there seems to be interest in a periodic script to scrub zpools, I
>> modified my monthly-POC into a daily script with parameters for which
>> pools to scrub, how many days between scrubs (even different per pool,
>> if required), and several error checks (non-existing pool specified,
>> scrub in progress).
>>
>> You can find it at
>> http://www.Leidinger.net/FreeBSD/current-patches/600.scrub-zfs
>>
>> Please put it into /etc/periodic/daily and test it. Possible
>> periodic.conf variables are:
>> daily_scrub_zfs_enable="YES"
>> daily_scrub_zfs_pools="name1 name2 name3" # all if unset or empty
>> daily scrub_zfs_default_threshold="<number_of_days>" # default: 30
>> daily_scrub_zfs_<POOLNAME>_threshold="<number_of_days>"
>>
>> If there is no specific threshold for a pool (= days between scrubs),
>> the default threshold is used.
>
> Fairly good and useful, but could you add a small check of "zpool
> status" information before scrubbing that would a) complain LOUDLY AND
> VISIBLY if a previous scrub failed and b) skip issuing a new scrub
> command if there is such an error, to avoid stressing possibly broken
> hardware?
Can you please provide an example of such a failed scrub?
Things I fixed so far:
- use the creation time of the pool if no scrub was done before
- rename the script via s/600/800/ (this is a I/O intensive task
and we want to have this done late in the periodic run, so
that other stuff is not slowed down too much)
Bye,
Alexander.
--
Winning isn't everything, but losing isn't anything.
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-fs
mailing list