zfs/raidz: seems like I'm failing with math
Gary Palmer
gpalmer at freebsd.org
Sun Oct 16 18:42:58 UTC 2016
On Sun, Oct 16, 2016 at 09:56:10PM +0500, Eugene M. Zheganin wrote:
> Hi.
>
> FreeBSD 11.0-RC1 r303979, zfs raidz1:
>
> ===Cut===
>
> # zpool status gamestop
> pool: gamestop
> state: ONLINE
> scan: none requested
> config:
>
> NAME STATE READ WRITE CKSUM
> gamestop ONLINE 0 0 0
> raidz1-0 ONLINE 0 0 0
> da0 ONLINE 0 0 0
> da1 ONLINE 0 0 0
> da2 ONLINE 0 0 0
> da3 ONLINE 0 0 0
> da4 ONLINE 0 0 0
> da5 ONLINE 0 0 0
>
> ===Cut===
>
> 6 disks 960 Gbs each:
>
> ===Cut===
>
> # smartctl -a /dev/da0
> smartctl 6.5 2016-05-07 r4318 [FreeBSD 11.0-RC1 amd64] (local build)
> Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
>
> === START OF INFORMATION SECTION ===
> Model Family: Samsung based SSDs
> Device Model: SAMSUNG MZ7KM960HAHP-00005
> Serial Number: S2HTNX0H507466
> LU WWN Device Id: 5 002538 c402bdac1
> Firmware Version: GXM1003Q
> User Capacity: 960 197 124 096 bytes [960 GB]
You're confusing disk manufacturer gigabytes with real (power of two)
gigabytes. The below turns 960 197 124 096 into real gigabytes
% bc
scale = 4
960197124096 / 1024 / 1024 / 1024
894.2532
> Sector Size: 512 bytes logical/physical
>
> [...]
>
> ===Cut===
>
> But:
>
> ===Cut===
>
> # zpool list gamestop
> NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
> gamestop 5,22T 4,38T 861G - 24% 83% 1.00x ONLINE -
>
> ===Cut===
>
> Why 5.22T ? If zpool is displaying raw size, it should be 960 x 6 = 5760
> Gb = 5.65 T. If it's displaying the actual data, then it should be 960 x
> 5 = 4800 Gb = 4.68 T. 5.22 T is neither of these. I'm stuck, please
> explain. :)
Take 6 disks, size calculated above, and turn that into power of two TB:
894.2532 * 6 / 1024
5.2397
Close enough to 5.22, especially after ZFS has some overhead for it's
own data structures
Regards,
Gary
More information about the freebsd-stable
mailing list