RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2005006 - vdo to lvm conversion tool doesn't handle vdo logical sizes > 2T and < 10k [rhel-8.6.0]
Summary: vdo to lvm conversion tool doesn't handle vdo logical sizes > 2T and < 10k [r...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: lvm2
Version: 8.5
Hardware: x86_64
OS: Linux
urgent
medium
Target Milestone: rc
: ---
Assignee: Zdenek Kabelac
QA Contact: cluster-qe@redhat.com
URL:
Whiteboard:
Depends On: 1996227
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-09-16 14:32 UTC by RHEL Program Management Team
Modified: 2022-05-10 16:37 UTC (History)
10 users (show)

Fixed In Version: lvm2-2.03.14-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1996227
Environment:
Last Closed: 2022-05-10 15:22:14 UTC
Type: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker CLUSTERQE-5158 0 None None None 2022-01-13 03:01:58 UTC
Red Hat Issue Tracker RHELPLAN-97554 0 None None None 2021-09-18 10:20:26 UTC
Red Hat Product Errata RHBA-2022:2038 0 None None None 2022-05-10 15:22:30 UTC

Comment 1 Zdenek Kabelac 2021-09-22 14:37:24 UTC
Fixed upstream in 2.03.14

Comment 3 Corey Marthaler 2021-11-08 20:34:03 UTC
Marking Verified:Tested in the latest rpms.

kernel-4.18.0-348.4.el8.kpq0    BUILT: Wed Oct 27 15:00:32 CDT 2021
lvm2-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
lvm2-libs-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
vdo-6.2.5.74-14.el8    BUILT: Fri Aug 20 17:56:40 CDT 2021
kmod-kvdo-6.2.5.72-81.8_6.el8    BUILT: Tue Oct 12 10:43:50 CDT 2021


Just like in the rhel8.5 version bug 1996227, only the 8.00k logical scenario actually matches. The 3.00k gets rounded WAY up by the VDO create cmd and the 10.00k gets rounded down by the vdo create cmd. So, neither of these are the fault of the lvm conversion tool.


SCENARIO - [small_vdo_logical_size_convert_to_lvm]
Test the basic conversion of a small (3k, 8k, 10k) logical sized existent vdo volume to lvm (1996227|2005006)

+++ vdo small size conversion: 3.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 3.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      Logical blocks defaulted to 486134360 blocks.
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 169 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:1944537440.00k
lvm logical volume size 1944537440.00k doesn't match the specified vdo logical size 3.00k
(this was never fixed as a part of the solution for bug 1996227|2005006)
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1


+++ vdo small size conversion: 8.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 8.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 171 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:8.00k
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1


+++ vdo small size conversion: 10.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 10.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 173 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:8.00k
lvm logical volume size 8.00k doesn't match the specified vdo logical size 10.00k
(this was never fixed as a part of the solution for bug 1996227|2005006)
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1

Comment 6 Corey Marthaler 2021-11-16 18:36:54 UTC
Marking Verified in the latest rpms.

kernel-4.18.0-348.4.el8.kpq0    BUILT: Wed Oct 27 15:00:32 CDT 2021
lvm2-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021
lvm2-libs-2.03.14-1.el8    BUILT: Wed Oct 20 10:18:17 CDT 2021


SCENARIO - large_vdo_logical_size_convert_to_lvm:  Test the basic conversion of a large (4t) logical sized existent vdo volume to lvm (1996227)
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 4T --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 6 volume is ready at /dev/mapper/lvm_import_vdo_sanity

lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:4.00t
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1

SCENARIO - small_vdo_logical_size_convert_to_lvm:  Test the basic conversion of a small (3k, 8k, 10k) logical sized existent vdo volume to lvm (1996227|2005006)

+++ vdo small size conversion: 3.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 3.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      Logical blocks defaulted to 486134360 blocks.
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 8 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:1944537440.00k
lvm logical volume size 1944537440.00k doesn't match the specified vdo logical size 3.00k
(this was never fixed as a part of the solution for bug 1996227|2005006)
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1
WARNING: Heartbeat did not respond at start of command.  Check btimed service on remote host


+++ vdo small size conversion: 8.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 8.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 10 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:8.00k
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1


+++ vdo small size conversion: 10.00k +++
vdo create --force --name lvm_import_vdo_sanity --vdoLogicalSize 10.00k --device /dev/sdd1
Creating VDO lvm_import_vdo_sanity
      The VDO volume can address 1 TB in 929 data slabs, each 2 GB.
      It can grow to address at most 16 TB of physical storage in 8192 slabs.
      If a larger maximum size might be needed, use bigger slabs.
Starting VDO lvm_import_vdo_sanity
Starting compression on VDO lvm_import_vdo_sanity
VDO instance 12 volume is ready at /dev/mapper/lvm_import_vdo_sanity
lvm_import_vdo --yes /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1
Stopping VDO lvm_import_vdo_sanity
Converting VDO lvm_import_vdo_sanity
      Opening /dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1 exclusively
      Loading the VDO superblock and volume geometry
      Checking the VDO state
      Converting the UDS index
      Converting the VDO
      Conversion completed for '/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1': VDO is now offset by 2097152 bytes
  Physical volume "/dev/disk/by-id/scsi-36d094660575ece002291ba5c230d16c6-part1" successfully created.
  Volume group "vdovg" successfully created
  Logical volume "vdolvol_vpool" created.
  WARNING: Logical volume vdovg/vdolvol_vpool not zeroed.
  WARNING: Converting logical volume vdovg/vdolvol_vpool to VDO pool volume WITHOUT formating.
  WARNING: Using invalid VDO pool data MAY DESTROY YOUR DATA!
  Logical volume "vdolvol" created.
  Converted vdovg/vdolvol_vpool to VDO pool volume and created virtual vdovg/vdolvol VDO volume.
Conversion size:8.00k
lvm logical volume size 8.00k doesn't match the specified vdo logical size 10.00k
(this was never fixed as a part of the solution for bug 1996227|2005006)
lvremove -f vdovg
  Logical volume "vdolvol" successfully removed.
vgremove -f vdovg
  Volume group "vdovg" successfully removed
pvremove /dev/sdd1
  Labels on physical volume "/dev/sdd1" successfully wiped.
lvmdevices -y --deldev /dev/sdd1

Comment 8 errata-xmlrpc 2022-05-10 15:22:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (lvm2 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:2038


Note You need to log in before you can comment on or make changes to this bug.