Do we want a periodic script for a zfs scrub?
jhell
jhell at dataix.net
Wed Jun 9 15:23:15 UTC 2010
On 06/09/2010 11:07, jhell wrote:
> On 06/09/2010 10:26, Alexander Leidinger wrote:
>> Hi,
>>
>> I noticed that we do not have an automatism to scrub a ZFS pool
>> periodically. Is there interest in something like this, or shall I keep
>> it local?
>>
>> Here's the main part of the monthly periodic script I quickly created:
>> ---snip---
>> case "$monthly_scrub_zfs_enable" in
>> [Yy][Ee][Ss])
>> echo
>> echo 'Scrubbing of zfs pools:'
>>
>> if [ -z "${monthly_scrub_zfs_pools}" ]; then
>> monthly_scrub_zfs_pools="$(zpool list -H -o name)"
>> fi
>>
>> for pool in ${monthly_scrub_zfs_pools}; do
>> # successful only if there is at least one pool to scrub
>> rc=0
>>
>> echo " starting scrubbing of pool '${pool}'"
>> zpool scrub ${pool}
>> echo " consult 'zpool status ${pool}' for the result"
>> echo " or wait for the daily_status_zfs mail, if
>> enabled"
>> done
>> ;;
>> ---snip---
>>
>> Bye,
>> Alexander.
>>
>
> Please add a check to see if any resilerving is being done on the pool
> that the scub is being executed on. (Just in case), I would hope that
> the scrub would fail silently in this case.
>
> Please also check whether a scrub is already running on one of the pools
> and if so & another pool exists start a background loop to wait for the
> first scrub to finish or die silently.
>
> I had a scrub fully restart from calling scrub a second time after being
> more than 50% complete, its frustrating.
>
>
> Thanks!,
>
I should probably suggest one check that comes to mind.
zpool history ${pool} | grep scrub | tail -1 |cut -f1 -d.
Then compare the output with today's date to make sure today is >= 30
days from the date of the last scrub.
With the above this could be turned into a daily_zfs_scrub_enable with a
default daily_zfs_scrub_threshold="30" and ensuring that if one check is
missed it will not take another 30 days to run the check again.
Food for thought.
Thanks!, Thanks!,
--
jhell
More information about the freebsd-fs
mailing list