• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

zfs: default data block checksum/hash?

taroumaru

Weaksauce
2FA
Joined
Dec 22, 2005
Messages
89
Whats the default zfs checksum/hash for the block pointer & uberblock, when a new pool is created? For [user] data blocks its fletcher4. In the results below, the default checksum algo [zfs get checksum] checksum=on & fletcher4 gave similar results, but not exact [hence confusing].

Is there something else going on when checksum=on [default] & it specifically being set to fletcher4 to account for the considerable difference in read speed [even while ignoring the slight difference in write speed]? This gets even more confusing when comparing fletcher2 results to fletcher4!

6 3TB HDD:
write 20.48 GB via dd, dd if=/dev/zero of=/test/dd.tst bs=1024000 count=20000
read 20.48 GB via dd, dd if=/test/dd.tst of=/dev/null bs=1024000


raidz/no parity
Code:
checksum=on [default]
real       32.1 user        0.0 sys        15.3 _20.48 GB in 32.1s = 638.01 MB/s Write
real       32.8 user        0.0 sys        17.3 _20.48 GB in 32.8s = 624.39 MB/s Read
fletcher2
real       29.4 user        0.0 sys        11.9 _20.48 GB in 29.4s = 696.60 MB/s Write
real       27.5 user        0.0 sys        14.9 _20.48 GB in 27.5s = 744.73 MB/s Read
fletcher4
real       32.3 user        0.0 sys        14.3 _20.48 GB in 32.3s = 634.06 MB/s Write
real       28.4 user        0.0 sys        16.9 _20.48 GB in 28.4s = 721.13 MB/s Read
sha256
real     1:22.3 user        0.0 sys        15.6 _20.48 GB in 82.3s = 248.85 MB/s Write
real     1:27.6 user        0.0 sys        12.3 _20.48 GB in 87.6s = 233.79 MB/s Read

raidz1+0/mirror+stripe
Code:
checksum=on [default]
real       54.8 user        0.0 sys        17.9 _20.48 GB in 54.8s = 373.72 MB/s Write
real       39.5 user        0.0 sys        15.5 _20.48 GB in 39.5s = 518.48 MB/s Read
fletcher2
real       50.2 user        0.0 sys        13.2 _20.48 GB in 50.2s = 407.97 MB/s Write
real       43.2 user        0.0 sys        17.1 _20.48 GB in 43.2s = 474.07 MB/s Read
fletcher4
real       57.8 user        0.0 sys        15.3 _20.48 GB in 57.8s = 354.33 MB/s Write
real       37.6 user        0.0 sys        17.9 _20.48 GB in 37.6s = 544.68 MB/s Read
sha256
real     1:29.0 user        0.0 sys        17.4 _20.48 GB in 89.0s = 230.11 MB/s Write
real     1:33.9 user        0.0 sys        12.9 _20.48 GB in 93.9s = 218.10 MB/s Read

raidz1x2 vdev/raid1+stripe
Code:
checksum=on [default]
real       44.2 user        0.0 sys        15.5 _20.48 GB in 44.2s = 463.35 MB/s Write
real     1:29.4 user        0.0 sys        19.6 _20.48 GB in 89.4s = 229.08 MB/s Read
fletcher2
real       46.2 user        0.0 sys        15.3 _20.48 GB in 46.2s = 443.29 MB/s Write
real     1:22.9 user        0.0 sys        19.6 _20.48 GB in 82.9s = 247.04 MB/s Read
fletcher4
real       50.7 user        0.0 sys        14.0 _20.48 GB in 50.7s = 403.94 MB/s Write
real       44.9 user        0.0 sys        18.9 _20.48 GB in 44.9s = 456.12 MB/s Read
sha256
real     1:29.9 user        0.0 sys        13.3 _20.48 GB in 89.9s = 227.81 MB/s Write
real     1:36.3 user        0.0 sys        13.2 _20.48 GB in 96.3s = 212.67 MB/s Read

raidz2
Code:
checksum=on [default]
real       55.0 user        0.0 sys        15.3 _20.48 GB in 55.0s = 372.36 MB/s Write
real       43.3 user        0.0 sys        15.4 _20.48 GB in 43.3s = 472.98 MB/s Read
fletcher2
real       56.1 user        0.0 sys        16.3 _20.48 GB in 56.1s = 365.06 MB/s Write
real       37.7 user        0.0 sys        22.0 _20.48 GB in 37.7s = 543.24 MB/s Read
fletcher4
real       53.5 user        0.0 sys        14.5 _20.48 GB in 53.5s = 382.80 MB/s Write
real       39.3 user        0.0 sys        20.7 _20.48 GB in 39.3s = 521.12 MB/s Read
sha256
real     1:51.2 user        0.0 sys        15.9 _20.48 GB in 111.2s = 184.17 MB/s Write
real     1:32.4 user        0.0 sys        16.3 _20.48 GB in 92.4s = 221.65 MB/s Read
 
Last edited:
What's with the odd blocksize of 0.977MB and square brackets in your sentences?

What is "raidz/no parity" supposed to mean? "raidz1x2 vdev/raid1+stripe"?

What is the setup? Hardware? Virtualized?

In the topic you ask about data block checksums. Your first question in the post is about metadata. It's all confusing.
 
Last edited:
Don't ask me about the weird block size, ask _Gea, he's the programmer of napp-it.

Its easier to type with, they're right next to my pinky finger.

Sorry about that [was posting about 4-5 posts at the same time.] I wanted to know about the block pointers, uberblock & metadata. More specifically, why the default 'checksum=on' & setting fletcher4 explicitly on the zfs pool gives very dissimilar results. Not to mention the difference between fletcher2 & fletcher4.

Hardware setup has no relations to the question above; anyway if you still must know the specs:

ECS G31T-M [an old board]
Intel Pentium E5500 [should be close to the exact model number & its a dual core!]
4GB of ram [not ECC!]
Intel GT/PT desktop Gig E card
IBM 1015 [flashed to LSI 9211] in I/T mode
SM SC847E16-R1400LPB chassis
6 3TB Seagates, 3 Barracuda XT & 3 1TB/platter [ones that came out a month or 2 ago]
SOL 11 [text mode install & runs on bare metal, so no virtualization]
 
Last edited:
Back
Top