OpenStack 的 HA 方案
根据服务自身状况,HA 分为 Active/Active 和 Active/Passive 两种
- Active/Active: 适合于 stateless/stateful 服务,常用 Load Balancer + Keepalive(VIP) 配置 HA
- Active/Passive: 适用于 stateful 服务,常用 Load Balancer + Keepalive(VIP) + Pacemaker + Corosync 配置 HA
OpenStack HA 实现
Database(Active/Active):
官方推荐:MySQL with Galera
AMQP(Active/Active):
官方推荐:RabbitMQ cluster
OpenStack API(Active/Active):
Keystone, Glance-api, Glance-registry, Neutron-server, Ceilometer-api, Dashboard 均为 stateless 服务,通过 Load Balancer + Keepalive 保证 HA,部署于 Apache server 可提高性能,Haproxy(1.5.0)支持 SSL。
OpenStack scheduler(Active/Active):
Nova-scheduler, nova-conductor, nova-consoleauth, nova-novncproxy, ceilometer-collector, cinder-scheduler 等均为 stateless 服务,恰当的配置与 AMQP server 连接参数即可,具体详见社区文档
Memcached(Active/Active):
- 提高 Dashboard 的性能
- 解决 nova-consoleauth 单点问题
Network:
- neutron DHCP agent(Active/Passive)
- neutron L3 agent(Active/Passive)
- neutron metadata agent(Active/Passive)
- neutron DVR
以上三者均由 Pacemaker + Corosync 配置。