kvdo icon indicating copy to clipboard operation
kvdo copied to clipboard

How to update version of lvm

Open akseg73 opened this issue 2 years ago • 5 comments

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

akseg73 avatar Dec 04 '23 16:12 akseg73

the kernel version is 5.15.x... not sure how to upgrade to newer lvm tools

akseg73 avatar Dec 04 '23 16:12 akseg73

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

rhawalsh avatar Dec 04 '23 20:12 rhawalsh

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.

akseg73 avatar Dec 05 '23 03:12 akseg73

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

rhawalsh avatar Dec 05 '23 13:12 rhawalsh

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 ...

akseg73 avatar Dec 05 '23 15:12 akseg73