【Heartbeat】安装配置

    网上很多Heartbeat相关的资料,但实际上真正可用的貌似不是很多,这里写一个本人使用OK的安装配置方式。

【安装方式】
    作为比较成熟的HA开源软件,大致有下面的两种安装方式:
1.从官方网站http://www.linux-ha.org/wiki/Main_Page获取源码编译rpm包,没有深入研究,不敢过多评论,反正道路应该不是很平坦;
2.下载网上的rpm包或者使用某些Linux的软件管理工具下载,这种方式较为简单,但是坑也很多(经常有下载的rpm包与Linux内核不匹配的情况,然后就没法往下搞了);

【一种可用的安装方式】
    简单说一下前面选择的CentOS6.4版本,使用yum安装,最后发现cluster-glue的版本匹配不上,貌似有一个全局变量的声明被注释掉了,导致无法与pacemaker配合起来使用。
    操作系统选择了Ubuntu12.04的Server版本,安装方式如下:
apt-get install -y heartbeat

    会自动安装Linux HA的关键服务:Heartbeat、resource-agents、cluster-agents。

【服务器IP配置】
    使用了VMWare的虚拟机安装,但Heartbeat的双机通信需要通过静态IP地址做udp报文的传输,我这边玩了一个单机的:
Ubuntu下的配置文件是:/etc/network/interfaces
#the primary network interface
auto eth0                  #网卡
iface eth0 inet static     #网络方式(静态IP)
address 192.168.160.132    #IP地址
gateway 192.168.160.2      #网关
netmask 255.255.255.0      #子网掩码
broadcast 192.168.160.255  #广播地址
根据个人的情况配置IP地址的相关配置项,另外需要配置一个DNS解析服务器,修改/etc/resolv.conf
nameserver 8.8.8.8

    重启网卡:/etc/init.d/networking restart即可。

【Heartbeat程序配置】
1./etc/ha.d/ha.cf
该配置文件配置Heartbeat的程序信息,例如:日志文件、集群信息、节点信息等,详细说明如下:
logfacility local0    #日志记录选项
#心跳配置
keepalive 2           #集群心跳检测的时间间隔
deadtime 30           #集群节点失效的时间
warntime 10           #心跳包的延时时间

udpport 694           #集群心跳的udp端口
ucast eth0 0.0.0.0    #心跳单播配置(单播方式 本端网卡 对端IP地址),此处配置了一个不存在的IP地址,实现HA的单机模式,如果是双机,则配置对端IP地址即可

auto_failback off     #主节点恢复后,服务是否切回
node host1            #服务器节点,如果有多个,则添加多项
crm respawn           #使用CRM进行服务配置、管理,如果不配置,则使用/etc/ha.d/haresources的方式管理资源

debugfile /opt/heartbeat/ha-debug    #Heartbeat服务日志文件

2./etc/ha.d/authkeys
auth 3
#1 crc
#2 sha1 openstack
3 md5 Hello!

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

【Heartbeat资源配置】
    使用CRM管理Heartbeat资源,可以按照下面的方式进行配置(组资源形式)
crm configure property stonith-enabled=false        #是否开启STONITH服务,保持集群一致性
crm configure property no-quornm-policy=ignore      #集群节点数量校验
crm configure property expected-quornm-votes=2      #集群节点数量
crm configure rsc_defaults resource-stickness=100   #资源粘性得分

crm configure primitive pry_rsc ocf:heartbeat:pry_rsc.sh op monitor interval=10s op start timeout=120s op stop timeout=60s    #资源配置,编辑OCF规范的脚本,放置于/usr/lib/ocf/resource.d/heartbeat/目录下并赋予可执行权限
crm configure primitive sty_rsc ocf:heartbeat:sty_rsc.sh op monitor interval=10s op start timeout=120s op stop timeout=60s

crm configure group prygroup pry_rsc                #组资源配置  
crm configure group stygroup sty_rsc

crm configure location prefer-host1 prygroup 50: host1    #节点默认得分
crm configure colocation opposition -INFINITY: stygroup prygroup    #主、备组之间对立,即:不可能在集群的某个节点上既有主组的资源,又有备组的资源

    这样,基于Heartbeat和pacemaker的双机配置就完成了,通过crm_mon可观察到下面的执行情况:

    这里不详细展开介绍CRM配置的详细信息了,感兴趣的同学可以下载pacemaker的官方文档研究~~~

猜你喜欢

转载自crystalcoding.iteye.com/blog/1895399
今日推荐