After over a year of development, OpenZFS published the release of the project OpenZFS 2.3.0, which focuses on implementing the ZFS file system for Linux and FreeBSD. Originally known as “ZFS on Linux,” the project expanded to include support for FreeBSD and was renamed as the main implementation of OpenZFS. The work of OpenZFS was tested on Linux kernels from 4.18 to 6.12 and all FreeBSD branches from 13.3. The code is distributed under the free CDDL license and is already used in FreeBSD, DEBIAN, UBUNTU, Gentoo, NIXOS, and Alt Linux. The project plans to prepare packages for the main distributions of Linux in the near future, including Debian, Ubuntu, Fedora, and Rhel/Centos.
OpenZFS provides implementations of ZFS components related to the file system and volume manager, such as SPA (Storage Pool Allocator), DMU (Data Management Unit), Zvol (ZFS Embedded Volume), and ZPL (ZFS Posix Layer). It also allows the use of ZFS as a backend for the Lustre cluster file system. The project is based on the original ZFS code imported from the OpenSolaris project and has seen expanded improvements and corrections from the Illumos community. OpenZFS is developed with the involvement of employees from the Livermore National Laboratory under a contract with the US Department of Energy.
The code is distributed under the CDDL license, which is incompatible with GPLV2, preventing the integration of OpenZFS into the main branch of the Linux kernel due to licensing issues. To work around this, the product for Linux is distributed entirely under the CDDL license as a separately loaded module, supplied separately from the kernel. The stability of the OpenZFS code base is considered comparable to other file systems for Linux.
The main changes in OpenZFS 2.3.0 include the ability to add new disks to an existing array (RAIDZ) without stopping work and without creating a new group of drives. This redistribution of excess data with new disks is done automatically. The update also accelerates operations related to data blocks, including optimizations for deduplication tables. To use these optimizations in existing pools, users must enable the “Fast_DEDUP” option.