Bookmark this page

Compressing and Deduplicating Storage with VDO

Objectives

After completing this section, students should be able to describe new storage driver enhancements that include run time compression and deduplication.

Virtual Data Optimizer

RHEL 8 includes the virtual data optimizer (VDO) driver, which optimizes the data footprint on block devices. VDO includes two utilities, vdo to manage and configure VDO volumes, and vdostats to display the usage and block I/O for a VDO volume.

Reducing Data Footprint with VDO

  • Virtual data optimizer (VDO) is a Linux device mapper driver to reduces disk space usage on block devices, and minimize replication bandwidth.

  • VDO includes two kernel modules, the kvdo module to control data compression, and the uds module for deduplication.

  • VDO supports both inline data deduplication and compression.

  • Persistent VDO mounts in /etc/fstab require using the x-systemd.requires=vdo.service mount option.

Figure 5.4: VDO-based virtual machines

Virtual Data Optimization Phases

  • VDO reduces the data footprint on storage in three phases: zero-block elimination, deduplication of redundant blocks, and data compression.

  • VDO removes blocks which only include zeros, and keeps their metadata.

  • The universal deduplication service (UDS) kernel module reviews the available VDO metadata to detect duplicated blocks. If a duplicated block is found, this block points to the metadata of the already available block.

  • When done with zero-block elimination and deduplication, the kvdo kernel module compresses blocks using LZ4 compression and groups them on 4 KB blocks.

Structure of a VDO volume

  • A VDO volume contains two parts: UDS and VDO

  • The UDS part includes the name and location of each block to support the block deduplication

  • The VDO part includes the VDO volume data and metadata

Figure 5.5: Structure of a VDO volume

References

For more information, refer to the Deploying VDO chapter in the Red Hat Enterprise Linux 8 Deduplicating and Compressing Storage Guide at https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deduplicating_and_compressing_storage/deploying-vdo_deduplicating-and-compressing-storage

Introducing Virtual Data Optimizer

Revision: rh354-8.0-0e36520