[HeartBeat新手上路] -- 配置

3. 配置

3.1. 编辑hertbeat主配置文件,2个主机上的内容一样。

[root@s1.yejr.com heartbeat-2.1.3]# vi /usr/local/etc/ha.d/ha.cf

## ha的日志文件记录位置。如没有该目录,则需要手动添加
#logfile /var/log/ha_log/ha-log.log
#logfacility local7
#debugfile /var/log/ha_log/ha-debug.log
##使用eth1做心跳监测
bcast eth1
##设定心跳(监测)时间时间为2秒
keepalive 1
warntime 3
deadtime 10
initdead 120
hopfudge 1

##使用udp端口694 进行心跳监测
udpport 694
auto_failback on
##节点1,必须要与 uname -n 指令得到的结果一致。
node s1.yejr.com
##节点2
node s2.yejr.com
##通过ping 网关来监测心跳是否正常。
ping 10.168.115.253 10.168.115.251 192.168.115.130
deadping 5
#指定和heartbeat一起启动、关闭的进程
respawn hacluster /usr/local/lib64/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster

从heartbeat的官方文档来看,目前的ping节点还没什么实际用途,只是用于检测节点的连通性,并不作为节点切换的真正依据。在将来的新版本中也许会这么做。

3.2. 编辑双机互联验证文件:authkeys

[root@s1.yejr.com heartbeat-2.1.3]# vi /usr/local/etc/ha.d/authkeys
auth 1
1 crc
[root@s1.yejr.com heartbeat-2.1.3]# chmod 600 /usr/local/etc/ha.d/authkeys

 

3.3. 编辑集群资源文件:haresources

[root@s1.yejr.com heartbeat-2.1.3]# vi /usr/local/etc/ha.d/haresources
#s1.yejr.com IPaddr::10.168.115.252 drbd
s1.yejr.com drbd

在这里,可以像第一种方式那样,指定优先节点为 s1.yejr.com,如果ha发现优先节点当掉了,则另一个节点会自动把ip改成 10.168.115.252,并且启动资源 drbd,即用以下方式启动:

/usr/local/etc/ha.d/resource.d/drbd start

当ha发现优先节点恢复正常后,就会通知另一个节点,关闭资源,切换回优先节点。这个时候节点2上会先执行以下命令关闭资源:

/usr/local/etc/ha.d/resource.d/drbd stop

然后,优先节点上执行以下命令重新启动资源:

/usr/local/etc/ha.d/resource.d/drbd start

haresources里指定的资源,可以是多个,启动时按照从左到右的顺序,关闭时则按照从右到左的顺序。

3.4. 编辑资源管理文件:drbd

[root@s1.yejr.com heartbeat-2.1.3]# vi /usr/local/etc/ha.d/resource.d/drbd
#!/bin/sh
case "$1" in
  start)
#声明为drbd的primary节点
        drbdadm primary db
#挂载文件系统
        mount /dev/drbd0 /data
#启动相关服务
        service mysql start
        ;;
  stop)
#上面操作的反向
        service mysql stop
        umount /dev/drbd0 /data
        drbdadm secondary db
        ;;esac
exit 0

启动和关闭heartbeat的方法很简单,如下:

/etc/init.d/hearbeat start

/etc/init.d/hearbeat stop

技术相关: