> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss-
> boun...@opensolaris.org] On Behalf Of sensille
> 
> I'm quite sure scrub does not check spares or unused areas of the disks
> (it
> could check if the disks detects any errors there).
> But what about the parity? Obviously it has to be checked, but I can't
> find
> any indications for it in the literature. The man page only states that
> the
> data is being checksummed and only if that fails the redundancy is
> being used.
> Please tell me I'm wrong ;)

If my understanding is correct, a scrub reads and checksums all the used
blocks on all the primary storage devices.  Meaning:  The scrub is not
checking log devices or spares, and I don't think it checks cache devices.
And as you said, it's not reading empty space.

The main reason to use scrub, as opposed to your find command (which has
some serious shortcomings) or even a "zfs send > /dev/null" command (which
has far fewer shortcomings) is:  When you just tell the system to read data,
you're only sure to read one half of redundant data.  You might
coincidentally just read the good side of the mirror, or whatever, and
therefore fail to detect the corrupted data on the other side of the mirror.
You've got to use the scrub.

It is very wise to perform a scrub occasionally, because you can only
correct errors as long as you still have redundancy.  If a device fails, and
degrades redundancy, and then some rarely used block is discovered to be
corrupt during the resilver ... too bad for you.


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to