2

I'm trying to troubleshoot a problem related to metaslab and spacemaps in ZFS on FreeBSD, for which I'd like to have a clear understanding of how these work. Most of the docs make sense. But I keep coming across gangs, and groups, and the explanations for these terms are very hazy and vague. It makes it hard to be sure I know what happens.

To use as a concrete example, suppose I create a pool with two striped 8TB HDDs (non-redundant storage, one vdev= one HDD to keep the example simple), and put a pool and dataset on it. I understand ZFS will initially carve the free capacity up into "about" 200 metaslabs per vdev (about 400 metaslabs total, 30 ~ 40GB each), but after that the picture gets unclear.

As time goes on, and files of varying sizes are added and deleted, how does free space/metaslab management broadly evolve, and where do metaslab groups and "gangs" (whatever these are) come into the picture?

I'm mostly after a "broad/big-ish picture", to orient me and contextualise the terms I don't understand, and see how these all fit together at a quite high level.

Thanks.

Stilez
  • 1,695

0 Answers0