[Openstack] How to achieve HA and Scalability for Neutron
Jay Pipes
jaypipes at gmail.com
Thu Dec 26 16:58:10 UTC 2013
On 12/26/2013 07:43 AM, skywalker.nick at gmail.com wrote:
> Hi stackers,
> I'm preparing for an OpenStack cloud in the production system. I've
> achieved HA and load balancing for most of the components to a certain
> degree.
> Finally I find it hard for Neutron to do such configuration. Are there
> any ways to run multiple l3-agents and dhcp-agents and cluster them
> together?
Right, the Neutron L3 agent is the only OpenStack service that is not
stateless, and therefore you cannot use traditional load-balancing
across a set of identical nodes.
That said, there's nothing wrong with running multiple L3 nodes, with
routers for different tenants hosted on different L3 agents. We do this
successfully in our deployment using a custom Neutron scheduler that my
colleague Alan Meadows wrote [1] and a Python script (also written by
Alan) that runs in cron looking for failures on an L3 agent and if
found, moves the routers from the failed node to a working one. [2]
The advantage to this vs. something like pacemaker is that you spread
the L3 agent workload across many nodes -- accomplishing a sort of
poor-man's load balancing/sharding for L3 agent requests.
Best,
-jay
[1] https://gist.github.com/jaypipes/8135839
[2]
https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py
More information about the Openstack
mailing list