安装openstack的过程中,区分controller和compute节点,配置网络,计算时不同类型的节点上启动的服务是不一样的。
我们来把openstck的服务分一下:
keystone做认证,目前没配过HA的集群;
Ceph做集群后端,配分布式存储集群,集群本身有备份冗余,HA是天生的;
使用OVS时候,neutron在计算节点需要配置openvswitch agent,计算节点挂点是没关系的(不要大规模宕就行);
nova中compute节点配置nova-compute,和上面openvswitch agent一样;
数据库,天然是可以配置HA的;
镜像可以存在Ceph的集群中;
对neutron,nova,cinder,glance来说都有接收rest 请求的服务xxx-api,接收到服务之后,各个模块会配置MQ,xxx-api(conductor等其他service就不列举了)
和compute/agent等都是通过MQ通信的;
在上面的几点之下,对小中型集群做openstack cluster做HA,一个方案浮出来了:
1. 将xxx-api(其他比如glance-registery,nova-cert,neutron-l3-agent扥等)放在一个节点上;
2.放在一个几点之后用keepalived配VIP将该节点做HA(做负载均衡和HA两种方案LVS+keepalived/haproxy+heartbeat)
3. 集群内部用vlan分离管理网络,存储网络,计算网络;
4.网络上在switch上配HA,单节点上用vnic做bond来HA;