[Openstack] [CINDER] openstack-cinder-volume High Availability

Marco Marino marino.mrc at gmail.com
Fri May 12 08:19:06 UTC 2017


Hi, I'm using cinder (mitaka release) with LVM. It seems that
lvm2-lvmetad is a mandatory service for openstack-cinder-volume with
LVM and I'd like to use lvmetad with pacemaker in order to build an
active/passive cluster.

NOTE: I'm using openstack-cinder-volume on a dedicated 2 node cluster.
Anyway, physical storage is connected to openstack-cinder-volume
cluster through iscsi, so I have a shared storage connected to both
openstack-cinder-volume nodes.

Anyway, in /usr/lib/ocf/resource.d/heartbeat/LVM there is a note:

# lvmetad is a daemon that caches lvm metadata to improve the
# performance of LVM commands. This daemon should never be used when
# volume groups exist that are being managed by the cluster. The lvmetad
# daemon introduces a response lag, where certain LVM commands look like
# they have completed (like vg activation) when in fact the command
# is still in progress by the lvmetad.  This can cause reliability issues
# when managing volume groups in the cluster.  For Example, if you have a
# volume group that is a dependency for another application, it is possible
# the cluster will think the volume group is activated and attempt to start
# the application before volume group is really accesible... lvmetad is bad.

So I tried to realize a cluster with lvm2-lvmetad disabled (disabling
services and setting use_lvmetad=0 in /etc/lvm/lvm.conf). Anyway,
after one month I had an error during the creation of a new volume:

Apr  6 11:33:50 cinder-volume1 cinder-volume: Failed to resume
volume-2a1b970e-d7e3-4665-bade-b84f3176f9e8.
Apr  6 11:33:50 cinder-volume1 cinder-volume: Releasing activation in
critical section.
Apr  6 11:33:50 cinder-volume1 cinder-volume: Releasing activation in
critical section.
Apr  6 11:33:50 cinder-volume1 cinder-volume: libdevmapper exiting
with 2 device(s) still suspended.
Apr  6 11:33:50 cinder-volume1 cinder-volume: delete
/usr/lib/python2.7/site-packages/cinder/brick/local_dev/lvm.py:685
Apr  6 11:33:50 cinder-volume1 cinder-volume: 2017-04-06 11:33:50.480
21556 DEBUG cinder.brick.local_dev.lvm
[req-311b2af6-7335-4dea-86a5-728095db162c
285bfaf35f8947a9b5596990b71c458e 83a374ad4eeb4cd0a6e65e0ab7c93aca - -
-] Attempting udev settle and retry of lvremove... delete
/usr/lib/python2.7/site-



Complete log is here -> http://paste.openstack.org/show/609409/

The error caused the cluster to fence the active node and this is a
really bad case I think.


My questions are: This problem is know? is there some valid
configuration for high availability with openstack-cinder-volume and
LVM? What are the "standard" configuration in production for
openstack-cinder-volume in conjuction with LVM??


Thank you




More information about the Openstack mailing list