[vdo-devel] Conversion of VDO on LVM to LVM-VDO?

hostalp at post.cz hostalp at post.cz
Mon May 16 07:32:21 UTC 2022


Hello again,

I looked at the script and there's a glitch - it uses incorrect input 
parameter there, the same as for vdo_block_map_cache_size_mb.




        vdo_block_map_cache_size_mb = $(get_mb_size_with_unit_ "$vdo_
blockMapCacheSize")
        ...
        vdo_slab_size_mb = $(get_mb_size_with_unit_ "$vdo_
blockMapCacheSize")





It should probably use vdo_slabSize instead.

And it's like that even in the LVM2 master branch, so probably worth 
reporting - https://github.com/lvmteam/lvm2/blob/master/scripts/lvm_import_
vdo.sh




Best regards,

Petr


"
Hello,

thanks for the suggestion, that looks like it could be the way.




I just quickly tried a dry run and noticed one potential discrepancy in the 
VDO params shown by the script: vdo_slab_size_mb = 128




I'd expect this to be 2 GB.

"vdo printConfigFile" outputs "slabSize: 2G" for this volume and 
"vdodumpconfig" outputs "slabSize: 524288" which Is likely also 2 GB (I 
expect this to be shown in 4 kB blocks).




Should I be concerned regarding the likely incorrect value reported by the 
conversion script?





lvm_import_vdo: VDO conversion paramaters: 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 = 128
        vdo_ack_threads = 1
        vdo_bio_threads = 4
        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
        vdo_pool_header_size = 0
}




Best regards,

Petr Hostalek




---------- Original message ----------
From: Michael Sclafani <sclafani at redhat.com>

Sent: 16. 5. 2022 8:31:05
Subject: Re: [vdo-devel] Conversion of VDO on LVM to LVM-VDO? 
"



Hi Petr,




There is a direct conversion path using the lvm_import_vdo script provided 
by lvm2. I'm embarrassed to say I can't find any RHEL 8 documentation for it
beyond the deprecation release note. It does have a man page: https://man.
archlinux.org/man/core/lvm2/lvm_import_vdo.8.en
(https://man.archlinux.org/man/core/lvm2/lvm_import_vdo.8.en)




Hope this helps,

Michael






On Mon, May 16, 2022 at 1:17 AM <hostalp at post.cz(mailto:hostalp at post.cz)> 
wrote:

"

Hello,

I (historically) use a VDO volume on the top of a LVM logical volume, while 
now (in RHEL 8) it's possible to directly create a LVM-VDO logical volume 
(lvcreate --type vdo) which simplifies things a little and removes one 
layer.




That's easy to achieve with new VDO volumes, however how about migrating 
form the former to the latter? Is the only available option to copy the data
elsewhere, recreate the VDO volume and then copy the data back? Isn't there 
any direct conversion path (which wouldn't require to shuffle with the 
data)?




Best regards,

Petr


"
""
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vdo-devel/attachments/20220516/207c7bf1/attachment-0001.htm>


More information about the vdo-devel mailing list