OpenZFS 2.0 released: unified ZFS for Linux and BSD
OpenZFS is the open source implementation of ZFS the popular fault-resilient filesystem. ZFS is the filesystem used by TrueNAS (formerly FreeNAS). With release 2.0 OpenZFS reaches an important milestone: both Linux and BSD now share the same codebase. While ZFS has always been mainly a BSD thing with sporadic contact with the Linux world, its inception is now complete.
What’s new in OpenZFS 2.0
While a complete list of features can be found in the announcement, here’s a list of the few major features:
- Sequential resilver – The sequential resilver feature can rebuild a failed mirror vdev in a fraction of the time it would take a traditional healing resilver. Full redundancy is restored as quickly as possible and then the pool is automatically scrubbed to verify all of the data checksums. #10349
- Persistent L2ARC – This feature makes the L2ARC cache device persistent across reboots thereby eliminating the usual cache warmup time normally needed after importing your pool. #9582
- ZStandard compression – ZStandard is a modern, high performance, general compression algorithm which provides similar or better compression levels to GZIP, but with much better performance. ZStandard provides a large selection of compression levels to allow a storage administrator to select the preferred performance/compression trade-off. #10278
zfs send/receive– Redacted streams allow users to send subsets of their data to a target system. This allows users to save space by not replicating unimportant data within a given dataset or to selectively exclude sensitive information. #7958
What does it mean for TrueNAS/BSD users?
Most of ZFS features were already enabled on BSD, hence this release won’t be as exciting as it will be for Linux users. Aside from the major features highlighted above, this milestone will allow developers to share much of the codebase between platforms, accelerating development. Lastly, the platform interoperability will increase.
What does it mean for Linux users?
Notice that if you know the project by the name ZFS On Linuz (ZoL), that name is being replaced by OpenZFS 2.0.
If you’ve ever switched a ZFS pool from FreeNAS to Linux you might have encountered a awkward outcome: it isn’t always possible. Pools come with different versions and features enabled, once you have upgraded to a later version it becomes difficult to import the pool on a different system that has a lower ZFS version. With OpenZFS 2.0 this will change drastically. Last but not least important, Linux becomes a first-class citizen in the ZFS scene.
OpenZFS 2.0 is available for FreeBSD 12 from ports, while it will be the default for FreeBSD 13. Linux distributions will slowly be able to benefit this new release. OpenZFS 2.0 is built as a DKMS module, hence it can be built for kernels between 3.10-5.9 according to the developers, however most users should wait for the package from their distribution as a wrong procedure might hinder ZFS true purpose: protect data.