The release of the new version of the OpenZFS 2.1 project was announced and in this new version several improvements are presented of which the most important change in this version is the added support for dRAID.
For those who are unfamiliar with OpenZFS, you should know that this provides an implementation of the components of ZFS related to both the file system and the volume manager. In particular, the following components are implemented: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) and ZPL (ZFS POSIX Layer).
In addition, the project oIt offers the ability to use ZFS as a backend for the Luster clustered file system. Project work is based on original ZFS code imported from the OpenSolaris project and enhanced with enhancements and fixes from the Illumos community. The project is being developed with the participation of personnel from the Livermore National Laboratory under contract with the United States Department of Energy.
The code is distributed under the free CDDL license, which is incompatible with GPLv2, which does not allow to integrate OpenZFS into the upstream Linux kernel, since it is not allowed to mix code under GPLv2 and CDDL licenses. To address this licensing incompatibility, it was decided to distribute the entire product under the CDDL license as a separate downloadable module that ships separately from the kernel. The stability of the OpenZFS codebase is considered comparable to other FS for Linux.
Main new features of OpenZFS 2.1
In this new version the main novelty that is presented is the support for dRAID technology (Distributed Spare RAID), with which you can create groups using a new distributed variant of RAIDZ that enables dramatically faster recovery times using integrated hot spares. DRAID virtual storage consists of several internal RAIDZ groups, each containing storage devices and devices for storing parity blocks. These groups are scattered across all drives to make optimal use of available disk bandwidth. Instead of a separate hot-recovery disk, dRAID uses the concept of logically allocating hot-recovery blocks across all disks in an array.
Another of the changes that stands out is the compatibility property, as it now allows administrators to specify the set of features that should be enabled on the group. This granular control makes it easy to create portable groups and maintains group compatibility across OpenZFS versions and across platforms.
In addition, we can also find that provided the ability to save statistics on group performance in the InfluxDB database format optimized for storing, analyzing, and manipulating data in the form of time series (portions of parameter values at specified time intervals). To export to InfluxDB format, the command "zpool_influxdb" is offered.
As well as the property of «compatibility, zpool create -u that disables the automatic mounts,« zpool history -i »- reflection in the history of operations of the duration of the execution of each command,« zpool status »in the which added a warning about disks with suboptimal block size and "zfs rename -u" that renames the filesystem without remounting it.
Of the other changes that stand out of this new version:
- Improved interactive I / O performance.
- Improved prefetch performance for parallel data access workloads.
- Improved scalability by reducing lock contention.
- Reduction of the importation time of the pool.
- Extensive modernization of man pages
- Reduced fragmentation of ZIL blocks.
- Improved performance of recursive operations.
- Added automated ABI validation for public library interfaces
- Improved memory management.
- Kernel module loading has been sped up.
Finally if you are interested in knowing more about it, you can check the details in the following link.