[Bug 1801918] Re: storage pool with persistent device names fails

 Christian Ehrhardt  1801918 at bugs.launchpad.net
Tue Nov 6 14:48:29 UTC 2018


I now used:
  filter =[ "a|/dev/disk/by-path/virtio-pci-*|" ]

Now it really is the same way on creation and query.
$ sudo /sbin/pvcreate /dev/disk/by-path/virtio-pci-0000:00:07.0
  Physical volume "/dev/disk/by-path/virtio-pci-0000:00:07.0" successfully created.
$ sudo pvdisplay 
  "/dev/disk/by-path/virtio-pci-0000:00:07.0" is a new physical volume of "30.00 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/disk/by-path/virtio-pci-0000:00:07.0

And with that finally
$ sudo virsh pool-build testpool1
Pool testpool1 built

$ sudo virsh pool-start testpool1
Pool testpool1 started

I'd still be interested in the mail thread link.
But for your case, if you want to use by-path with LVM you should adapt the lvm.conf to use (only) these.

** Changed in: libvirt (Ubuntu)
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to lvm2 in Ubuntu.
https://bugs.launchpad.net/bugs/1801918

Title:
  storage pool with persistent device names fails

Status in libvirt package in Ubuntu:
  Invalid
Status in lvm2 package in Ubuntu:
  Invalid

Bug description:
  lvm2 tools do not store by-path values in their config.
  That can drive scripts/tools (like the libvirt case here) mad.
  Simplified example:

  $ sudo /sbin/pvcreate /dev/disk/by-path/virtio-pci-0000:00:07.0
  $ sudo /sbin/pvs --noheadings -o pv_name,vg_name
    /dev/vdc

  It is NOT using /dev/disk/by-path/virtio-pci-0000:00:07.0 as
  instructed, but instead did the mapping to /dev/vdd and keeps that
  from now on.

  I know that "inside" lvm all that is done via metadata and it won't matter.
  But tools around it get confused.
  Not sure yet if it is a real issue, or just "works as designed".

  
  --- started as libvirt issue - keeping old desc below ---

  I am trying to create a logical volume storage pool with persistent
  device names for the block devices, because I can't/don't want to ensure
  that /dev/sd* names are persistent through reboots.

  virsh # pool-define-as web2067 logical - -
  /dev/disk/by-path/pci-0000:18:00.0-scsi-0:2:2:0  web2067 /dev/web2067
  virsh # pool-build web2067

  These two steps work as expected and the pv and the vg get created, but
  when I try to start the pool I get the following error:

  virsh # pool-start web2067
  error: Failed to start pool web2067
  error: unsupported configuration: cannot find any matching source
  devices for logical volume group 'web2067'

  If I do the same steps just with /dev/sdX instead of
  /dev/disk/by-path/..., the pool gets created correctly.

  According to the libvirt mailing list /dev and /dev/disk/by-path are
  supposed to work the same way.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1801918/+subscriptions



More information about the foundations-bugs mailing list