openstack实现nova-api的HA

1       实验环境

  • Openstack juno版本,一个controller(计算节点也在这个物理节点上)和一个网络节点network
  • 使用haproxy作为代理软件
  • 使用pacemaker作为资源管理工具
  • 因为这里只用这两个节点做实验所以这两个节点即作为openstack节点同事也作为ha的主从节点

2       安装配置haproxy

分别在controller和network上安装

2.1       安装

执行 yum install haproxy –y

2.2       配置

修改 /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

3       安装和配置pacemaker

controller和network上都要安装

3.1       安装

执行yum install pacemaker  corosync  pcs  fence-agents-all –y

修改hacluster密码,执行passwd hacluster

执行systemctl enable pcsd.service pacemaker.service corosync.service和systemctl start pcsd.service

3.2       配置

在控制节点执行

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

3.3       集群属性设置

执行如下命令:

pcs property set stonith-enabled=false

pcs property set no-quorum-policy=ignore

pcs resource defaults resource-stickiness=100

crm_verify -L –V

3.4       Vip设置

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

 

3.5       查看crm状态

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';

3.6       登录http://172.16.1.78:8001/stats

查看一下界面如下,可以看到正常登录,到此nova-api的HA就完成了。

posted on 2015-09-08 22:49  iampolly  阅读(636)  评论(0编辑  收藏  举报

导航