[Openstack] Ceilometer high availability in active-active

Chris Dent chdent at redhat.com
Mon Mar 9 18:22:12 UTC 2015


On Sat, 7 Mar 2015, Vijaya Bhaskar wrote:

> I know it is possible to have all the ceilometer services in
> active-active, however the ceilometer-agent-central service is run
> only in active-passive as far as I have researched. What are the
> consequences of running multiple ceilometer-agent-central
> services(that is in active-active). If there are serious consequences,
> is there any way to run it in active-active mode.

I'm not sure if I've quite grasped the gist of your inquiry, but:

Since Juno, multiple instances of the central polling agent can be run,
each polling a partition of the resources that get polled. Each
agent does discovery of resource on each polling cycle and then does
only some of them based on the partitioning. The partitioning is
coordinated via tooz[1] though group membership. Depending on the
driver used, tooz itself can be highly available.

The upshot of this is that you can distribute N central agents
across a bunch of machines and they will coordinate to each do a
subset of resources. Each agent runs a heartbeat, if it fails to
send a heartbeat, group membership will be managed, and the
remaining agents will pick up the slack. When the failed agent
rejoins the group, grouping will be adjusted.

I've played with this a fair bit and it is quite cool.

The compute-agent and impi-agent can do this too, although it makes
a bit less sense.

In Kilo all three agent types have been merged under an umbrella
which supports namespaces: ipmi, central, compute. Each running
agent can support one, some or all namespaces, each one using
coordinated partitioning.

I hope that's useful.

[1] http://docs.openstack.org/developer/tooz/
-- 
Chris Dent tw:@anticdent freenode:cdent
https://tank.peermore.com/tanks/cdent




More information about the Openstack mailing list