Release of OpenZFS 2.4.0, a ZFS implementation for Linux and FreeBSD

After 11 months of development, the release of the OpenZFS 2.4.0 project has been published, which advances the ZFS file system implementation 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 merging with code from FreeBSD, it was recognized as the main implementation of OpenZFS and renamed.

OpenZFS has been tested with Linux kernels from 4.18 to 6.18 and all branches of FreeBSD starting from 13.3. 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, NixOS, and ALT Linux. Packages with the new version will soon be prepared for major Linux distributions, including Debian, Ubuntu, Fedora, and RHEL/CentOS.

OpenZFS provides an implementation of ZFS components related to both file system operation and volume manager functioning. The components implemented include: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume), and ZPL (ZFS POSIX Layer). The project also allows using ZFS as a backend for the Lustre clustered file system. OpenZFS 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 being developed with the participation of staff from the Lawrence Livermore National Laboratory under contract with the U.S. Department of Energy.

The code is distributed under the open CDDL 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 impermissible. To bypass the licensing incompatibility, it was decided to distribute the Linux product entirely under the CDDL license as a separately downloadable module, provided separately from the kernel. The stability of the OpenZFS codebase is considered comparable to other file systems for Linux.

Key Changes:

  • The ability to set default quotas for users, groups, and projects has been implemented. In previous versions, quotas could only be set individually for each user identifier. The new version introduces the ability to set a default value that will apply if a specific user quota has not been set.
  • The ability to revert direct input/output mode (O_DIRECT, Direct I/O) to a lightweight uncached input/output mechanism for requests not aligned to memory page boundaries, which are unsupported in Direct I/O, has been added.
  • A new unified algorithm for rate limiting of write operations and block allocation has been proposed, reducing vdev (Virtual Device) fragmentation by aggregating multiple write operations and using larger contiguous free areas instead of placing results of single write operations into smaller free areas.
  • Encryption performance has increased due to the use of AVX2 instructions in the AES-GCM algorithm implementation. The tests showed an acceleration of up to 80%.
  • It is now allowed to place ZIL blocks (ZFS Intent Log) not only on standard vdevs or on a dedicated SLOG device but also on special vdevs. If the standard vdev is connected to a hard drive and the special vdev to an SSD, this change helps avoid situations where data is written to the SSD while the related ZIL blocks are written to the hard drive, causing unnecessary delays.
  • The property special_small_blocks can now be set for pools (ZVOLs) as well as for file systems, allowing small blocks to be placed on a separate special vdev, such as on an SSD.
  • The rewrite mode 'zfs rewrite -P' has been added, which, when possible, leaves the logical creation time unchanged, allowing differentiation between blocks that have simply been moved to the pool and those that have actually been modified by the user.
  • For the commands 'zpool trim', 'zpool scrub', and 'zpool initialize', the '-a' (—all) option has been implemented, allowing these commands to be executed for all imported pools at once.
  • The command 'zpool scrub -S -E' has been added to perform data checksum verification for the specified time intervals.
  • New optimizations for the deduplication process have been introduced.

Source: opennet.ru

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