Heartbeat3.0.5+pacemaker

Heartbeat3.0.5+pacemaker

        最近在部署openstack的双控制节点上需要切换资源,所以学习了一下heartbeat和pacemaker,本来想用heartbeat 2但是操作系统是ubuntu 12.10的,apt下来版本直接是3.0.5的,为了以后部署方便只能硬着头皮学了,网上关于3的内容不多,不过和2区别不大,个人感觉还是关于资源的设置比较麻烦一些。

       两台机器:10.1.1.2(compute-1)  10.1.1.3(compute-2)

安装heartbetat

1apt-get install-y heartbeat
    会自动安装其他三个关键包:pacemaker、resource-agents、 cluster-agents


配置heartbeat

       在/etc/heartbeat下面配置,ubuntu下自动做了一个软连接/etc/heartbeat其实是/etc/ha.d的连接。进入/etc/heartbeat

1cp /usr/share/doc/heartbeat/ha.cf.gz .
2cp /usr/share/doc/heartbeat/authkeys .
3gzip -d ha.cf.gz

       默认目录下并没有相关配置文件,可以自己手动建立,也可以直接修改软件包中自带的模板,因为使用pacemaker管理资源所以不需要拷贝haresources文件,如果使用了crm管理资源,而在配置文件目录含有haresources文件,日志中会提示haresources没有使用。

配置authkeys文件

1auth 2
2#1 crc
32 sha1 openstack
4#3 md5 Hello!
       官方不建议使用crc验证,所以我们使用sha1进行验证, authkeys文件属性必须是600,否则日志会报错。

配置ha.cf文件(10.1.1.2)

01#集群中的节点不会自动加入
02autojoin    none
03 
04#heartbeat会记录debug日志,如果启用use_logd,则此选项会被忽略
05debugfile   /var/log/ha-debug
06 
07#记录所有non-debug消息,如果启用use_logd,则此选项会被忽略
08logfile    /var/log/ha-log
09 
10#告诉heartbeat记录那些syslog
11logfacility   local0
12 
13#指定两个心跳检测包的时间间隔
14keepalive 1
15 
16#多久以后心跳检测决定集群中的node已经挂掉
17deadtime   30
18 
19#心跳包检测的延时事件,如果延时,只是往日志中记录warning日志,并不切换服务
20warntime  10
21 
22#在heartbeat启动后,在多长时间内宣布node是dead状态,因为有时候系统启动后,网络还需要一段时间才能启动
23initdead  120
24 
25#如果udpport指令在bcast ucast指令的前面,则使用哪个端口进行广播,否则使用默认端口
26udpport   694
27 
28#设置使用哪个网络接口发送UDP广播包,可以设置多个网络接口
29#bcast  eth1 eth0
30 
31#设置在哪个网络接口进行多播心跳检测
32#mcast   eth0 239.0.0.1 694 1 0
33 
34#设置使用哪个网络接口进行UDP单播心跳检测,在.3上为10.1.1.2
35ucast  eth0 10.1.1.3
36 
37#在主节点的服务恢复后,是否把从节点的服务切换回来
38auto_failback off
39 
40#告诉集群中有哪些节点,node名称必须是uname -n显示出来的名称,可以在一个node中设置多个节点,也可以多次设置node,每一个在集群中的node都必须被列出来
41node  compute-1
42node  compute-2
43 
44#设置ping节点,ping节点用来检测网络连接
45ping 10.1.1.254
46 
47#开启Pacemaker cluster manager,因为历史原因,次选项默认是off,但是应该保持该选项值为respawn。在设置为respawn默认自动使用以下配置
48pacemaker  respawn
49 
50#默认配置文件中下面还有很多选项,由于暂时用不到所以暂时忽略

启动heartbeat

1/etc/init.d/heartbeat start

两台机器上执行相同的操作即可,注意:ucast的ip设置即可。

查看heartbeat运行状况:crm_mon -1

      可以看到两台机器均在线,但是由于还没有配置资源所以没有资源信息。

      资源管理需求:两台机器作为两台WEB服务器,使用apache软件。对用户接口为VIP(10.1.1.6)。要求不论哪台机器故障、apache服务故障都会把资源切换到正常的服务器上,不影响用户访问。

配置pacemaker,使用交互命令crm,也可以使用非交互模式

1crm configure property stonith-enabled=false
2crm configure property no-quorum-policy=ignore
3crm configure property start-failure-is-fatal=false
4crm configure rsc_defaults migration-threshold=1
5crm configure primitive vip ocf:heartbeat:IPaddr2 params ip=10.1.1.6 nic=br100op monitor interval=3s
6crm configure primitive www lsb:apache2 op monitor interval="10s"
7crm configure group group1 vip www

再次使用crm查看资源状态

       可以看到vip资源和web资源目前运行在compute-1上面,这时候不论是停止compute-1上的apache服务还是网络都会导致vip资源和web资源一起切换到compute-2上。

       关键的难点在crm上,关于crm的信息在下一篇中介绍。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值