Bug 2020497
Summary: | Need to include lvm2-2.03.14-1.el8 | ||
---|---|---|---|
Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Germano Veit Michel <gveitmic> |
Component: | redhat-virtualization-host | Assignee: | Vojtech Juranek <vjuranek> |
Status: | CLOSED ERRATA | QA Contact: | Evelina Shames <eshames> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 4.4.8 | CC: | ahadas, emarcus, eshames, lsurette, mgokhool, nsoffer, sbonazzo, sfroemer, srevivo, teigland, vjuranek, ycui |
Target Milestone: | ovirt-4.5.0-1 | Keywords: | ZStream |
Target Release: | 4.5.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | vdsm-4.50.0.5 | Doc Type: | If docs needed, set a value |
Doc Text: |
Previously, concurrent executions of LV refresh (lvchange) failed. This hindered simultaneous starts of virtual machines that have thin-provisioned disks based on the same disk on a block storage domain.
In this release, concurrent execution of LV refresh has been fixed in LVM2.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2022-06-03 13:48:51 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 2025367 | ||
Bug Blocks: |
Description
Germano Veit Michel
2021-11-05 06:10:54 UTC
It sounds like two issues, and both sound similar to issues we've seen on RHV before. 1. Concurrent LV refreshes on one host. 2. Concurrent LV refresh on one host and a VG modification on another host (Checksum error). It would be helpful if you could reproduce these with lvm debug logging enabled (lvm.conf log/file=<path> and log/level=7). David, thanks for helping on this one too :) First of all, I've updated all to latest 8.5: vdsm-4.40.90.4-1.el8ev.x86_64 lvm2-2.03.12-10.el8.x86_64 kernel-4.18.0-348.2.1.el8_5.x86_64 So, while looping this on the host: [root@rhvh-1 ~]# while [ true ]; do lvchange --config 'devices { preferred_names=["^/dev/mapper/"] ignore_suspended_devices=1 write_cache_state=0 disable_after_error_count=3 filter=["a|^/dev/mapper/360014058e776cbadb02fd473edb913d2$|", "r|.*|"] hints="none" obtain_device_list_from_udev=0 } global { locking_type=1 prioritise_write_locks=1 wait_for_locks=1 use_lvmetad=0 use_lvmpolld=1 } backup { retain_min=50 retain_days=0 }' --refresh 2f93a595-a602-4bfc-b35e-9e78b89f27b4/b2ab8b07-a2aa-408a-a4b4-4cd64a7f0292; done Got this on the terminal while starting 7 VMs: ~~~ Releasing activation in critical section. Releasing activation in critical section. libdevmapper exiting with 1 device(s) still suspended. device-mapper: resume ioctl on (253:22) failed: Invalid argument Unable to resume 2f93a595--a602--4bfc--b35e--9e78b89f27b4-b2ab8b07--a2aa--408a--a4b4--4cd64a7f0292 (253:22). Failed to reactivate 2f93a595-a602-4bfc-b35e-9e78b89f27b4/b2ab8b07-a2aa-408a-a4b4-4cd64a7f0292. ~~~ VDSM also saw some problems executing its own LVM commands, including the main one that prevents VMs from running on customer ticket (Unable to resume...) ~~~ 2021-11-17 15:55:30,375+1000 WARN (vm/24e01cb6) [storage.LVM] Command with specific filter failed or returned no data, retrying with a wider filter: LVM command failed: 'cmd=[\'/sbin/lvm\', \'lvchange\', \'--config\', \'devices { preferred_names=["^/dev/mapper/"] ignore_suspended_devices=1 write_cache_state=0 disable_after_error_count=3 filter=["a|^/dev/mapper/360014058e776cbadb02fd473edb913d2$|", "r|.*|"] hints="none" obtain_device_list_from_udev=0 } global { locking_type=1 prioritise_write_locks=1 wait_for_locks=1 use_lvmetad=0 use_lvmpolld=1 } backup { retain_min=50 retain_days=0 }\', \'--refresh\', \'2f93a595-a602-4bfc-b35e-9e78b89f27b4/b2ab8b07-a2aa-408a-a4b4-4cd64a7f0292\'] rc=5 out=[] err=[\' device-mapper: resume ioctl on (253:22) failed: Invalid argument\', \' Unable to resume 2f93a595--a602--4bfc--b35e--9e78b89f27b4-b2ab8b07--a2aa--408a--a4b4--4cd64a7f0292 (253:22).\', \' Failed to reactivate 2f93a595-a602-4bfc-b35e-9e78b89f27b4/b2ab8b07-a2aa-408a-a4b4-4cd64a7f0292.\']' (lvm:534) ~~~ ~~~ 2021-11-17 15:56:12,986+1000 WARN (vm/2840d10f) [storage.LVM] Command ['/sbin/lvm', 'lvchange', '--config', 'devices { preferred_names=["^/dev/mapper/"] ignore_suspended_devices=1 write_cache_state=0 disable_after_error_count=3 filter=["a|^/dev/mapper/360014058e776cbadb02fd473edb913d2$|", "r|.*|"] hints="none" obtain_device_list_from_udev=0 } global { locking_type=1 prioritise_write_locks=1 wait_for_locks=1 use_lvmetad=0 use_lvmpolld=1 } backup { retain_min=50 retain_days=0 }', '--refresh', '2f93a595-a602-4bfc-b35e-9e78b89f27b4/b2ab8b07-a2aa-408a-a4b4-4cd64a7f0292'] succeeded with warnings: [' Attempted to decrement suspended device counter below zero.'] (lvm:355) ~~~ Logs uploading... We received a patch to fix this exact problem in August: https://sourceware.org/git/?p=lvm2.git;a=commit;h=47bcb446b83f9aa4fca74301fda109a8bf670fbb lvchange: fix lvchange refresh failed for dm suspend or resume failed When multiple lvchange refresh processes executed at the same time, suspend/resume ioctl on the same dm, some of these commands will be failed for dm aready change status, and ioctl will return EINVAL in _do_dm_ioctl function. to avoid this problem, add READ_FOR_ACTIVATE flags in lvchange refresh process, it will hold LCK_WRITE lock and avoid suspend/resume dm at the same time. Signed-off-by: Long YunJian <long.yunjian.cn> Signed-off-by: Yi Wang <wang.yi59.cn> (In reply to David Teigland from comment #10) > We received a patch to fix this exact problem in August: > https://sourceware.org/git/?p=lvm2.git;a=commit; > h=47bcb446b83f9aa4fca74301fda109a8bf670fbb > > lvchange: fix lvchange refresh failed for dm suspend or resume failed > > When multiple lvchange refresh processes executed at the same time, > suspend/resume ioctl on the same dm, some of these commands will be failed > for dm aready change status, and ioctl will return EINVAL in _do_dm_ioctl > function. > to avoid this problem, add READ_FOR_ACTIVATE flags in lvchange refresh > process, > it will hold LCK_WRITE lock and avoid suspend/resume dm at the same time. > > Signed-off-by: Long YunJian <long.yunjian.cn> > Signed-off-by: Yi Wang <wang.yi59.cn> David, so if I understand correctly this patch should fix it. Do we have an LVM bug to close this one as duplication? We'll need an lvm bz created to track/test the bug, or have it backported. (The fix will already be included in 8.6 and 9.0 from lvm rebases.) (In reply to David Teigland from comment #12) > We'll need an lvm bz created to track/test the bug, or have it backported. > (The fix will already be included in 8.6 and 9.0 from lvm rebases.) OK, Thanks David. Germano, can you please open an LVM bug so this one will be dependent on it? Of course, done: BZ2025367 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 (Important: Red Hat Virtualization security, bug fix, and enhancement update [ovirt-4.5.0]), 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/RHSA-2022:4896 |