[Bug 1801918] Re: storage pool with persistent device names fails
Christian Ehrhardt
1801918 at bugs.launchpad.net
Tue Nov 6 14:45:26 UTC 2018
This is again a case of please read all characters carefully :-)
definition from xml:
(gdb) p def->source.devices[i].path
$4 = 0x7f5204008e30 "/dev/disk/by-path/virtio-pci-0000:00:07.0"
compared against the array it built with the lvm tools
(gdb) p thisSource->devices[0]
$7 = {nfreeExtent = 0, freeExtents = 0x0, path = 0x7f51fc012b20 "/dev/disk/by-path/pci-0000:00:07.0", format = 0, part_separator = 0, geometry = {cylinders = 0, heads = 0, sectors = 0}}
That is different:
/dev/disk/by-path/virtio-pci-0000:00:07.0
/dev/disk/by-path/pci-0000:00:07.0
Lets further improve the lvm config we have.
--
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