How to update version of lvm
This is what we find, it does not have support for vdo included in it.
lvcreate --version LVM version: 2.02.187(2)-RHEL7 (2020-03-24) Library version: 1.02.170-RHEL7 (2020-03-24) Driver version: 4.45.0
the kernel version is 5.15.x... not sure how to upgrade to newer lvm tools
For this particular type of thing, I would refer you to the linux-lvm mailing list [0] and lvm2 project [1] for guidance.
That being said, some additional information like which Distro you're using would be helpful to also provide.
[0] https://subspace.kernel.org/lists.linux.dev.html (find linux-lvm in the list and use the sub link)
[1] https://gitlab.com/lvmteam/lvm2
I have a related question. If we utilize lvm --type=vdo to create the logical volume how do we specify that we want to disable compression or deduplication. We want to measure VDO performance without any compression and deduplication to get a baseline and see how much performance is degraded by switching on the features.
Ideally we would take our RAID, create a single physical volume and volume group. Create one volume for data and one for logs and then decide whether to switch on compression or dedup or leave them off.
Hi @akseg73, This is covered in the lvmvdo man page [0]. There are two ways to be able to specify particular options with the LVM-VDO type.
You can specify it via the command line:
3. Change the compression and deduplication of a VDOPoolLV
Disable or enable the compression and deduplication for VDOPoolLV
(the volume that maintains all VDO LV(s) associated with it).
lvchange --compression y|n --deduplication y|n VG/VDOPoolLV
Example
# lvchange --compression n vg/vdopool0
# lvchange --deduplication y vg/vdopool1
Or, you can specify it via a template:
4. Change the default settings used for creating a VDOPoolLV
VDO allows to set a large variety of options. Lots of these
settings can be specified in lvm.conf or profile settings. You
can prepare a number of different profiles in the
/etc/lvm/profile directory and just specify the profile file
name. Check the output of lvmconfig --type default
--withcomments for a detailed description of all individual VDO
settings.
Example
# cat <<EOF > /etc/lvm/profile/vdo_create.profile
allocation {
vdo_use_compression=1
vdo_use_deduplication=1
vdo_use_metadata_hints=1
vdo_minimum_io_size=4096
vdo_block_map_cache_size_mb=128
vdo_block_map_period=16380
vdo_check_point_frequency=0
vdo_use_sparse_index=0
vdo_index_memory_size_mb=256
vdo_slab_size_mb=2048
vdo_ack_threads=1
vdo_bio_threads=1
vdo_bio_rotation=64
vdo_cpu_threads=2
vdo_hash_zone_threads=1
vdo_logical_threads=1
vdo_physical_threads=1
vdo_write_policy="auto"
vdo_max_discard=1
}
EOF
# lvcreate --vdo -L10G --metadataprofile vdo_create vg/vdopool0
# lvcreate --vdo -L10G --config 'allocation/vdo_cpu_threads=4' vg/vdopool1
With your testing, I would suggest that you destroy and re-create the volume with each test to ensure you're getting comparable data. [0] https://man7.org/linux/man-pages/man7/lvmvdo.7.html
Thanks for your response, based upon other's comments, it seems we would have to be brave to attempt mysql on vdo ... most comments indicate that it will not perform for performance intensive load ...