使用pacemaker为OpenStack组件添加HA服务(by quqi99)
来源:互联网 发布:什么软件马赛克好看 编辑:程序博客网 时间:2024/04/29 19:09
作者:张华 发表于:2016-07-21
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
( http://blog.csdn.net/quqi99 )
问题
本文描述如何用packmaker为ceilometer添加HA服务.
使用Juju/MAAS快速部署测试环境
1, 下载测试用的juju yaml
bzr branch lp:~openstack-charmers/+junk/openstack-charm-testing
2, 修改dev.yaml添加如下内容,其中注释掉ceilometer的branch是为了使用本地开发用的ceilometer
ceilometer-hacluster: branch: https://github.com/openstack/charm-hacluster options: debug: True ceilometer: #comment branch comment to use local charm #branch: https://github.com/openstack/charm-ceilometer constraints: mem=1G num_units: 3 options: vip: 10.5.100.20
它相当于下列命令:
git clone https://github.com/openstack/charm-hacluster ceilometer-clusterjuju deploy --repository=/home/ubuntu/openstack-charm-testing local:trusty/ceilometer-clusterjuju deploy -n3 --repository=/home/ubuntu/openstack-charm-testing local:trusty/ceilometerjuju deploy ceilometer-agentjuju set ceilometer vip=10.5.100.20juju add-relation ceilometer ceilometer-clusterjuju add-relation ceilometer keystone:identity-servicejuju add-relation ceilometer keystone:identity-notificationsjuju add-relation ceilometer rabbitmq-serverjuju add-relation ceilometer mongodbjuju add-relation ceilometer-agent nova-computejuju add-relation ceilometer-agent ceilometer
3, 修改dev.yaml添加关系
- [ ceilometer, ceilometer-hacluster ]
4, 部署MAAS(略),然后执行juju命令一键部署OpenStack环境
juju-deployer -c ./next.yaml -d trusty-liberty
背后发生了什么
1, /etc/haproxy/haproxy.cfg
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 20000 user haproxy group haproxy spread-checks 0defaults log global mode tcp option tcplog option dontlognull retries 3 timeout queue 5000 timeout connect 5000 timeout client 30000 timeout server 30000listen stats bind 127.0.0.1:8888 mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth admin:sqn99Cdznn2hYbSJz9nfnJ43fhWwVjpkfrontend tcp-in_ceilometer_api bind *:8777 acl net_10.5.4.61 dst 10.5.4.61/255.255.0.0 use_backend ceilometer_api_10.5.4.61 if net_10.5.4.61 default_backend ceilometer_api_10.5.4.61backend ceilometer_api_10.5.4.61 balance leastconn server ceilometer-2 10.5.4.64:8767 check server ceilometer-0 10.5.4.63:8767 check server ceilometer-1 10.5.4.61:8767 check
totem { version: 2 # How long before declaring a token lost (ms) token: 3000 # How many token retransmits before forming a new configuration token_retransmits_before_loss_const: 10 # How long to wait for join messages in the membership protocol (ms) join: 60 # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms) consensus: 3600 # Turn off the virtual synchrony filter vsftype: none # Number of messages that may be sent by one processor on receipt of the token max_messages: 20 # Limit generated nodeids to 31-bits (positive signed integers) clear_node_high_bit: yes # Disable encryption secauth: off # How many threads to use for encryption/decryption threads: 0 ip_version: ipv4 # This specifies the mode of redundant ring, which may be none, active, or passive. rrp_mode: none interface { # The following values need to be set based on your environment ringnumber: 0 bindnetaddr: 10.5.0.0 mcastaddr: 226.94.1.1 mcastport: 5403 } transport: udp}quorum { # Enable and configure quorum subsystem (default: off) # see also corosync.conf.5 and votequorum.5 provider: corosync_votequorum expected_votes: 3 }logging { fileline: off to_stderr: yes to_logfile: no to_syslog: yes syslog_facility: daemon debug: on logger_subsys { subsys: QUORUM debug: on }}
3, sudo crm configure show
$ sudo crm configure shownode $id="168100925" juju-zhhuabj-machine-2 \attributes standby="on"node $id="168100927" juju-zhhuabj-machine-1 \attributes standby="off"node $id="168100928" juju-zhhuabj-machine-3 \attributes standby="off"primitive res_ceilometer_agent_central ocf:openstack:ceilometer-agent-central \op monitor interval="30s" \meta target-role="Started"primitive res_ceilometer_eth0_vip ocf:heartbeat:IPaddr2 \params ip="10.5.100.20" cidr_netmask="255.255.0.0" nic="eth0"primitive res_ceilometer_haproxy lsb:haproxy \op monitor interval="5s"group grp_ceilometer_vips res_ceilometer_eth0_vipclone cl_ceilometer_haproxy res_ceilometer_haproxyproperty $id="cib-bootstrap-options" \dc-version="1.1.10-42f2063" \cluster-infrastructure="corosync" \no-quorum-policy="ignore" \stonith-enabled="false" \last-lrm-refresh="1468984707"rsc_defaults $id="rsc-options" \resource-stickiness="100"
参考
[1] https://wiki.ubuntu.com/OpenStack/OpenStackCharms/ReleaseNotes1501
0 0
- 使用pacemaker为OpenStack组件添加HA服务(by quqi99)
- 使用Corosync+Pacemaker为Icehouse L3-agent提供Active/Passive HA服务(by quqi99)
- 使用Chef部署OpenStack (by quqi99)
- openstack mtu (by quqi99)
- 在CentOS 7上使用PaceMaker构建NFS HA服务
- OpenStack高可用 -- DRBD块镜像 + Pacemaker心跳机制实现Active/Passive模式的高可用mysql集群 ( by quqi99 )
- corosync+pacemaker实现openstack HA(一)
- corosync+pacemaker实现openstack HA(二)
- 使用eclipse+pydev远程调试OpenStack(by quqi99)
- OpenStack中的防火墙 ( by quqi99 )
- Openstack extension api ( by quqi99 )
- Openstack中的测试 ( by quqi99 )
- Openstack extension api ( by quqi99 )
- OpenStack TripleO印象( by quqi99 )
- OpenStack IPSec VPNaaS ( by quqi99 )
- Testing OpenStack NUMA (by quqi99)
- Test OpenStack SRIOV (by quqi99)
- Neutron中的L3 HA特性(by quqi99)
- php_lang_ref:classes and objects >> object interface
- jQuery.Callbacks之demo
- Android使用FAAC进行AAC编码详解必看以及注意事项
- Log日志工具类
- Java 生成器 freemarker+rapid-generator 配置
- 使用pacemaker为OpenStack组件添加HA服务(by quqi99)
- X86&&X64 汇编学习——调用汇编函数
- 收集的两个效果还不错的时间选择器
- 【腾讯bugly干货分享】微信Android热补丁实践演进之路
- PLSQL
- 查看表空间是否可扩展
- LeetCode - 162. Find Peak Element
- JavaScript 学习篇(1)
- 2016-7-8月的一些计划