[Openstack] How to achieve HA and Scalability for Neutron
Li Ma
skywalker.nick at gmail.com
Fri Jan 3 10:33:35 UTC 2014
> 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.
Hi jay, how about dhcp-agent? I've went through the bps of neutron
for icehouse release. There's no related topics on dhcp-agent.
I wonder how to implement the same functionality of dhcp-agent.
Thanks very much,
Li Ma (Nick)
Email: skywalker.nick at gmail.com
2013/12/28 Li Ma <skywalker.nick at gmail.com>:
> That's awesome!! I'll try and test the patch for grizzly and also the
> new function of icehouse.
>
> Many thanks, jay.
>
>
> 2013/12/27 Jay Pipes <jaypipes at gmail.com>:
>> On 12/26/2013 02:22 PM, Diego Parrilla SantamarĂa wrote:
>>>
>>> That's really a nice stuff...
>>
>>
>> So, to wrap up this particular mini-thread... here is the solution:
>>
>> If on Grizzly or Havana and you don't want use Pacemaker (so that you can
>> spread L3 agent load across multiple nodes):
>>
>> 1) Apply this patch to Neutron:
>>
>> https://gist.github.com/jaypipes/8135839
>>
>> 2) Set the router_scheduler_driver in nova.conf to
>> neutron.scheduler.l3_agent_scheduler.LeastUtilizedScheduler
>>
>> Reference:
>> https://github.com/stackforge/cookbook-openstack-network/blob/master/templates/default/neutron.conf.erb#L232
>>
>> 3) Put this script into a cron job:
>>
>> https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py
>>
>> If you're on Icehouse, simply do:
>>
>> 1) Set the router_scheduler_driver in nova.conf to
>> neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler
>>
>> Reference:
>> https://github.com/openstack/neutron/blob/master/etc/neutron.conf#L223
>>
>> 2) Put this script into a cron job:
>>
>> https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py
>>
>> Best,
>> -jay
>>
>>> On Thu, Dec 26, 2013 at 5:58 PM, Jay Pipes <jaypipes at gmail.com
>>> <mailto:jaypipes at gmail.com>> wrote:
>>>
>>> On 12/26/2013 07:43 AM, skywalker.nick at gmail.com
>>> <mailto: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
>>> <https://gist.github.com/jaypipes/8135839>
>>> [2]
>>>
>>> https://github.com/stackforge/__cookbook-openstack-network/__blob/master/files/default/__neutron-ha-tool.py
>>>
>>> <https://github.com/stackforge/cookbook-openstack-network/blob/master/files/default/neutron-ha-tool.py>
>>>
>>>
>>> _________________________________________________
>>> Mailing list:
>>> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>>>
>>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>> Post to : openstack at lists.openstack.org
>>> <mailto:openstack at lists.openstack.org>
>>> Unsubscribe :
>>> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>>
>>>
>>
>>
>> _______________________________________________
>> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>> Post to : openstack at lists.openstack.org
>> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>
>
>
> --
> Li Ma (Nick)
>
> Architect of Stackinsider
>
> Email: skywalker.nick at gmail.com
More information about the Openstack
mailing list