puppetlabs / puppetlabs-lvm

Puppet Module to manage LVM
https://forge.puppetlabs.com/puppetlabs/lvm
GNU General Public License v2.0
124 stars 275 forks source link

Support for Redhat VDO (Virtual data optimizer) type in LVM #355

Open dejil06 opened 3 weeks ago

dejil06 commented 3 weeks ago

Use Case

I am trying to use the Puppet LVM module to create VDO volumes on LVM but it is missing the possibility to send the necessary parameters to lvcreate. I am not able to add --virtualsize and --config parameters when creating LV

Describe the Solution You Would Like

We want to use VDO as it offers compression/deduplication for local disks as a way of transparently decrease space usage ie. for static data (logs).

Describe Alternatives You've Considered

Alternative is to use Exec right now, such as this example "/sbin/lvcreate --type vdo --name VDO_LV --size 90GB --config 'allocation/vdo_slab_size_mb=32768' --virtualsize 180GB VDO_VG"

Additional Context

Information on Redhat VDO can be found here : https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/deduplicating_and_compressing_storage/deploying-vdo_deduplicating-and-compressing-storage#con_introduction-to-vdo-deploying-vdo

dejil06 commented 3 weeks ago

In general it would be nice to have a general "lv_options" parameter passed on to lvcreate, as it would enable me to set any missing parameter including --deduplication --compression --vdopool etc..