In the previous blog, we talked about the concepts behind virtual data optimizer (VDO) and how to configure it with Red Hat Enterprise Linux (RHEL) 7.5 Beta. In the last step, we created a VDO volume.
In this blog we are going to experiment and observe real world savings on storage. For the experiment, I am not going to use any artificially generated workload but, rather, we'll follow the simplest way by introducing some data on the disk and then multiplying the same data on the disk with a different name. This simple exercise can ensure that we are adding redundant data to disk to trigger deduplication.
VM SPECIFICATIONS:
OS : RHEL 7.5 Beta pre-release (Since, VDO is integrated in RHEL 7.5 Beta)
RAM : 4GB
OS DISK : 20GB
ADDITIONAL DISK : 15GB (VirtIO-blk)
Before beginning with the experiment, I assume you have a successfully running volume with "enabled" Deduplication and Compression. To verify this run the commands :
# vdo status -n <vdo_vol_name> | grep Deduplication
# vdo status -n <vdo_vol_name> | grep Compression
From the output we see that both deduplication and compression are enabled.
If either of the above options are disabled, you can enable them with the following commands:
# vdo enableCompression -n <vdo_vol_name>
# vdo enableDeduplication -n <vdo_vol_name>
Before we add data to the VDO volume, let’s check the storage status :
# vdostats --hu
The output of "vdostats -- hu" shows:
- User available space (in my case, 12.0GB)
- UDS metadata space (in my case, 3GB)
- Storage savings (in my case, 98%)
Now, we’ll test the effect of deduplication, zero block elimination, and compression.
- For this purpose, I add a RHEL-7.5-x86_64-boot.iso file to the vdo_vol device on the /vdo_vol mountpoint.
# df -hT
- Next, I copy the same image file to the same directory four times (using "cp -pr <file to be copied> <dest_directory>").
# ls -l --block-size=1MB
This is the output of a directory listing (ls) before copying the data
- Each RHEL iso is approximately 557MB, so total logical space consumed on disk is 557x4=2228MB ~ 2.2GB
This is output of a directory listing (ls) after making three more copies of the data
- Next we check the resulting space savings. Since only unique streams of data blocks should persist on media within a VDO volume, the additional space usage in 12GB of user space shouldn't be more than 500-700MB.
To verify this, we run the command:
# vdostats --hu
Status of storage on a VDO vol after adding redundant data
OBSERVATIONS:
- The initial space used by the VDO volume was 3.0 GB according to vdostats output.
- The space used after the initial copy was 3.5 GB in the vdostats output.
- The space occupied by 4 RHEL iso images on a VDO vol is : 0.5 GB, the same as for a single RHEL iso file on the underlying storage.
- The df -hT output shows the logical space occupied by these 4 iso files as seen by the filesystem on the VDO volume reported as. 2.2GB.
- Since VDO manages a logical to physical block map, df sees logical space consumed according to the file system that resides on top of the VDO volume. vdostats --hu is viewing the physical block device as managed by VDO. Physically a single RHEL image is residing on the disk, but logically the file system thinks there are 4 copies, occupying 2.2GB.
# df -HT
df -hT output (after applying the copy operation)
Based on this, we can conclude that VDO eliminates the redundancy of data stored on a VDO volume.
About the author
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit