How to speed up slow zpool scrub?
Miroslav Lachman
000.fbsd at quip.cz
Tue Apr 26 13:35:38 UTC 2016
InterNetX - Juergen Gotteswinter wrote on 04/26/2016 15:09:
> to speed up the scrub itself you can try
>
> sysctl -w vfs.zfs.scrub_delay = 4 (default, 0 means higher prio)
I will try it in the idle times
> but be careful as this can cause a serious performance impact, the value
> can be changed on the fly
>
> your pool is raidz, mirror ? dedup is hopefully disabled?
I forgot to mention it. Disks are partitioned to four partitions:
# gpart show -l ada0
=> 34 7814037101 ada0 GPT (3.6T)
34 6 - free - (3.0K)
40 1024 1 boot0 (512K)
1064 10485760 2 swap0 (5.0G)
10486824 31457280 3 disk0sys (15G)
41944104 7769948160 4 disk0tank0 (3.6T)
7811892264 2144871 - free - (1.0G)
diskXsys partitions are used for base system pool which is 4-way mirror
diskXtank0 partitions are used for data storage as RAIDZ
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
sys 14.9G 11.0G 3.92G - 79% 73% 1.00x ONLINE -
tank0 14.4T 10.8T 3.56T - 19% 75% 1.00x ONLINE -
# zpool status -v
pool: sys
state: ONLINE
scan: scrub repaired 0 in 1h2m with 0 errors on Sun Apr 24 04:03:54 2016
config:
NAME STATE READ WRITE CKSUM
sys ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0sys ONLINE 0 0 0
gpt/disk1sys ONLINE 0 0 0
gpt/disk2sys ONLINE 0 0 0
gpt/disk3sys ONLINE 0 0 0
errors: No known data errors
pool: tank0
state: ONLINE
scan: scrub in progress since Sun Apr 24 03:01:35 2016
7.63T scanned out of 10.6T at 36.7M/s, 23h32m to go
0 repaired, 71.98% done
config:
NAME STATE READ WRITE CKSUM
tank0 ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gpt/disk0tank0 ONLINE 0 0 0
gpt/disk1tank0 ONLINE 0 0 0
gpt/disk2tank0 ONLINE 0 0 0
gpt/disk3tank0 ONLINE 0 0 0
errors: No known data errors
# zdb | grep ashift
ashift: 12
ashift: 12
Thank you for your informations.
> Am 4/26/2016 um 2:44 PM schrieb Miroslav Lachman:
>> Hi,
>>
>> is there any way to make zpool scrub faster?
>> We have one older machine with CPU Pentium(R) Dual E2160 @1.80GHz, 5GB
>> of RAM and 4x 4TB HDDs. It is just a storage for backups for about 20
>> machines.
>> Scrub is scheduled from periodic each 30 days but it takes about 4 days
>> to complete and everything during scrub is slow. Backups takes 8 hours
>> instead of 5 (made by rsync), deleting of old files is even more slower.
>>
>> The backups are made every night from the midnight to morning, the
>> machine is idle for the rest of the day.
>>
>> Is there any tuning to make scrub faster in this idle time?
>> Or is it better to do it other way - slower scrub with even lower
>> priority taking for about one week but not affecting time of normal
>> operations? (is it dangerous to have scrub running this long or reboot
>> machine during the scrub?)
>>
>> I have a performance graphs of this machine and CPU is about 70% idle
>> during scrub, but hard drives are busy 75% (according to iostat)
>>
>> FreeBSD 10.3-RELEASE amd64 GENERIC
>>
>> Miroslav Lachman
>> _______________________________________________
>> freebsd-fs at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
>
More information about the freebsd-fs
mailing list