Spacemap v2 clarification?

Stilez

Guru
Joined
Apr 8, 2016
Messages
529
I'm looking for additional info on the new "spacemap v2" pool feature in 11.3-RELEASE.

I understand it allows longer entries, is backwards compatible, and makes for more efficient free space handling, but I need some better technical detail of what to expect from it. My questions:

  1. Is spacemap v2 the same as log spacemap, or just a step towards it?
  2. Does spacemap v2 make any existing spacemap optimisations less relevant? (I'm using a larger spacemap block size, 1000 instead of 200 metaslabs per 8 TB vdev to keep metaslab size sensible, and prefetching spacemaps at boot)
  3. What might I notice as practical implications on pool efficiency if enabled
  4. Do I need to rebuild my pool to force use of spacemap v2 for all space allocation?
  5. Is it ready for production?

Any help, appreciated!
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
1. No. They are orthogonal. Log spacemap feature will come in FreeNAS 12.
2. Not any, but on large new/empty vdevs it should make spacemap to take much less space and so some optimizations may be less important. But once pool get fragmented the difference will likely disappear.
3. On large devices with large sequential free chunks faster spacemap reads and writes.
4. No. All new spacemap writes will be in the new format, so pool will migrate to it gradually with time.
5. It is in FreeBSD head since 2018-07-30 and nobody complained. It is too simple to be not ready.

To summarize: spacemap_v2 is dead simple, it makes sense, but I would not expect from it dramatic benefits.
 

Stilez

Guru
Joined
Apr 8, 2016
Messages
529
Thanks - perfect answer!

On an aside, FreeNAS 12 sounds huge for ZFS (ZoL/ZoF enhancements, log spacemap, all the goodies!!). Can't wait!
 
Top