8.1-RELEASE: ZFS data errors

Ivan Voras ivoras at freebsd.org
Wed Nov 10 11:03:18 UTC 2010


On 11/09/10 18:42, Mike Carlson wrote:

>>      write# gstripe label -v -s 16384  data /dev/da2 /dev/da3 /dev/da4
>>      /dev/da5 /dev/da6 /dev/da7 /dev/da8

>>      write# df -h
>>      Filesystem            Size    Used   Avail Capacity  Mounted on
>>      /dev/da0s1a           1.7T     22G    1.6T     1%    /
>>      devfs                 1.0K    1.0K      0B   100%    /dev
>>      /dev/stripe/data      126T    4.0K    116T     0%    /mnt

>>      write# fsck /mnt
>>      fsck: Could not determine filesystem type
>>      write# fsck_ufs  /mnt
>>      ** /dev/stripe/data (NO WRITE)
>>      ** Last Mounted on /mnt
>>      ** Phase 1 - Check Blocks and Sizes
>>      Segmentation fault

>> So, the data appears to be okay, I wanted to run through a FSCK just to
>> do it but that seg faulted. Otherwise, that data looks good.

Hmm, probably it tried to allocate a gazillion internal structures to
check it and didn't take no for an answer.

>> Question, why did you recommend using a smaller stripe size? Is that to
>> ensure a sample 1GB test file gets written across ALL disk members?

Yes, it's the surest way since MAXPHYS=128 KiB / 8 = 16 KiB.

Well, as far as I'm concerned this probably shows that there isn't
something wrong about hardware or GEOM, though more testing, like
running a couple of bonnie++ rounds on the UFS on the stripe volume for
a few hours, would probably be better.

Btw. what bandwidth do you get from this combination (gstripe + UFS)?

> Oh, I almost forgot, here is the ZFS version of that gstripe array:
> 
>    write# zpool create test01 /dev/stripe/data

>    write# zpool scrub
>    write# zpool status
>       pool: test01
>      state: ONLINE
>      scrub: scrub completed after 0h0m with 0 errors on Tue Nov  9
>    09:41:34 2010
>    config:
> 
>         NAME           STATE     READ WRITE CKSUM
>         test01         ONLINE       0     0     0
>           stripe/data  ONLINE       0     0     0

"scrub" verifies only written data, not the whole file system space
(that's why it finishes so fast), so it isn't really doing any load on
the array, but I agree that it looks more and more like there really is
an issue in ZFS.




More information about the freebsd-fs mailing list