If you experience any difficulty in accessing content on our website, please contact us at 1-866-333-8917 or email us at support@chicagovps.net and we will make every effort to assist you.

By
May 15, 2024

Release of Linux 6.9: Features the New Virtual Data Optimizer

 

${lead}

${lead}

The new Linux kernel integrates the Virtual Data Optimizer (VDO) and promises increased throughput for FUSE file systems.

(Bild: heise online)

Linus Torvalds unveiled Linux 6.9 in the early hours of Monday, following Sunday night. The latest version of the kernel, enhanced by VDO, boasts increased disk space savings and boosted FUSE file systems performance. Additionally, the kernel team is steadily eliminating outdated and unusable file systems.

The “Virtual Data Optimizer” (VDO) functions as a device mapper. It positions itself between the actual storage medium and the file system, creating a virtual block device for the file system akin to a hard disk, SSD, or SAN. In essence, VDO’s virtual devices resemble the virtual volumes from the Logical Volume Manager (LVM).

VDO has the potential to decrease storage space necessities through “deduplication”. Instead of repeatedly writing identical data to the storage medium, it identifies block or data record duplicates and unifies them. This is achieved by generating virtual block addresses that are relayed to storage users. Internally, these are grouped into a physical block (shared block) on the storage appliance.

Whenever a write access is carried out on this shared block, VDO forms a new physical block. The write virtual block address now points to the new physical block, while all other virtual blocks remain on the old physical block. It is essentially a “copy on write”, but functioning as a device mapper rather than a file system feature.

VDO provides deduplication, along with an option for compressing the base storage medium. It compresses blocks that are unique and not shared, by default. For compression, the LZ4 algorithm is applied.

Compression suits file formats best that don’t exhibit their own block-level redundancy. For physical volumes of databases and file system logs, VDO compression tends to be irrelevant or even counterproductive. Yet, for regular data on file systems, compression, coupled with deduplication, aids in reducing storage needs.

Owing to “zero block elimination”, VDO only deals with blocks containing real data. Blocks consisting solely of zeros aren’t really stored by VDO, so they don’t consume any memory.

Even prior to its inclusion in the mainline kernel, VDO was employed in production systems. Permabit Technology initially developed VDO in 2009, and it was brought into play for production systems in 2013. With Permabit’s acquisition by Red Hat in 2013, the formerly proprietary software was open-sourced and carved a permanent spot in Red Hat’s operating systems, most notably the RHEL enterprise distribution. With Linux 6.9, the rigorously tested VDO is now a full-fledged component of the mainline kernel.

The new kernel discards the old ntfs driver and adopts the superior ntfs3. Linux 5.15 has implemented the “ntfs3” driver by Paragon for the Windows file system which accommodates NTFS 3.1, hence much more compatible with Windows as compared to the almost outdated driver.

The old ntfs driver was missing several features and its basic write access capabilities could create a few unpleasing shocks. Therefore, most distributions have already swapped to the FUSE driver (Filesystem in Userspace) ntfs-3g. Just to ensure the operations of mounts with nfts, ntfs will act as an alias to ntfs3 in Linux 6.9. This implies no changes are required for those still using NTFS file systems with nfts, for example, an entry in /etc/fstab. The change in kernel means ntfs3 will automatically handle the file system. This alias bears a resemblance to ext3, which also acts as an alias to ext4.

The old hand among file systems, ext2, is marked as “deprecated” (outdated) in this new kernel. This is essential because ext2 fails to handle data after January 19, 2038, when the 32-bit Unix time will overflow and reset to January 1, 1970 without any actions. While the ext2 driver can still be leveraged, the kernel verifies its usage with a warning about the impending date issue. Alternatively, ext2 file systems can be mounted with the ext4 driver.

The recommended advice is to steer clear of ext2 file systems under ideal scenarios. This suggestion will likely ensue more work for systems that have kept themselves up-to-date over the years. Being a common relic for /boot, ext2 provides system administrators with ample time till 2038. For ARM64 systems, this is an exception. The kernel team will remove ext2 and the redundant ext3 altogether. Such systems will have to mount these with the ext4 driver in the future. No manual intervention is demanded for ext3 due to its aforementioned alias to ext4.

FUSE (Filesystem in Userspace) offers the capability to interpret file systems via userspace rather than depending on a kernel module. It functions via a server based in userspace that represents the tangible file system alongside its data structures and metadata, utilizing the FUSE framework supplied by Linux to access the necessary privileged hardware.

Previously, the migration of all FUSE interactions between the kernel and the server was managed by the corresponding server, which could potentially interrupt operations and reduce performance. With the introduction of the Linux 6.9, the inaugural “FUSE passthrough” was presented, forwarding I/O accesses directly to the kernel once the related file is launched, eliminating the need for a mediatory server.

To utilize this function, the server of the specific FUSE file system must be compatible and must have the CAP_SYS_ADMIN enabled. Subsequent FUSE-Passthrough versions are intended to function without requiring this privilege.

The NFSv4 provides system admins with the capability to revert the status of the opened and locked files. Concurrently, developments are being made to the XFS journaling file system to enable users to check and repair the file system whilst it’s mounted, although this feature is yet to be provided in Linux 6.9.

Rust can now also be utilized on 64-bit ARM systems for writing kernel modules. The LPA2 mode for setting 52 bits for virtual addresses has also arrived in the kernel.

A kernel can now also be patched live on the Chinese LoongArch architecture. The “ORC Stack Unwinder” is also available on LoongArch.

On IBM’s S/390 mainframe architecture, the kernel had long equated the virtual address with the physical address. In fact, the values were identical. Rather unusual for the mainframe environment, this led to considerable inaccuracy. Whether the value of the virtual or the physical address was used, it worked even when they were mixed up. There are now efforts to separate the kernel space from the user space on S/390. This can only work by keeping virtual and physical addresses cleanly separate. The new kernel therefore introduces some new types to mark physical addresses. The aim is to use tools to identify incorrectly used addresses and the corresponding code.

Linux 6.9 is a consistent maintenance release that primarily carries out clean-up work. VDO is new, but mainly outside the Red Hat world. The FUSE passthrough gives hope for more performance and throughput in the userspace file systems.

The new Linux kernel is available for download at kernel.org. All changes can be found in the detailed kernel changelog.

(dmk)


ChicagoVPS is your gateway to unparalleled hosting solutions. Our state-of-the-art datacenters and powerful network ensures lightning-fast speeds and uninterrupted connectivity for your websites and applications. Whether you’re a startup looking for scalable resources or an enterprise in need of enterprise-grade hosting, our range of plans and customizable solutions guarantee a perfect fit. Trust in ChicagoVPS to deliver excellence, combining unmatched reliability and top-tier support.

For Inquiries or to receive a personalized quote, please reach out to us through our contact form here or email us at sales@chicagovps.net.

Subscribe Email

Top