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]# 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一起启动的进程
[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
修改文件最后几行为
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
//在其中写入:
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
拔掉他们之间连接的网线。
将会看到整个浮动跳转的过程。