inner VG inside chroot not visible inside chroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So I had this script that would check the chain of PVs used for some LV if used in an embedded VG.

Meaning an outer PV contains a VG contains a LV that is the PV to another VG.

This script fails to work currently inside a chroot.

The reason is that not all VGs and LVs are visible inside the chroot. Most importantly currently the PV is not visible.

I have bind mounted /sys/, /proc/, /dev/, and /run/.

Outside of the chroot, this is visible:

  msata-pv coll2 -wi-ao----  28.91g
  raid-pv  coll2 -wi-ao---- 464.36g
  boot     msata rwi-aor-p- 240.00m
  root     msata rwi-aor-p-  14.67g

The chroot is to a mount of /dev/msata/root.

Inside the chroot, to the /mnt of /dev/msata/root,

everything is now visible as well but only because lvmetad works because I bind mounted /run.

vgdisplay -v   inside the chroot gives:

  --- Physical volumes ---
  PV Name               unknown device
  PV UUID               aCDiCd-EWYT-eKmE-gMST-KpXG-EJA5-0FWy8Z
  PV Status             allocatable
  Total PE / Free PE    7399 / 3582

vgdisplay -v   outside the chroot gives:

  PV Name               /dev/coll2/msata-pv
  PV UUID               aCDiCd-EWYT-eKmE-gMST-KpXG-EJA5-0FWy8Z
  PV Status             allocatable
  Total PE / Free PE    7399 / 3582

If I remove the bind mount for /run, I get

  msata-pv coll2 -wi-ao----  28.91g
  raid-pv  coll2 -wi-ao---- 464.36g

But not the 2 msata volumes, that are both mounted inside the chroot (/mnt and /mnt/boot).

The volumes are fully functional though. LVM just doesn't show me their devices. Is this to be expected?

I was using the standard LVM tools to obtain this PV. It would be possible to use only dmsetup etc. for it, for example using dmsetup deps /dev/msata/root, to obtaining the name with dmsetup info to see whether it is conforming to an LVM mapping, but rather hard/impossible to see if it is an actual regular LV this way?

Actually the split-name function... does not provide that much help for that :p.

Particularly in this way it is not possible to see if something is a "hidden" LV (such as a meta or image) or actually a regular LV that's being referred to. I really wanted to say PV, but from the perspective of the script you're really just looking for regular LVs.

The moment you encounter a non-major-252, I'm no longer interested :p.

But in any case:


Why does it not show the mounted LV in the "lvs" table and why does it not show the PV that IS visible in the "lvs" table in the output of "vgdisplay -v" ?

So, why is that PV set to "unknown device"? And with /run not bind-mounted, pvscan will not see the msata volume group at all!

PV /dev/sdb4 VG coll2 lvm2 [493.26 GiB / 0 free] PV /dev/coll2/raid-pv VG raid lvm2 [464.35 GiB / 8.00 GiB free]

---> should also show /dev/coll2/msata-pv.

Maybe this gets a little too complicated,

but the msata volume group that is mounted into the chroot, is not actually visible inside the chroot, while everything else is.

Regards, Xen.



_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/



[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux