With TrueNAS Core being released soon, and the addition of SPECIAL VDEVs we now have the ability to use a dedicated piece of hardware to store our dedupe tables. The Dedupe table in ZFS is stored in RAM, and the more files you attempt to dedupe, the more RAM you are using just to store the metadata necessary to know where the individual blocks are that have been deduped.
In prior versions of the operating system, what would happen when you ran out of room in RAM to store the dedupe table is the ZFS would then put that data on your main pool in the same VDEVs your files/vms/etc are stored…wasting I/O. Now they give you the ability to put that on a dedicated VDEV (must be a mirror, preferably NVME SSDs or Optane).
The problem is that they don’t expose the savings in space in the GUI at all. They factor in the space savings from compression, but not from dedupe. You have to dig into the CLI and run the zpool list command to actually see how much space you are using in reality. This makes it challenging to leverage the space savings gained in your pool, because the GUI doesn’t actually tell you how much space you are using!
If this is something you would be interested in seeing, please upvote my suggestion on the IXSystems Jira