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就完成了。
openstack实现nova-api的HA的更多相关文章
- openstack 用nova API 指定 compute node 创建 instance
感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
- openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
目录 目录 Nova API Nova API 的执行过程 novaclient 将 Commands 转换为标准的HTTP请求 PasteDeploy 将 HTTP 请求路由到具体的 WSGI Ap ...
- OpenStack:安装Nova
>安装Nova1. 安装# apt-get install nova-novncproxy novnc nova-api \ nova-ajax-console-proxy nova-cert ...
- OpenStack之Nova模块
Nova简介 nova和swift是openstack最早的两个组件,nova分为控制节点和计算节点,计算节点通过nova computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,no ...
- 云计算与OpenStack(虚拟机Nova篇)
<云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...
- Openstack之Nova创建虚机流程分析
前言 Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova. 本文就是openstack中Nova模块的分析,所以本文重点是以 ...
- 玩转Openstack之Nova中的协同并发(一)
玩转Openstack之Nova中的协同并发(一) 前不久参加了个Opnstack的Meetup,其中有一个来自EasyStack的大大就Nova中的协同并发做了一番讲解,有所感触,本想当天就总结一下 ...
- OpenStack核心组件-nova计算服务
1. nova介绍 Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. ...
- openstack部署nova
controller 一.创建nova数据库,并设置权限及远程登录 mysql -u root -p CREATE DATABASE nova_api; CREATE DATABASE nova; C ...
- openstack核心组件--nova计算服务(3)
一.nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova ...
随机推荐
- 在另一个线程中无法用((CMainFrame *)AfxGetMainWnd())
一个vc6的项目放到vc8下重新编译这里死活过不去 查了些资料无果后来翻到一句老外的回答 If AfxGetMainWnd is called from the application’s prima ...
- Memcache安装与使用
一.资源下载 安装memcached 之前必需要先安装 libevent 分别在libevent和memcached的官网下载安装包libevent-1.4.14b-stable.tar.gz和mem ...
- 下面哪个进制能表述 13*16=244是正确的?)[中国台湾某计算机硬件公司V2010年5月面试题]
A.5B.7C.9D.11解析:13如果是一个十进制的话,它可以用13=1*101+3*100来表示.现在我们不知道13是几进制,那我们姑且称其X进制.X进制下的13转化为十进制可以用13=1*X1+ ...
- sqlite与sqlserver区别
1.查询时把两个字段拼接在一起 --sqlserver-- select Filed1+'@'+Filed2 from table --sqlite-- select Filed1||'@'||Fil ...
- 九度OJ 1148:Financial Management(财务管理) (平均数)
与1141题相同. 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:843 解决:502 题目描述: Larry graduated this year and finally has a ...
- 九度OJ 1146:Flipping Pancake(翻饼子) (递归、游戏)
时间限制:1 秒 内存限制:32 兆 特殊判题:是 提交:265 解决:116 题目描述: We start with a stack n of pancakes of distinct sizes. ...
- python cookbook第三版学习笔记五:datetime
Python中表示时间的模块是datetime,引入下面的模块 from datetime import datetime,timedelta print datetime.today() #打印出 ...
- mysql服务器启动问题
The server quit without updating PID file (/usr/local/mysql/data/snsgou.pid);可能的情况是启动的用户不对,
- iOS 多语言支持
如果app将来面向国际化,比如说中国需要使用,美国也需要使用,此时就需要考虑app支持多国语言 具体方式如下 首先在Supporting Files中新建 Strings 起名: Localizabl ...
- matlab之sum()函数
sum(A,1):对矩阵A按照列求和: sum(A,2):对矩阵A按照行求和: 默认情况下,是按照列求和的. 举例: A=[1 2 3;1 2 3] sum(A,1)的结果: ans = 2 4 6 ...