Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。
       今天没事,正好做一下heartbeat的实验,顺便发一篇文章和大家一起分享。
参考文章:
注:做实验的时候如果用vm来模拟串口是行不通的,VM的串口为C/S模式,原本刚开始可以正常通信,但是启动了heartbeat之后,串口就只能单向通信了。
所以 在这里,我选择了网卡。

环境:
操作系统:Centos 6.2
yum源:163对应yum源
两个节点:node1   node2

由于时间不多,就不一步一步为大家解决依赖关系了。
咱们直接用yum来安装heartbeat。
OK!
yum install -y heartbeat

由于刚安装的heartbeat没有心跳配置文件、资源组配置文件和算法文件。所以:
cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/    

OK  完成之后就可以进行配置了
首先编辑ha.cf

[root@node1 ha.d]# cd /etc/ha.d/    
[root@node1 ha.d]# vim ha.cf    
        修改下面几项:
            
debugfile /var/log/ha-debug   //去掉此行注释,以便我们查看ha实时状态。
logfile /var/log/ha-log         //打开日志    
bcast eth1                             //监测心跳的网卡    
node     node1.a.org    
node     node2.a.org             //定义集群节点    
respawn hacluster /usr/local/lib64/heartbeat/ipfail    
apiauth ipfail gid=haclient uid=hacluster                //定义随heartbeat一起启动的进程    
然后编辑authkeys
 
[root@node1 ha.d]# vim authkeys
        修改文件最后几行为
                    

auth 2                             //这里是用来指定认证方式的    
2 sha1 e781edf0090887bee14405fd48768ac6(随机数)    
        //随机数可以用下面的命令生成    
[root@node1 ~]# dd if=/dev//urandom bs=512 count=1 | md5sum    
[root@node1 ha.d]# chmod 600 authkeys         //处于安全考虑,文件权限设置为600

接下来编辑haresources
[root@node1 ha.d]# vim haresources    
        //在其中写入:    
node1.a.org 192.168.56.20/24/eth0/192.168.56.255 httpd    
        这条语句分别用来定义主节点,VIP,指定网卡,广播地址和服务
        5.拷贝配置文件至node2
        由于两台主机的配置文件必须相同,这里直接将node1上编辑好的配置文件拷贝至node2
注:两台节点配置文件相同。


配置到这里,就大功告成了。

测试一下:
启动服务:service heartbeat start
等待一分钟后,我们在node2下执行:tail -f /var/log/ha-debug
拔掉他们之间连接的网线。

将会看到整个浮动跳转的过程。