Regions and Availability Zones

asked 2015-08-17 21:44:33 -0500

Royo gravatar image

Hey there OpenStack users,

I spent the past few days deploying a multi-site highly available OpenStack controller. My current setup features a Juno install of Nova, Cinder, Heat, Neutron, Keystone, Horizon and Ceilometer instances, deployed separately on 2 controllers that are split among 2 datacenters. Their MySQL backends are continuously synced using Galera replication.

Now, of course I'd like to segregate my compute nodes to be able to tell the difference between the 2 sites. I've seen the OpenStack Scaling document that is the sole reference for OpenStack segregation, and found it a bit lackluster to decide whether I want to deploy Regions or Availability Zones.

The purpose of my architecture is testing out Disaster Tolerance (one datacenter completely losing power) complemented by an SDN platform (NuageNetworks in this case).

Now, to my understanding (and feel free to correct me, it's exactly this I'm unsure of) when deploying regions all your endpoints become separate instances, with a separate database table for each (or just Nova? unsure) of them (except for Keystone). This would mean I would lose VM deployment information upon failover. Am I understanding this wrong? Can two nova instances serving two different regions still be deployed on one database table, keeping information centralized?

The easy way out for me is of course using Availability Zones, but this seems architecturally the "wrong" choice for realistic multi-site setups, especially when the sites are further apart.

Am I correct in my reasoning? Anyone wanna chime in? Thanks for reading, Royo

edit retag flag offensive close merge delete