On Sun, Aug 7, 2022 at 8:56 AM Dmitriy Rabotyagov <noonedeadpunk@gmail.com> wrote:
Another question - are features that tooz support with etcd enough for cinder active/active to work?

Here's some general info about running cinder-volume in A/A mode:

- Very few drivers support A/A. Drivers need to explicitly declare their support, and there's no conformance test to ensure A/A mode actually works (drivers merely claim it should work). The RBD driver definitely supports A/A, and NFS is currently *not* supported.

- You need to configure two things for a driver to run A/A; 1) configure the 'cluster' setting in cinder.conf, 2) you need to configure a suitable DLM for the [coordination]backend_url in cinder.conf. From a DLM perspective, your best option is tooz's etcd3gw driver. Bear in mind the etcd3 driver is deprecated [1].

[1] https://review.opendev.org/c/openstack/tooz/+/833107


IIRC, for NFS openstack-ansible deploy in active/standby mode by default. Only ceph goes "active/active" but we don't define coordination url for that - only define cluster_name...

As I mentioned above, you definitely need to configure the coordination url with a suitable DLM for A/A to work properly. Things may seem to work when doing some light testing, but the cinder-volume services will eventually start stepping all over each other once the activity load increases.

Alan
 
Though, we do provide a role/way to get etcd, so no blocker to get coordination_url for cinder if etcd covers all cinder needs

вс, 7 авг. 2022 г., 17:36 Dmitriy Rabotyagov <noonedeadpunk@gmail.com>:
I have actually a question on unrelated topic, but related to the active/standby of cinder-volume.

Is there any way to explicitly tell to the backend that it should be active? As well as would it restore active mode if at some point become unreachable and then restore? Recently I tried to look through docs and config options, but was not able to find an answer.

вс, 7 авг. 2022 г., 17:09 Takashi Kajinami <tkajinam@redhat.com>:

- Usually you need to deploy cinder-volume as an act/sby process. Your cinder-volume would  run
  on only one of the controller nodes managed by a cluster technology like pacemaker.
  You can split cinder-volume per backend but in such case you'd run each c-vol in act/sby mode.