[Openstack] How to deploy OpenStack on thousands of nodes?
Hi All, We are currently trying to deploy OpenStack on thousands of nodes. We are using Grizzly stable version and Ubuntu 12.04.2. However, the big problem we meet now is the network topology. If we want to use HA (haproxy + keepalived) for the controller nodes on which *-apis are running as well as network nodes which are deployed across different VLANs (VLANs can reach each other by setting gateways), e.g 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we found that rabbitmq could not work when nova-* services were deployed across different subnets. Thus, we want to know whether HA and rabbitmq can be used across subnets? If it not true, we can only deploy them in a single flat layer 2 net, which seems unfeasible in real-world because of broadcast storms... Best, Kylin CG ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
I'll speak to your rabbit question: By default rabbit uses tcp port 5672 for communication.. tcp can certainly cross subnet boundaries and be routed without issue. I suggest you do some network troubleshooting; ping your rabbit server then telnet to port 5672 on the rabbit server from hosts on the other subnets. Check your router acls and local host firewalls. Check to make sure that your rabbit server has a route to get back to the other subnets with the reply. Dual homed hosts with one local connection and one Internet connection will need specific routes added to allow them to reach other local subnets since you wouldn't want that traffic to try to traverse the default route which points out to the Internet. This is true even if you are using virtual interfaces with vlans instead of separate physical interfaces. Regards, Brent On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: > Hi All, > > We are currently trying to deploy OpenStack on thousands of nodes. We > are using Grizzly stable version and Ubuntu 12.04.2. However, the big > problem we meet now is the network topology. If we want to use HA > (haproxy + keepalived) for the controller nodes on which *-apis are > running as well as network nodes which are deployed across different > VLANs (VLANs can reach each other by setting gateways), e.g > 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we > found that rabbitmq could not work when nova-* services were deployed > across different subnets. > > Thus, we want to know whether HA and rabbitmq can be used across > subnets? If it not true, we can only deploy them in a single flat > layer 2 net, which seems unfeasible in real-world because of > broadcast storms... > > Best, > > Kylin CG > > ___ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
By default rabbit uses tcp port 5672 for communication.. tcp can certainly cross subnet boundaries and be routed without issue. I suggest you do some network troubleshooting; ping your rabbit server then telnet to port 5672 on the rabbit server from hosts on the other subnets. Check your router acls and local host firewalls. Check to make sure that your rabbit server has a route to get back to the other subnets with the reply. Dual homed hosts with one local connection and one Internet connection will need specific routes added to allow them to reach other local subnets since you wouldn't want that traffic to try to traverse the default route which points out to the Internet. This is true even if you are using virtual interfaces with vlans instead of separate physical interfaces. Regards, Brent On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: > Hi All, > > We are currently trying to deploy OpenStack on thousands of nodes. We > are using Grizzly stable version and Ubuntu 12.04.2. However, the big > problem we meet now is the network topology. If we want to use HA > (haproxy + keepalived) for the controller nodes on which *-apis are > running as well as network nodes which are deployed across different > VLANs (VLANs can reach each other by setting gateways), e.g > 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we > found that rabbitmq could not work when nova-* services were deployed > across different subnets. > > Thus, we want to know whether HA and rabbitmq can be used across > subnets? If it not true, we can only deploy them in a single flat > layer 2 net, which seems unfeasible in real-world because of > broadcast storms... > > Best, > > Kylin CG > > ___ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
Hi Brent, Thanks for your reply! But we are afraid that Rabbitmq needs broadcast to work correctly and usually broadcast is not available in cross-subnets deployments. That is what we are worrying about... Best, Kylin CG 2013/6/26 Brent Roskos > By default rabbit uses tcp port 5672 for communication.. tcp can certainly > cross subnet boundaries and be routed without issue. > > I suggest you do some network troubleshooting; ping your rabbit server > then telnet to port 5672 on the rabbit server from hosts on the other > subnets. > > Check your router acls and local host firewalls. Check to make sure that > your rabbit server has a route to get back to the other subnets with the > reply. > > Dual homed hosts with one local connection and one Internet connection > will need specific routes added to allow them to reach other local subnets > since you wouldn't want that traffic to try to traverse the default route > which points out to the Internet. This is true even if you are using > virtual interfaces with vlans instead of separate physical interfaces. > > Regards, > Brent > > > On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: > >> Hi All, >> >> We are currently trying to deploy OpenStack on thousands of nodes. We >> are using Grizzly stable version and Ubuntu 12.04.2. However, the big >> problem we meet now is the network topology. If we want to use HA >> (haproxy + keepalived) for the controller nodes on which *-apis are >> running as well as network nodes which are deployed across different >> VLANs (VLANs can reach each other by setting gateways), e.g >> 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we >> found that rabbitmq could not work when nova-* services were deployed >> across different subnets. >> >> Thus, we want to know whether HA and rabbitmq can be used across >> subnets? If it not true, we can only deploy them in a single flat >> layer 2 net, which seems unfeasible in real-world because of >> broadcast storms... >> >> Best, >> >> Kylin CG >> >> ___ >> Mailing list: https://launchpad.net/~openstack >> Post to : openstack@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp >> > > ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
I'd suggest to have a look at the openstack Operations Guide which contains information on scaling approaches (http://docs.openstack.org/ops/) In particular, the use of cells is a good way to build large scale infrastructures (see http://docs.openstack.org/trunk/openstack-ops/content/scaling.html) Tim smime.p7s Description: S/MIME cryptographic signature ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
Kylin, I think there is some confusion as to the term broadcast. Many of the Rabbit docs describe the delivery of a message from one publisher to multiple subscribers as a 'broadcast'. This is not to be confused with a network broadcast where traffic is sent over the network broadcast address. Rabbit uses tcp and a publisher/subscriber model - even in more complex configurations where there are multiple publishers (think cluster). I have personally implemented large openstack compute clouds that had many hypervisors, each on individual subnets and a rabbit server on yet another subnet and all message traffic worked as expected. There were no actual network broadcasts to worry about. In my previous message I had assumed that you were actually in the process of implementation and were running into problems. It now seems that is not the case - you are in a review or planning period. However - as I noted above the openstack queues on rabbit will work in a distributed network configuration as long as all of the subscribers can reach the rabbit server on tcp/5672. I've personally done it and not had an issue. Brent On Tue, Jun 25, 2013 at 9:40 PM, Sg Kylin wrote: > Hi Brent, > > Thanks for your reply! But we are afraid that Rabbitmq needs broadcast to > work correctly and usually broadcast is not available in cross-subnets > deployments. That is what we are worrying about... > > Best, > > Kylin CG > > > > > 2013/6/26 Brent Roskos > >> By default rabbit uses tcp port 5672 for communication.. tcp can >> certainly cross subnet boundaries and be routed without issue. >> >> I suggest you do some network troubleshooting; ping your rabbit server >> then telnet to port 5672 on the rabbit server from hosts on the other >> subnets. >> >> Check your router acls and local host firewalls. Check to make sure that >> your rabbit server has a route to get back to the other subnets with the >> reply. >> >> Dual homed hosts with one local connection and one Internet connection >> will need specific routes added to allow them to reach other local subnets >> since you wouldn't want that traffic to try to traverse the default route >> which points out to the Internet. This is true even if you are using >> virtual interfaces with vlans instead of separate physical interfaces. >> >> Regards, >> Brent >> >> >> On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: >> >>> Hi All, >>> >>> We are currently trying to deploy OpenStack on thousands of nodes. We >>> are using Grizzly stable version and Ubuntu 12.04.2. However, the big >>> problem we meet now is the network topology. If we want to use HA >>> (haproxy + keepalived) for the controller nodes on which *-apis are >>> running as well as network nodes which are deployed across different >>> VLANs (VLANs can reach each other by setting gateways), e.g >>> 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we >>> found that rabbitmq could not work when nova-* services were deployed >>> across different subnets. >>> >>> Thus, we want to know whether HA and rabbitmq can be used across >>> subnets? If it not true, we can only deploy them in a single flat >>> layer 2 net, which seems unfeasible in real-world because of >>> broadcast storms... >>> >>> Best, >>> >>> Kylin CG >>> >>> ___ >>> Mailing list: https://launchpad.net/~openstack >>> Post to : openstack@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~openstack >>> More help : https://help.launchpad.net/ListHelp >>> >> >> > ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
Hi Brent, Thanks very much for your sharing of your experience. I want to clarify that we are indeed trying to deploy OpenStack on thousands of nodes. The first block we met was keepalived based HA which needs multicast. Thus we are reviewing our network topology design again. At the same time we knew from the docs of rabbmit needs broadcast. And in the first try we made a wrong configuration for rabbitmq thus it did not work. We will have a detailed test on both of that. Best, Kylin CG 2013/6/26 Brent Roskos > Kylin, > > I think there is some confusion as to the term broadcast. Many of the > Rabbit docs describe the delivery of a message from one publisher to > multiple subscribers as a 'broadcast'. This is not to be confused with a > network broadcast where traffic is sent over the network broadcast address. > Rabbit uses tcp and a publisher/subscriber model - even in more complex > configurations where there are multiple publishers (think cluster). > > I have personally implemented large openstack compute clouds that had many > hypervisors, each on individual subnets and a rabbit server on yet another > subnet and all message traffic worked as expected. There were no actual > network broadcasts to worry about. > > In my previous message I had assumed that you were actually in the process > of implementation and were running into problems. It now seems that is not > the case - you are in a review or planning period. However - as I noted > above the openstack queues on rabbit will work in a distributed network > configuration as long as all of the subscribers can reach the rabbit server > on tcp/5672. I've personally done it and not had an issue. > > Brent > > > On Tue, Jun 25, 2013 at 9:40 PM, Sg Kylin wrote: > >> Hi Brent, >> >> Thanks for your reply! But we are afraid that Rabbitmq needs broadcast to >> work correctly and usually broadcast is not available in cross-subnets >> deployments. That is what we are worrying about... >> >> Best, >> >> Kylin CG >> >> >> >> >> 2013/6/26 Brent Roskos >> >>> By default rabbit uses tcp port 5672 for communication.. tcp can >>> certainly cross subnet boundaries and be routed without issue. >>> >>> I suggest you do some network troubleshooting; ping your rabbit server >>> then telnet to port 5672 on the rabbit server from hosts on the other >>> subnets. >>> >>> Check your router acls and local host firewalls. Check to make sure >>> that your rabbit server has a route to get back to the other subnets with >>> the reply. >>> >>> Dual homed hosts with one local connection and one Internet connection >>> will need specific routes added to allow them to reach other local subnets >>> since you wouldn't want that traffic to try to traverse the default route >>> which points out to the Internet. This is true even if you are using >>> virtual interfaces with vlans instead of separate physical interfaces. >>> >>> Regards, >>> Brent >>> >>> >>> On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: >>> Hi All, We are currently trying to deploy OpenStack on thousands of nodes. We are using Grizzly stable version and Ubuntu 12.04.2. However, the big problem we meet now is the network topology. If we want to use HA (haproxy + keepalived) for the controller nodes on which *-apis are running as well as network nodes which are deployed across different VLANs (VLANs can reach each other by setting gateways), e.g 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we found that rabbitmq could not work when nova-* services were deployed across different subnets. Thus, we want to know whether HA and rabbitmq can be used across subnets? If it not true, we can only deploy them in a single flat layer 2 net, which seems unfeasible in real-world because of broadcast storms... Best, Kylin CG ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp >>> >>> >> > ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] How to deploy OpenStack on thousands of nodes?
Kylin, I've previously used ECMP to balance traffic to Openstack components that scale laterally like nova-api. This was fairly easy to set up and worked well for what we needed where state was not needed. I've also used keepalived for services that did not scale laterally. In this case I put two horizon servers behind an active/passive virtual IP. This was also pretty simple as there was no need to maintain state information in for active passive. That wouldn't work quite as well when capacity thresholds started to become a concern. Neither of the above required multicast support - which really helps with deployment options. Support for Rabbit and persistent queues in Openstack has gotten much better, making a highly available rabbit configuration at least possible. I've not done much with this myself, beyond basic active/passive. I've worked with one particular implementation that used ZeroMQ to handle messaging with no single point of failure. ZMQ is peer to peer with no central message server. This works - but can be problematic for some of the less mature Openstack products, like Ceilometer which doesn't have full ZMQ support yet. On Wed, Jun 26, 2013 at 9:00 AM, Sg Kylin wrote: > Hi Brent, > > Thanks very much for your sharing of your experience. I want to clarify > that we are indeed trying to deploy OpenStack on thousands of nodes. The > first block we met was keepalived based HA which needs multicast. Thus we > are reviewing our network topology design again. At the same time we knew > from the docs of rabbmit needs broadcast. And in the first try we made a > wrong configuration for rabbitmq thus it did not work. We will have a > detailed test on both of that. > > Best, > > Kylin CG > > > 2013/6/26 Brent Roskos > >> Kylin, >> >> I think there is some confusion as to the term broadcast. Many of the >> Rabbit docs describe the delivery of a message from one publisher to >> multiple subscribers as a 'broadcast'. This is not to be confused with a >> network broadcast where traffic is sent over the network broadcast address. >> Rabbit uses tcp and a publisher/subscriber model - even in more complex >> configurations where there are multiple publishers (think cluster). >> >> I have personally implemented large openstack compute clouds that had >> many hypervisors, each on individual subnets and a rabbit server on yet >> another subnet and all message traffic worked as expected. There were no >> actual network broadcasts to worry about. >> >> In my previous message I had assumed that you were actually in the >> process of implementation and were running into problems. It now seems >> that is not the case - you are in a review or planning period. However - >> as I noted above the openstack queues on rabbit will work in a distributed >> network configuration as long as all of the subscribers can reach the >> rabbit server on tcp/5672. I've personally done it and not had an issue. >> >> Brent >> >> >> On Tue, Jun 25, 2013 at 9:40 PM, Sg Kylin wrote: >> >>> Hi Brent, >>> >>> Thanks for your reply! But we are afraid that Rabbitmq needs broadcast >>> to work correctly and usually broadcast is not available in cross-subnets >>> deployments. That is what we are worrying about... >>> >>> Best, >>> >>> Kylin CG >>> >>> >>> >>> >>> 2013/6/26 Brent Roskos >>> By default rabbit uses tcp port 5672 for communication.. tcp can certainly cross subnet boundaries and be routed without issue. I suggest you do some network troubleshooting; ping your rabbit server then telnet to port 5672 on the rabbit server from hosts on the other subnets. Check your router acls and local host firewalls. Check to make sure that your rabbit server has a route to get back to the other subnets with the reply. Dual homed hosts with one local connection and one Internet connection will need specific routes added to allow them to reach other local subnets since you wouldn't want that traffic to try to traverse the default route which points out to the Internet. This is true even if you are using virtual interfaces with vlans instead of separate physical interfaces. Regards, Brent On Tue, Jun 25, 2013 at 6:10 AM, Sg Kylin wrote: > Hi All, > > We are currently trying to deploy OpenStack on thousands of nodes. We > are using Grizzly stable version and Ubuntu 12.04.2. However, the big > problem we meet now is the network topology. If we want to use HA > (haproxy + keepalived) for the controller nodes on which *-apis are > running as well as network nodes which are deployed across different > VLANs (VLANs can reach each other by setting gateways), e.g > 10.1.0.0/16 and 10.2.0.0/16, HA would not work correctly. Also we > found that rabbitmq could not work when nova-* services were deployed > across different subnets. > > Thus, we want to know whether HA and