[zfs-discuss] Checksum question.

Richard Elling
Wed, 02 Jul 2008 13:28:25 -0000

Brian McBride wrote:
> I have some questions from a customer about zfs checksums.
> Could anyone answer some of these? Thanks.
>
> Brian
>
> Customer:
>  I would like to know more about zfs''s checksum feature.
I''m guessing
> it is something that is applied to the data and not the disks (as in
> raid-5).
>

RAID-5 does not do checksumming.  It does a parity calculation,
but many RAID-5 implementations do not actually check the
parity unless a disk reports an error. ZFS always checks the
checksum, unless you disable it.

At this point, I usually explain how people find faults in
their SAN because ZFS''s checksum works end-to-end.

>  For performance reasons, I turned off checksum on our zfs filesystem
> (along with atime updates).  Because of a concern for possible data
> corruption (silent data corruption), I''m interested in turning
checksum
> back on.  When I do so, will it create checksums for existing files or
> will they need to be rewritten?  And can you tell me the overhead
> involved with having checksum active (CPU time, additional space)?
>
>

To put this in perspective, in general, the time it takes to read the data
from disk is much larger than the time required to calculate the
checksum.  But, you can also use different checksum algorithms, with
varying strength and computational requirements.  By default, ZFS
uses a Fletcher-2 algorithm, but you can enable Fletcher-4 or SHA-256.
If you are planning to characterize the computational cost of checksums,
please add these to your test plan and report back to us :-)
 -- richard