Release ZFSonLinux 0.8.0

It took the developers of ZFS on Linux (ZoL for short) about two years and 5 RC releases to release an extremely significant release - ZFS-0.8.0.

New opportunities:

  • "Native" encryption for both filesystems and partitions. The default algorithm is aes-256-ccm. The keys for the dataset are controlled using the "zfs load-key" command and related subcommands.
  • Encryption for zfs send/receive. Allows you to store backups on untrusted services without the possibility of compromise.
  • Removing a device from the pool via the "zpool remove" command. All data is copied in the background to the remaining top-level devices, and the pool capacity is reduced accordingly.
  • zpool checkpoint subcommand allows you to save the entire state of the pool and, if desired, return back to this exact state. This can be thought of as an extended snapshot of the pool. This is useful when performing complex administrative actions that are otherwise irreversible (e.g. enabling a new feature, destroying a dataset, and so on)
  • TRIM for pool devices. Enables more efficient use of SSDs and prevents degradation of their performance and/or lifetime. You can trim both with a separate command β€œzpool trim”, and enable an analogue of the discard option - a new pool property β€œautotrim”
  • Pool initialization. The "zpool initialize" subcommand writes its pattern to all unallocated space. This fixes the first access performance hit that may exist in some virtualized storages (eg VMware VMDK).
  • Support for project and quota accounting. This feature adds project usage and quota accounting to the existing space and quota accounting functions. Project quotas add an extra dimension to traditional user/group quotas. The "zfs project" and "zfs projectspace" subcommands have been added to manage projects, set quota limits, and report usage.
  • Channel programs. The "zpool program" subcommand allows you to use LUA scripts to perform administrative actions. Scripts run in a sandbox with time and memory limits.
  • pyzfs. A new python library to provide a stable interface for ZFS programmatic administration. This wrapper provides one-to-one mapping for the libzfs_core API functions, but the signatures and types are more native to the Python dialect.
  • Compatibility with Python3. "arcstat", "arcsummary", and "dbufstat" utilities have been updated for Python3 compatibility
  • Direct IO. Added support for using direct output (O_DIRECT).

Also accelerated scrub/resilver/list/get subcommands, added the ability to output metadata to a separate device (for example, a low-capacity high-performance SSD), increased ZIL performance due to caching and optimization, added support for hardware accelerated SHA256 checksums and AES encryption using Intel QAT (Quick Assist Technology).

Supported Linux kernels: 2.6.32 - 5.1 (on kernels 5.0 and higher, SIMD acceleration is not yet supported)

Full List of changes

The default module parameter values ​​are chosen to provide optimal load for most workloads and configurations. For a complete list of options - man 5 zfs-module-parameters

Source: linux.org.ru

Add a comment