[Libguestfs] [v2v PATCH] convert_linux: remove LVM2 "devices file"
Laszlo Ersek
lersek at redhat.com
Fri Aug 5 12:08:15 UTC 2022
On 08/05/22 13:42, Laszlo Ersek wrote:
> On 08/05/22 11:21, Richard W.M. Jones wrote:
>> On Fri, Aug 05, 2022 at 10:44:26AM +0200, Laszlo Ersek wrote:
>>> A recent feature of LVM2 is the "devices file"
>>> <https://man7.org/linux/man-pages/man8/lvmdevices.8.html>. It speeds up
>>> LVM2 PV discovery on a normal system, but an old devices file in a
>>> converted domain (with different hardware) can prevent the assembly of
>>> volume groups.
>>>
>>> In particular, when converting a physical system to a guest with virt-p2v,
>>> the original system will have used "sys_wwid"-type identifiers in the LVM2
>>> devices file, and those are guaranteed not to match any virtio-blk disks
>>> in the output domain.
>>>
>>> We've seen a similar issue in the past under RHBZ#1164853, so just extend
>>> the same scrubbing with the new pathname.
>>>
>>> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2112801
>>> Signed-off-by: Laszlo Ersek <lersek at redhat.com>
>>> ---
>>> convert/convert_linux.ml | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml
>>> index a66ff1e45a57..2aaa438e42ac 100644
>>> --- a/convert/convert_linux.ml
>>> +++ b/convert/convert_linux.ml
>>> @@ -1402,11 +1402,11 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ =
>>> * device names. blkid will rebuild these on demand.
>>> *
>>> * Delete the LVM cache since it will contain references to the
>>> - * old devices (RHBZ#1164853).
>>> + * old devices (RHBZ#1164853, RHBZ#2112801).
>>> *)
>>> List.iter g#rm_f [
>>> "/etc/blkid/blkid.tab"; "/etc/blkid.tab";
>>> - "/etc/lvm/cache/.cache"
>>> + "/etc/lvm/cache/.cache"; "/etc/lvm/devices/system.devices"
>>> ];
>>
>> I think this'll be fine so ACK. In case you wanted to narrow the
>> scope so the change is conditional on virt-p2v, you could check if
>> source.s_hypervisor = Physical.
>
> I think this is actually the right thing to do for when the source is
> virtual as well. Currently we don't attempt to transfer hard disks'
> wwids or serial numbers, even though that is theoretically possible. So
> if the source hypervisor happens to configure such a wwn or serial
> number, and that gets caught in the source guest's LVM devices file, it
> will be absent on the destination similarly.
Commit 8e4b732e8b43.
More information about the Libguestfs
mailing list