Hi again folks
Perhaps my Google-fu is weak, or I’m simply not well versed enough in the terminology to find a suitable explanation… So please bear with me?
I created a temporary pool with 24x 4TB HDD’s for testing purposes - 2x 12-wide RAID-Z2 VDEVs
Original usable space prediction was around ~72TB on 1MB record size, but that drops to a reported ~66TB in practice - a bit of fiddling on the online capacity calculator, and some forum trawling, revealed that the deflation calculation is based on 128KB record size, so that’s an ~8.7% ZFS overhead.
Now, while I’ve configured the dataset to 1MB to get me closer to that 72TB, total pool space still reflects as ~66TB.
More searching, found this on github:
Compute the raidz-deflation ratio. Note, we hard-code 128k (1 << 17)
because it is the "typical" blocksize. Even though SPA_MAXBLOCKSIZE
changed, this algorithm can not change, otherwise it would inconsistently
account for existing bp's.
So, then where and how does the real world benefit of 1MB record sizing come about?
-
Does it more efficiently fit “more” data into the reported space? IE, Supposing one now writes 24TB of large files with minimal padding (1/3 of 72TB at 1MB record size) to the pool, would that then reflect as only using 22TB of the reported 66TB capacity?
-
Or, does the total reported pool capacity dynamically adjust, based on the efficiency as you fill the pool?
-
Ooooor… would filling the pool to 60TB (~91% of reported capacity) mean you’re ACTUALLY only filling it to around ~83% capacity?
I just want to ensure that I’m not barking up the wrong tree here…
The setup is going to be 48x 4TB drives in a JBOD enclosure - primarily for cold backup of my media server at home - big files, new ones synced once every few months - nothing fancy… hardly anything gets deleted or altered, ever.
-
4x 11-wide Z3’s VDEVs report space the most accurately up-front, (and have the added benefit of 8x data stripes), but seems wasteful from both parity & utilization angles, netting me 116TB from 44x drives, and forcing 4x to sit idly by as spares… so I’m pondering alternatives…
-
4x 12-wide Z2 VDEVs seem just about spot-on… 144TB on 1MB record size. Probably a tad risky that wide, but it’s not exactly an awful scrub/resilver time on 4TB drives.
-
For that matter, even better - I could just run each 12-wide Z2 VDEV as an individual pool — 4x 36TB pools…
More admin & effort, yes… but I don’t need high I/O for media backups, scrubs/resilvers are quick, and if something ever goes wrong with the JBOD enclosure, I can simply throw 12x drives into an MD1200 shelf, and have immediate access to the data - as opposed to having to transfer all 48x drives over to shelves before the pool can be fired back up. -
3x 16-wide Z3 gets 141TB… statistically safer than 12-wide Z2 according to calculators… And can also run them as 3x 47TB pools.
Buuuuuut, too wide according to most, with odd data stripe sizes, and apparently prone to fragmentation & very long scrub times. Also 16 doesn’t translate easily into transplanting into disk shelves.
What say you, ye TrueNAS faithful?
Thanks in advance.