使用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

2, /etc/corosync/corosync.conf
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
原创粉丝点击