OpenZFS 2.3 is shaping up to be a significant update, with two major features stealing the spotlight: RAIDZ Expansion and Fast Dedup. Let's dive into what these mean for ZFS users and why they're causing excitement in the storage community.

RAIDZ Expansion

RAIDZ Expansion is addressing a long-standing limitation in ZFS. Previously, if you wanted to expand your storage, you had to add entire new RAIDZ groups. This was fine for large setups, but for smaller systems, it often meant doubling your disk count - not always practical or cost-effective. With RAIDZ Expansion, you can now add disks to an existing RAIDZ group one at a time. This is done using the zpool attach command, and the best part is that your pool stays online and your data remains protected throughout the process.

If you've ever had to interrupt an expansion process (maybe due to a power outage or system reboot), you'll be glad to know that RAIDZ Expansion can pick up where it left off. You can even expand multiple times if needed. However, it's worth noting that while new data will be written with the new parity ratio, existing data keeps its original ratio. This means your actual space gains might be slightly less than you'd expect at first glance.

Fast Dedup

Moving on to Fast Dedup, this feature is breathing new life into ZFS's deduplication capabilities. In the past, dedup in ZFS was often more trouble than it was worth unless you had RAM to spare - and lots of it. Fast Dedup aims to change this by keeping the metadata size in check, allowing it to fit in RAM or flash storage. They've also redesigned how this metadata is handled, making updates quicker and allowing for more efficient removal of non-deduplicated blocks.

The OpenZFS team claims that Fast Dedup can be up to 10 times faster on larger systems when configured correctly. This could make deduplication a viable option for a much wider range of use cases, potentially leading to significant space savings without the previous performance hit.

Other improvments

But RAIDZ Expansion and Fast Dedup aren't the only improvements coming in OpenZFS 2.3. There's also Direct IO, which allows bypassing the Adaptive Replacement Cache (ARC) for reads and writes. This can be particularly beneficial for systems using NVMe storage or in certain workloads where skipping the cache actually improves efficiency.

For those of you who like long file names (looking at you, data hoarders), you'll be pleased to know that OpenZFS 2.3 now supports names up to 1023 characters long. The update also expands OS compatibility, working with Linux kernels from 4.18 all the way up to 6.11, as well as FreeBSD 13.3 and later.
As with any major software update, OpenZFS 2.3 includes a slew of bug fixes and performance improvements across the board. While these might not be as flashy as the headline features, they're crucial for the overall stability and reliability of the file system.

Now, before you get too excited and start planning your upgrade, it's important to note that OpenZFS 2.3 is still in the release candidate stage. RC1 and RC2 are out for testing, but it's expected to take most of the next year for the release to fully mature and reach production-ready status.

TrueNAS Users

For those of you using TrueNAS, the integration timeline looks like this: SCALE 23.10 is currently using OpenZFS 2.2, while CORE 13.1 and Enterprise appliances got 2.2 in early 2024. As for 2.3 features, you might see them popping up in SCALE nightlies and betas around late-2024.

Proxmox Users

Proxmox currently ships with OpenZFS 2.2 but we can expect the adoption to 2.3 to be done soon after upstream release.

Release Date

It is currently unknown when OpenZFS 2.3 will be released, but you can closely watch the releases on GitHub (https://github.com/openzfs/zfs/releases) and watch the annoucments of your software or mailing lists.

Conclusion

In conclusion, OpenZFS 2.3 is bringing some substantial improvements to the table. Whether you're managing a small home server or a large enterprise setup, these new features and enhancements are likely to make your life easier and your storage more efficient. Just remember, good things come to those who wait - and in the world of stable, production-ready file systems, patience is indeed a virtue.