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就完成了。
最新文章
- 在Activity之间传递参数(四)
- Thrift 个人实战--Thrift 服务化 Client的改造
- So easy Webservice 2.WebService介绍
- Hive与HBase区别
- JAVA逻辑字符串判断真假
- libevent中定时器的使用方法
- HDU 5629 Clarke and tree dp+prufer序列
- Good Bye 2015B
- aix 文件大小相关查询
- jquery 下拉多选插件
- 深和学习导航CSS样式
- P2051 [AHOI2009]中国象棋
- 01_GIT基础、安装
- 优雅使用 illuminate/database 包中的 Collection
- CentOS常用命令大全
- SSM-SpringMVC-24:SpringMVC异常高级之自定义异常
- kendo ui DatePicker 时区转换
- width属性
- Centos 7最小化Mongodb部署操作
- yarn-RM-check-by-curl
热门文章
- Python常用变量处理手记(拼接数字,转json)
- 2015年多校联合训练第一场OO’s Sequence(hdu5288)
- python 基础 6.2 raise 关键字使用
- 【BZOJ3110】[Zjoi2013]K大数查询 树套树
- android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)
- 详解Vue 实例中的生命周期钩子
- HNOI2017
- 【python】python调用shell方法
- ubuntu 搭建 tomcat
- Database: index