getting to 4K disk blocks in ZFS

Don Lewis truckman at FreeBSD.org
Mon Oct 13 20:47:27 UTC 2014


On 13 Oct, Steven Hartland wrote:
> ----- Original Message ----- 
> From: "Matthew D. Fuller" <fullermd at over-yonder.net>
> 
> 
>> On Mon, Oct 13, 2014 at 11:48:27AM -0700 I heard the voice of
>> Darren Pilgrim, and lo! it spake thus:
>>> 
>>> If the default is 4k and (for the limited time they're still common)
>>> you use true 512b disks, you can waste space.  Sure, but how much
>>> space?
>> 
>> The median file in /usr/ports is 408 bytes.  Over 90% of the files are
>> under 2k, which means the wastage for them is over 100% (before
>> counting what gain compression might get).  A little offhand mathery
>> says it's about 78% extra overhead on the whole.
>> 
>> And that includes the almost hundred megs (over 22% of the total size
>> of the FS) for the INDEX.db, plus the ~90 megs of the flat INDEX files
>> (another 20%).  If you pull those out, the overhead is 130%.
>> 
>> 
>> (To be sure, relatively few people have ports trees eating most of
>> their space, but still; it's pretty pathological.  I for one did
>> decide some years back to always force 4k on any new FSen to make
>> future life simpler, accepting the bloat, but it's there.)
> 
> And thats before you add the overhead if your running RAIDZ...
> 
> A good read on this is
> http://blog.delphix.com/matt/2014/06/06/zfs-stripe-width/

This is a timely subject.  I'm planning on moving my Cyrus imap mail
spool from a 4K/1K UFS filesystem to a three drive raidz1.  It looks
like the UFS fragmentation overhead is about 2.4%.  ZFS ashift=12
increases that to about 17%.  Combine that with raidz and now the
overhead is about 40%.  Ouch!



More information about the freebsd-stable mailing list