On Fri, Mar 23, 2018 at 11:30 AM Gang He <ghe@xxxxxxxx> wrote:
Hello List,
Since I am new to LVM area, but I got a problem about LVM can't work normally after attaching disk volumes originally in a VG on another machine.
Then, I sent this problem to the list, to see if we can get a fix or there has been a fix.
The problem is very easy to reproduce,
1) create two virtual machines(tb0307-nd1, tb0307-nd2), create two virtual disks.
Do you mean 2 logical volumes on the host?
2) attach two virtual disks to VM1(tb0307-nd1).
Are you attaching the logical volumes created on the host to the VM?
tb0307-nd1:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.3G 0 rom
vda 254:0 0 40G 0 disk
├─vda1 254:1 0 4G 0 part [SWAP]
├─vda2 254:2 0 23.6G 0 part /
└─vda3 254:3 0 12.4G 0 part /home
vdb 254:16 0 40G 0 disk
vdc 254:32 0 20G 0 disk <<= disk1
vdd 254:48 0 20G 0 disk <<= disk2
3) pvcreate two virtual disks, and add them to vg1.
tb0307-nd1:/# pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created.
tb0307-nd1:/# pvcreate /dev/vdd
Physical volume "/dev/vdd" successfully created.
tb0307-nd1:/# pvs
PV VG Fmt Attr PSize PFree
/dev/vdc lvm2 --- 20.00g 20.00g
/dev/vdd lvm2 --- 20.00g 20.00g
tb0307-nd1:/# vgcreate vg1 /dev/vdc /dev/vdd
4) disconnect two virtual disks from VM1, and attach disk1 to VM2(tb0307-nd2).
If /dev/vdc and /dev/vdd are logical volumes on the host, lvm on the host
just scanned these lvs and discovered the metadata created within the VM.
5) delete vg1, create vg2, and add disk1 to vg2.
tb0307-nd2:~ # pvs
WARNING: Device for PV t6gjHU-dtY4-th5O-A0mr-5OEC-R1ZK-TPQgIh not found or rejected by a filter.
PV VG Fmt Attr PSize PFree
/dev/vdc vg1 lvm2 a-- 20.00g 20.00g
[unknown] vg1 lvm2 a-m 20.00g 20.00g
tb0307-nd2:~ # pvremove /dev/vdc
WARNING: Device for PV t6gjHU-dtY4-th5O-A0mr-5OEC-R1ZK-TPQgIh not found or rejected by a filter.
PV /dev/vdc is used by VG vg1 so please use vgreduce first.
(If you are certain you need pvremove, then confirm by using --force twice.)
/dev/vdc: physical volume label not removed.
tb0307-nd2:~ # vgreduce --removemissing vg1
WARNING: Device for PV t6gjHU-dtY4-th5O-A0mr-5OEC-R1ZK-TPQgIh not found or rejected by a filter.
Wrote out consistent volume group vg1.
tb0307-nd2:~ # pvs
PV VG Fmt Attr PSize PFree
/dev/vdc vg1 lvm2 a-- 20.00g 20.00g
tb0307-nd2:~ # vgremove vg1
Volume group "vg1" successfully removed
tb0307-nd2:~ # vgcreate vg2 /dev/vdc
Volume group "vg2" successfully created
tb0307-nd2:~ # vgs
VG #PV #LV #SN Attr VSize VFree
vg2 1 0 0 wz--n- 20.00g 20.00g
tb0307-nd2:~ # pvs
PV VG Fmt Attr PSize PFree
/dev/vdc vg2 lvm2 a-- 20.00g 20.00g
6) attach disk2 to VM2(tb0307-nd2), the vg on VM2 looks abnormal.
tb0307-nd2:~ # pvs
WARNING: Device for PV JJOL4H-kc0j-jyTD-LDwl-71FZ-dHKM-YoFtNV not found or rejected by a filter.
PV VG Fmt Attr PSize PFree
/dev/vdc vg2 lvm2 a-- 20.00g 20.00g
/dev/vdd vg1 lvm2 a-- 20.00g 20.00g
[unknown] vg1 lvm2 a-m 20.00g 20.00g
tb0307-nd2:~ # vgs
WARNING: Device for PV JJOL4H-kc0j-jyTD-LDwl-71FZ-dHKM-YoFtNV not found or rejected by a filter.
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz-pn- 39.99g 39.99g
vg2 1 0 0 wz--n- 20.00g 20.00g
7) reboot VM2, the result looks worse (vdc disk belongs to two vg).
tb0307-nd2:/mnt/shared # pvs
PV VG Fmt Attr PSize PFree
/dev/vdc vg1 lvm2 a-- 20.00g 0
/dev/vdc vg2 lvm2 a-- 20.00g 10.00g
/dev/vdd vg1 lvm2 a-- 20.00g 9.99g
It looks like LVM2 meta consistency problem? please help to take a look.
If you want to attach logical volumes to VMs, you must make sure that these
volumes are not accessible to LVM on the host. A good way to achieve this is
to setup devices:filter in lvm.conf so LVM can access only the disks required
by the host (e.g. /dev/sda2).
Check this for more info on this problem:
Nir
_______________________________________________ linux-lvm mailing list linux-lvm@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-lvm read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/