VDO – Virtual Data Optimizer RHEL 8 De-Duplication capable

Virtual Data optimizer – manage kernel VDO devices and related configuration information.  VDO in RHEL 8 will provide much data savings.

VDO config is written in /etc/vdoconf.yml

  1. 1:10 ratio for VDO logical size Virtual machines, containers
  2. 1:3 for object storage
  3. Its Virtual disk optimizer
  4. Thin-provisioned storage
  5. Provides ultimate de-duplication and compression for storage space savings
  6. Best for cloud storage / container environments
  7. UDS index runs inside the kernel as the uds kernel module

VDO – Virtual Data Optimizer RHEL 8

# yum install vd0 kmod-kvdo

# vdo create --name=vdtest --device=/dev/sdb --vdoLogicalSize=200G
Creating VDO vdtest
Starting VDO vdtest
Starting compression on VDO vdtest
VDO instance 0 volume is ready at /dev/mapper/vdtest
# mkfs.xfs -K /dev/mapper/vdtest
meta-data=/dev/mapper/vdtest isize=512 agcount=4, agsize=13107200 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=52428800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=25600, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mkfs.ext4 -E nodiscard /dev/mapper/vdo-name
# udevadm settle

In Case of EXT4: /dev/mapper/vdotest /media ext4 defaults,_netdev,x-systemd.device-timeout=0,x-systemd.requires=vdo.service 0 0

Monitoring VDO FS

# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/vdtest 20.0G 4.0G 16.0G 20% 99%

Discard unused blocks regularly by starting below service

# systemctl enable --now fstrim.timer
Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /usr/lib/systemd/system/fstrim.timer.

To start & stop particular VDO volumes

vdo start --name=vdotest
vdo stop --name=vdotest

To activate/De-activate VDO volumes

vdo activate --name=vdotest
vdo deactivate --name=vdotest

Check status of vdo

vdo status --name=vdotest

Enable / Disable De-duplication

vdo enableDeduplication --name=vdotest
vdo disableDeduplication --name=vdotest


vdo enableCompression --name=vdotest
vdo disableCompression --name=vdotest

To increase logical size of the VDO volume

# vdo growLogical --name=vdotest --vdoLogicalSize=new-logical-size

To increase Physical size of the VD0 volume

vdo growPhysical --name=vdotest

Remove VDO volumes

umount -f /dev/mapper/vdotest
udevadm settle
dmsetup remove vdotest
vdo remove --force --name=vdotest

run discard unused blocks manually

fstrim /media

Related Articles

Create & remove AWS keypair using ansible playbook

How hackers steal passwords

Monitoring web site URL using Nagios

More Linux tutorial

Thanks for your wonderful Support and Encouragement


My Name is ARK. Expert in grasping any new technology, Interested in Sharing the knowledge. Learn more & Earn More

Leave a Reply

Your email address will not be published.