VDO Under Proxmox Local LVM: Fewer Bytes Reach the Drive
VDO is the kernel’s deduplication and compression layer. Under a thick LVM volume group it gives Proxmox VE local disks that write one copy of every block the VMs share, so far fewer bytes ever reach the drive. This builds it thick on thick on a Proxmox VE 9 host, with VDO sized to the space it really has so nothing above it can overcommit, the lvm.conf scan_lvs setting and its filter, and VDO’s threads matched to the CPU count. It measures what deduplication saved on a template and six full clones, two ISOs, zeros and random data, how many bytes the drive actually received against what the guest wrote, and what VDO costs against the same Intel Optane with no VDO at all. It then builds the pool with VDO’s index and journals on NVMe and the data on a second device, proves the layout with vdolistmetadata, measures how the I/O splits, then puts VDO on top of bcache with one NVMe partitioned between the bcache cache and VDO’s metadata, and measures how many bytes reach the cache with and without VDO. It reasons through what all of this means on HDD hardware RAID6, and covers discard on delete.