ZFS regimen: scrub, scrub, scrub and scrub again.
    Wojciech Puchar 
    wojtek at wojtek.tensor.gdynia.pl
       
    Mon Jan 21 11:12:56 UTC 2013
    
    
  
> Please don't misinterpret this post: ZFS's ability to recover from fairly
> catastrophic failures is pretty stellar, but I'm wondering if there can be
from my testing it is exactly opposite. You have to see a difference 
between marketing and reality.
> a little room for improvement.
>
> I use RAID pretty much everywhere.  I don't like to loose data and disks
> are cheap.  I have a fair amount of experience with all flavors ... and ZFS
just like me. And because i want performance and - as you described - 
disks are cheap - i use RAID-1 (gmirror).
> has become a go-to filesystem for most of my applications.
My applications doesn't tolerate low performance, overcomplexity and 
high risk of data loss.
That's why i use properly tuned UFS, gmirror, and prefer not to use 
gstripe but have multiple filesystems
> One of the best recommendations I can give for ZFS is it's
> crash-recoverability.
Which is marketing, not truth. If you want bullet-proof recoverability, 
UFS beats everything i've ever seen.
If you want FAST crash recovery, use softupdates+journal, available in 
FreeBSD 9.
>  As a counter example, if you have most hardware RAID
> going or a software whole-disk raid, after a crash it will generally
> declare one disk as good and the other disk as "to be repaired" ... after
> which a full surface scan of the affected disks --- reading one and writing
> the other --- ensues.
true. gmirror do it, but you can defer mirror rebuild, which i use.
I have a script that send me a mail when gmirror is degraded, and i - 
after finding out the cause of problem, and possibly replacing disk - run 
rebuild after work hours, so no slowdown is experienced.
> ZFS is smart on this point: it will recover on reboot with a minimum amount
> of fuss.  Even if you dislodge a drive ... so that it's missing the last
> 'n' transactions, ZFS seems to figure this out (which I thought was extra
> cudos).
Yes this is marketing. practice is somehow different. as you discovered 
yourself.
>
> MY PROBLEM comes from problems that scrub can fix.
>
> Let's talk, in specific, about my home array.  It has 9x 1.5T and 8x 2T in
> a RAID-Z configuration (2 sets, obviously).
While RAID-Z is already a king of bad performance, i assume 
you mean two POOLS, not 2 RAID-Z sets. if you mixed 2 different RAID-Z pools you would 
spread load unevenly and make performance even worse.
>
> A full scrub of my drives weighs in at 36 hours or so.
which is funny as ZFS is marketed as doing this efficient (like checking 
only used space).
dd if=/dev/disk of=/dev/null bs=2m would take no more than a few hours. 
and you may do all in parallel.
>        vr2/cvs:<0x1c1>
>
> Now ... this is just an example: after each scrub, the hex number was
seems like scrub simply not do it's work right.
> before the old error was cleared.  Then this new error gets similarly
> cleared by the next scrub.  It seems that if the scrub returned to this new
> found error after fixing the "known" errors, this could save whole new
> scrub runs from being required.
Even better - use UFS.
For both bullet proof recoverability and performance.
If you need help in tuning you may ask me privately.
    
    
More information about the freebsd-fs
mailing list