根據服務自身狀況,HA 分爲 Active/Active 和 Active/Passive 兩種
Active/Active: 適合於 stateless/stateful 服務,常用 load balance + keepalive(VIP) 配置 HA
Active/Passive: 適用於 stateful 服務,常用 load balance + keepalive(VIP) + pacemaker + Corosync 配置 HA
Openstack HA 實現
Database(Active/Active):
官方推薦:MySQL with Galera
http://docs.openstack.org/high-availability-guide/content/ha-aa-db.html
AMQP(Active/Active):
官方推薦:RabbitMQ cluster
https://openstack.redhat.com/RabbitMQ
Openstack API(Active/Active):
keystone, glance-api, glance-registry, neutron-server, ceilometer-api, dashboard。
均爲 stateless 服務,通過 Load balance + keepalive 保證 HA,部署於 Apache server 可提高性能,Haproxy(1.5.0)支持 SSL。
Loadbalance for openstack api
http://openstack.redhat.com/Load_Balance_OpenStack_API
Configuration SSL for haproxy
http://www.b2btech.in/implement-ssl-termination-haproxy-ubuntu-14-04
Runs openstack api in apache
http://andy.mc.it/2013/07/apache2-mod_wsgi-openstack-pt-2-nova-api-os-compute-nova-api-ec2/#comment-35
Openstack scheduler(Active/Active):
nova-scheduler, nova-conductor, nova-consoleauth, nova-novncproxy, ceilometer-collector, cinder-scheduler。
均爲 stateless 服務,恰當的配置與 AMQP server 連接參數即可
http://docs.openstack.org/high-availability-guide/content/_run_openstack_api_and_schedulers.html
Memcached(Active/Active):
1. 提高 Dashboard 的性能
2. 解決 nova-consoleauth 單點問題
https://code.google.com/p/memcached/wiki/NewStart
Network:
1. neutron DHCP agent(Active/Passive)
2. neutron L3 agent(Active/Passive)
3. neutron metadata agent(Active/Passive)
以上三者均由 Pacemaker + Corosync 配置
http://docs.openstack.org/high-availability-guide/content/ch-network.html
Storage:
ceph 保證 image storage, volume storage, nova backend 可靠性
http://www.ceph.com/docs/next/rbd/rbd-openstack/