[cinder] Active-Active cluster support for allocated_capacity_gb
Hello, All ! There is one issue with Active/Actvie cinder cluster. Each cinder-volume instance in cluster holds it's own local allocated_capacity_gb. When cinder-volume service starts it counts all volumes created on particular pool and calculates allocated_capacity_gb accordingly. If one instance of cinder-volume create volume - it increase its local allocated_capacity_gb. If other instance delete volume - it decrease its local allocated_capacity_gb. And each instance of cinder-volume in cluster reports its own local allocated_capacity_gb. It cause incorrect allocated_capacity_gb presented to cinder get-pools --detail. And it is able to see even negative value of allocated_capacity_gb for pool. There is reported issue about it: https://bugs.launchpad.net/cinder/+bug/1927186 There is document about different approaches of Active-Active cinder support, but there is nothing about incorrect allocated_capacity_gb report on it: https://docs.openstack.org/cinder/latest/contributor/high_availability.html Looks like without fixing allocated_capacity_gb we have to get all valumes and calculate this value by portal (it isnt quite effective and resource consuming by the way). Are there any plans to complete Active/Active support for cinder ? For example as the coordinator is demand for Active/Active support (“My recommendation is to do this right: configure the cluster option, remove the backend_host, and configure the coordinator.”, https://lists.openstack.org/pipermail/openstack-discuss/2020-November/018853...) - it is possible to move allocated_capacity_gb for each pool to redis or to listen notification queue and change local allocated_capacity_gb for each instance of cinder-volume accordingly Bug #1927186 “the value of allocated_capacity_gb is Incorrect wh...” : Bugs : Cinder<https://bugs.launchpad.net/cinder/+bug/1927186> the value of allocated_capacity_gb is incorrect when the number of replaca of cinder-volume is more than one and all of them configurated same backend, We set up more than one cinder-volume service ,and all of them have the same config file with the same storage backend. When all cinder-volume services complete initialization, the value of 'allocated_capacity_gb' that command of 'cinder get pools -detail' returned is correct.But once any creating or deleting volumes has been done, the value... bugs.launchpad.net
participants (1)
-
Ilya Popov