Heartbeat实现热备

Posted AllenClare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Heartbeat实现热备相关的知识,希望对你有一定的参考价值。

1、环境准备:
1)主节点:master
eth0:192.168.0.201
eth1:192.168.0.03
2)备节点:slave
eth0 :192.168.0.215
eth1:192.168.0.110
3)vipIP:192.168.0.188

2、安装heartbeat软件:
1)安装epel扩展源(两台机器都要安装)
yum install -y epel-release
2)安装heartbeat软件(两台机器都要安装)
yum install -y heartbeat*

3、主节点配置
1)拷贝文件
# cd /usr/share/doc/heartbeat-3.0.4/
# cp authkeys ha.cf haresources /etc/ha.d/
# cd /etc/ha.d
2)修改authkeys文件
# vim authkeys
更改或增加如下内容:
auth 3
3 md5 Hello!
然后修改其权限
# chmod 600 authkeys
3)修改haresources文件
# vim haresources
加入下面一行:
master 192.168.0.38/24/eth0:0 nginx
4)修改ha.cf文件
# vim ha.cf
修改为如下内容:
debugfile /var/log/ha-debug         该文件保存heartbeat的调试信息。
logfile /var/log/ha-log             heartbeat的日志文件。
logfacility local0
keepalive 2                         心跳的时间间隔,默认时间单位为秒s。
deadtime 30                         超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
warntime 10                         超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
initdead 60                         在某系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔,取值至少为deadtime的2倍。
udpport 694                         设置广播通信使用的端口,694为默认使用的端口号。
ucast eth1 192.168.0.110            设置对方机器心跳检测的网卡和IP。
auto_failback on                    heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
node master
node slave
ping 192.168.0.1
respawn hacluster /usr/lib64/heartbeat/ipfail                  指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。如果你的系统是64bit,请注意该文件的路径。

4、把主节点上的三个配置文件拷贝到备节点
# cd /etc/ha.d
# scp authkeys ha.cf haresources slave:/etc/ha.d
1)、修改备节点的ha.cf文件
# vim /etc/ha.d/ha.cf
只需要更改一个地方如下:
ucast eth1 192.168.0.110改为ucast eth1 192.168.0.3

5、启动heartbeat
/etc/init.d/heartbeat start

以上是关于Heartbeat实现热备的主要内容,如果未能解决你的问题,请参考以下文章

HeartBeat基础配置(实现Web服务双机热备)

centos实现heartbeat 双机热备

heartbeat双机热备实现Web服务的高可用

heartbeat+DRBD 高可用 双机热备

DRBD+HEARTBEAT+MYSQL实践过程

集群(heartbeat)搭建