[OpenIndiana-discuss] Inefficient zvol space usage on 4k drives

Jim Klimov jimklimov at cos.ru
Wed Aug 7 23:50:30 UTC 2013


On 2013-08-07 23:50, Jason Lawrence wrote:
> The 8k blocksize zvol takes up twice the space of the 32k blocksize zvol. As 8k is the default, this must be affecting others...

Yes, I've had similar results on my rig and complained some time ago...
yet the ZFS world moves forward with desiring ashift=12 as the default
(and it may be inevitable ultimately). I think the main problem is that
small userdata blocks involve a larger portion of metadata, which may
come in small blocks which don't fully cover a sector (supposedly they
should be aggregated into up-to-16k clusters, but evidently are not
always so.

I've proposed a scheme to use space on 4k devices with nominally 512b
sectors, where ZFS would do the proper alignment upon write for larger
blocks, and regarding the metadata and other small blocks - it would
co-locate them into single large sectors which are only written into
once (with a bundle of up to 8 small blocks) and are overwritten when
all of these blocks have been eventually de-referenced (or we ran out
of better space on the pool). There are a few corner cases discussed
in more detail, so if interested - go see my posts on zfs-discuss.
I believe this may be trickier to achieve efficiently with raidzN,
without changing its on-disk format at least, and may need a proper
mathematical design or at least an active discussion, but for mirrors
this idea should be fine.

//Jim




More information about the OpenIndiana-discuss mailing list