I have some virtual machines which were clones of the same original disk image, which contained some LVM volumes. When I clone these, I end up with multiple LVM volumes (albeit on different hosts) which have the same 'unique' ID. Is there any way I can get LVM to change the UUID of an existing volume?
3 Answers
pvchange --uuid /physical/volume/path
vgchange --uuid /volume/group/name
-
you can't vgchange --uuid on a vg with active logical volumes. Commented Aug 2, 2016 at 15:00
-
4
vgimportclone /physical/volume/path
helped me, at least a bit.– Ned64Commented May 21, 2017 at 18:19 -
-
@LiMar OK, thanks for the feedback, I wrote an answer. Feel free to vote for it :-)– Ned64Commented Mar 11, 2020 at 16:57
According to its man page, the command vgimportclone
will do the work for you:
vgimportclone /physical/volume/path
This is used for importing a volume group (VG) from a cloned physical volume (PV), e.g. after a snapshot or other duplicated PV.
pvchange
was not working for me, it kept avoiding the volume with
WARNING: Not using device /dev/sdc for PV C0s0Wg-HcnQ-LOP3-QwmR-dhSX-4wW1-hRhxm3. WARNING: PV C0s0Wg-HcnQ-LOP3-QwmR-dhSX-4wW1-hRhxm3 prefers device /dev/sdb because device is used by LV. Device /dev/sdc excluded by a filter.
Ultimately, wipefs /dev/sdc
was the solution, after which I simply used
pvcreate /dev/sdc