The OpenZFS project reached 2.0 milestone today, a major release that renames the open-source ZFS implementation for Linux and BSD platforms and introduces numerous new features and improvements.
The biggest change is the rename of the project from ZFS on Linux to OpenZFS, which actually sounds really good and makes the project easily discovered by anyone who wants to an advanced file system and volume manager on their GNU/Linux or FreeBSD operating systems.
The second biggest change of the OpenZFS 2.0 release is the fact that Linux and FreeBSD platforms are now supported from the same repository, which means that both camps are now getting the same features at the same time. On GNU Linux, OpenZFS supports kernels from Linux 3.10 to Linux 5.9, while FreeBSD is supported from version 12 onwards.
And now for the highlights of this release, which introduces support for the ZStandard (Zstd) compression, persistent L2ARC cache device across reboots, sequential resilver for rebuilding a failed mirror vdev much faster than the traditional healing resilver, and redacted
zfs send/receive commands to save space.
OpenZFS 2.0 also improves the scalability of the
zfs share command, enables the systemd zfs-mount-generator by default on Linux systems, adds the
fallocate(mode-0/2) compatibility to preallocate space, improves write performance for heavily fragmented pools, improves bootloader support, and optimizes the performance of the AES-GCM encryption.
Furthermore, the SIMD mechanism received some more optimizations and OpenZFS now provides more efficient ARC and memory management. The
zfs destroy command now provides faster clone deletion and background freeing, and a PAM module is now available for automatically loading ZFS encryption keys for home datasets.
Among other noteworthy changes, the zfs and zpool man pages have been reorganized by splitting out each subcommand in to its own page, and more relevant and useful ZED syslog entries were added. Also, the output of the
zpool status command can now be colorized.
This release also introduces support for inheriting and setting user properties in channel programs. Of course, there’s also numerous changes to the
zpool/zfs commands, which you can read about in the GitHub announcement page, from where you can also download the source tarball.
Last updated 5 months ago