corosync+pacemaker测试用例

corosync+pacemaker测试用例:

环境描述:

1.    集群中有三个节点,如下

ü  Control  

ü  compute1  

ü  node-3   这个节点是虚拟机,在control上面启动的

每个节点都有两个网卡,分别作为mgt平面和pub平面,mgt网卡用来承载corosync之间心跳报文

 

2.定义了两个资源:

ü  pub_vip  #浮动IP 10.25.49.10,为haproxy使用,可通过浏览器访问http://10.25.49.10:10000观察状态

ü  pub_haproxy #haproxy进程

 

3.配置的约束:

ü  pub_vip和pub_haproxy绑定到一起,在同一个节点上面启动,使用colocation进行约束;

ü  pub_vip每次都在pub_hapoxy之前启动,使用order进行约束;

 

用例描述

0.起始状态

pub_vip和pub_haproxy都位于node-3节点

 

1.将node-3节点置为standby,node-3节点上面的资源会自动切换到另外一个节点

crmnode standby node-3

crmnode online node-3

注意:一旦切换后,如果利用location指定了某些资源放置在node-3, 再将其设置为online,也能正常切换回来

 

2.杀死haproxy进程,杀死后能够重新自动拉起来

注意:连续杀死3次(具体次数和migration-threshold配置有关)后,该节点就会被认为处于ineligible状态,然后crm就不会再将资源放置上面,资源会自动切换到另外一个节点上面。

 

3.直接将端口down掉

1)将pub端口down掉,pub_vip和pub_haproxy会自动切换到另外一个节点,此时node-3仍处于Online。此时再将pub端口置为up,pub_vip没有自动切换回来。

注意:如果重新使用location将pub_vip设置为在node-3节点启动,那么pub_vip还是会切换到node-3上面。

2)将mgt端口down掉,node-3就直接变成offline,同时集群分裂为两个,node-3单独成为一个集群,但没有任何资源,此时再将mgt端口置为up,集群会恢复正常,同时pub_vip会自动切换回来,但很快又会分裂为两个集群,mgt端口IP自动消失

注意:将集群中node-3节点删除,同时将location中涉及到node-3的规则删除,然后将node-3上面的corosync和pacemaker重启后,集群才能重新恢复正常

 

4.将node-3重启

重启后,pub_vip和pub_haproxy会自动切换到其他节点

 

5.杀死node-3上面的corosync进程

node-3自动变为offline,资源自动切换

配置

node1: control \

        attributes standby=off

node2: compute1 \

        attributes standby=off

node3: node-3

primitivemgt_haproxy ocf:nsp:haproxy_mgt \

        op monitor interval=20 timeout=10 \

        op start interval=0 timeout=30 \

        op stop interval=0 timeout=30 \

        meta migration-threshold=3failure-timeout=120 target-role=Started

primitivemgt_vip IPaddr2 \

        params ip=192.168.100.10 \

        op monitor interval=3 timeout=30 \

        op start interval=0 timeout=30 \

        op stop interval=0 timeout=30 \

        meta migration-threshold=3failure-timeout=60 resource-stickiness=1

primitivep_neutron_agent_dhcp ocf:nsp:neutron-agent-dhcp \

        op monitor interval=10 timeout=20

primitivep_neutron_agent_l3 ocf:nsp:neutron-agent-l3 \

        op monitor interval=10 timeout=20 \

        meta target-role=Started

primitivepub_haproxy ocf:nsp:haproxy_pub \

        op monitor interval=20 timeout=10 \

        op start interval=0 timeout=30 \

        op stop interval=0 timeout=30 \

        meta migration-threshold=3failure-timeout=120 target-role=Started

primitivepub_vip IPaddr2 \

        params ip=10.25.49.10 \

        op monitor interval=3 timeout=30 \

        op start interval=0 timeout=30 \

        op stop interval=0 timeout=30 \

        meta migration-threshold=3failure-timeout=60 resource-stickiness=1 target-role=Started

cloneclone_neutron_agent_dhcp p_neutron_agent_dhcp \

        meta interleave=truetarget-role=Stopped

locationclone_neutron_agent_dhcp-on-compute1 clone_neutron_agent_dhcp 100: compute1

locationclone_neutron_agent_dhcp-on-control clone_neutron_agent_dhcp 100: control

locationneutron_agent_l3-on-control-node p_neutron_agent_l3 100: control

locationpub_vip-on-node-3 pub_vip 100: node-3

colocationmgt_vip-with-mgt_haproxy inf: mgt_vip mgt_haproxy

colocationpub_vip-with-pub_haproxy inf: pub_vip pub_haproxy

orderpub_haproxy-after-pub_vip inf: pub_vip pub_haproxy symmetrical=true

propertycib-bootstrap-options: \

        have-watchdog=false \

        dc-version=1.1.13-10.el7_2.4-44eb2dd \

       cluster-infrastructure=corosync \

        last-lrm-refresh=1473749609 \

        stonith-enabled=false

 

参考资料

1.http://blog.csdn.net/tantexian/article/details/50160159  自定义 Pacemaker OCF 资源

2.http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Pacemaker_Explained/s-resource-options.html  官方文档

你可能感兴趣的:(openstack)