Release of OpenZFS 2.2, the implementation of ZFS for Linux and FreeBSD.

After more than two years of development, the release of OpenZFS 2.2 has been published, enhancing the implementation of the ZFS file system for Linux and FreeBSD. The project gained recognition as 'ZFS on Linux' and was previously limited to developing a module for the Linux kernel, but after the support for FreeBSD was added, it was recognized as the main implementation of OpenZFS and renamed.

OpenZFS has been tested with Linux kernels from 3.10 to 6.5 and all branches of FreeBSD starting from 12.2-RELEASE. The code is distributed under the open-source CDDL license. OpenZFS is already used in FreeBSD and is included in the distributions of Debian, Ubuntu, Gentoo, Sabayon Linux, and ALT Linux. Packages for the new version will soon be prepared for the major Linux distributions, including Debian, Ubuntu, Fedora, and RHEL/CentOS.

OpenZFS provides an implementation of ZFS components related to both the operation of the file system and the functioning of 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). Additionally, the project offers the ability to use ZFS as a backend for the Lustre clustered file system. The project's developments are based on the original ZFS code imported from the OpenSolaris project and enhanced with improvements and fixes from the Illumos community. The project is evolving with the participation of staff from the Lawrence Livermore National Laboratory under a contract with the U.S. Department of Energy.

The code is distributed under the CDDL open-source license, which is incompatible with GPLv2, preventing the integration of OpenZFS into the main branch of the Linux kernel, as mixing code under GPLv2 and CDDL licenses is not permissible. To circumvent this licensing incompatibility, it was decided to distribute the product entirely under the CDDL license as a separately loadable module, which is delivered separately from the kernel. The stability of the OpenZFS codebase is assessed as comparable to other file systems for Linux.

Key Changes:

  • A block cloning mechanism has been added, allowing the creation of a copy of a file or part of it without data duplication, using references to already existing data blocks of the original file in the second copy without actual copying. In case of changes to the original file or its copies, the blocks are copied and changes made to the created copies (copy-on-write mode at the file level). Based on the cloning mechanism, reflink operation has been implemented, which can be used for automatically creating clones in various copy utilities, such as the new versions of /bin/cp in Linux.
  • Support has been added for technologies used for container isolation in Linux, such as the renameat system call, the overlayfs filesystem, user ID mapping when mounting, and namespace delegation for containers.
  • An error log has been implemented for errors detected during checksum verification (scrub) operations. When executing the 'zpool status' command, information about all filesystems, snapshots, and clones affected by the damaged block is output. To attempt a quick recovery of known damaged blocks, the 'zpool scrub -e' command can be used.
  • The ability to use the cryptographic hash function BLAKE3 for checksums has been added, notable for its very high hashing performance (three times faster than Edon-R and significantly faster than sha256 and sha512) while providing reliability at the SHA-3 level.
  • The operation ‘zfs receive -c’ has been implemented, which can be used to recover corrupted data (not metadata) in file systems, snapshots, and clones, when there is a replicated backup previously saved with the ‘zfs send’ command.
  • Support for software setting and reading properties for individual vdev virtual disks has been added.
  • The ability to bind arbitrary user properties to vdev and zpool has been added, similar to user properties for zfs datasets.
  • The implementation of the Adaptive Replacement Cache (ARC) has been improved, enhancing the performance of read operations. ARC now adapts better to high workloads and minimizes the need for manual optimization of settings.
  • Support for hardware acceleration mechanisms for SHA2 checksum computation has been added.
  • The Edon-R checksum implementation has been rewritten and optimized.
  • When using the zstd algorithm for data compression, the determination of situations where compression is futile (data is not compressible) has been accelerated.
  • Improvements have been made to the Prefetch mechanism, speeding up operations under heavy input/output.
  • A series of general optimizations have been made to enhance performance.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster