分别在controller和network上安装
执行 yum install haproxy –y
修改 /etc/haproxy/haproxy.cfg,如图:
Global为默认:
主要是添加如下内容:
listen nova_compute_api_cluster 172.16.1.5:8774
balance source
option tcpka
option httpchk
option tcplog
server controller 172.16.1.75:8774 weight 1 check inter 10s rise 2 fall 5
server network 172.16.1.74:8774 weight 1 check inter 10s rise 2 fall 5
listen status 172.16.1.5:8001
stats enable
stats uri /stats
stats auth admin:123456
stats realm Global\statistic
编辑文件/etc/sysctl.d/haproxy.conf,添加net.ipv4.ip_nonlocal_bind = 1
在controller和network上都要安装
执行yum install pacemaker corosync pcs fence-agents-all –y
修改hacluster密码,执行passwd hacluster
执行systemctl enable pcsd.service pacemaker.service corosync.service和systemctl start pcsd.service
在控制节点执行
pcs cluster auth controller network
pcs cluster setup --start --name openstack-cluster controller network
pcs cluster enable –all
检查一下状态,执行如下命令:
corosync-cfgtool -s
corosync-cmapctl | grep members
pcs status corosync
pcs status
执行如下命令:
pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore
pcs resource defaults resource-stickiness=100
crm_verify -L –V
pcs resource create ClusterIP-01 ocf:heartbeat:IPaddr2 ip=172.16.1.78 cidr_netmask=24 op monitor interval=5s
pcs resource create HAproxy systemd:haproxy op monitor interval=5s
pcs resource group add HAproxyIPs ClusterIP-01
pcs constraint colocation add HAproxy HAproxyIPs INFINITY
pcs constraint order HAproxyIPs then HAproxy
crm_mon -1
出错,修改一个keystone endpoint, nova的endpoint要使用vip,进入数据修改keystone数据库,执行update endpoint set url=‘http://172.16.1.78:8774/v2.0enant_id)s‘ where url=‘http://controller:8774/v2.0/%(tenant_id)s‘;
查看一下界面如下,可以看到正常登录,到此nova-api的HA就完成了。
原文:http://www.cnblogs.com/zhangzhengyan/p/4793216.html