Heartbeat是中HA项目的核心,HA是(HighAvailability)的缩写;简单来说就是为了提供高可靠的应用服务,例如拿两来机子来做HA,提供WEB服务,一台机子为主服务器平时提供WEB服务,HA就是保证在主服务器出现故障(例如掉电)的时候另一台机子可以立刻接手继续提供WEB服务,从而使用户不觉得服务未曾中断;实验应用中可能使用更多的机子组成集群。
Heartbeat可以使用串口或者以太网来实现对主机的监测,为了方便我使用的是以太网,在两台机器上分别配双网卡,用一根双绞线把两台机器连接在一起,另外两个网卡连到路由;网络配置在这里就不多说了,无论在命令行下还是图形界面Fedora的网络配置还是挺容易的。我这里的配置是:
PC1(使用这台作为主服务器):
eth0:192.168.1.110
eth1:10.0.0.1
PC2:
eth0:192.168.1.111
eth1:10.0.0.2
网络配置好后测试无误后再检查两台机器上的WEB服务是否可以正常使用;一切都正常后使用yum安装Heartbeat:
yuminstallheartbeat
安装好heartbeat后开始配置,三个主要配置文件都在:/usr/share/doc/heartbeat-2.1.3/下面,需要我们手工修改后拷贝到/etc/ha.d/中;
编辑authkeys文件,下面的配置使用了sha1作为认证方式(这里需要注意的是该文件的权限必须被设置为600):
auth2
#1crc
2sha1HI!
#3md5Hello!
编辑ha.cf:
keepalive1##设定心跳(监测)时间时间为1秒
warntime10##设定警告时间
deadtime30##设定确定主机宕机时间
initdead120##第一宕机时间
ucasteth110.0.0.2##使用eht1做心跳监测也就是连接两PC的网卡
udpport694##使用udp端口694进行心跳监测
nodef801##节点1,必须要与uname-n得到的结果一致。
nodef802##节点2
编辑haresources:
f801192.168.1.118httpd
主机使用192.168.1.118作为WEB服务的IP,f801为主服务器。
配置好后在主服务器上启动Heartbeat:
serviceheartbeatstart
出错的话一般是配置文件的问题,根据提示修改就可以了;Heartbeat会自动根据haresource配置文件启动相应的服务程序。
然后在另一个台器上启动Heartbeat;
配置好后可以使用tcpdump来测试两台机器间的心跳:
[root@f801~]#tcpdump-ieth0-pudpport694
tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode
listeningoneth0,link-typeEN10MB(Ethernet),capturesize96bytes
11:43:46.431448IPha01.filenet-nch>ha02.ha-cluster:UDP,length219
11:43:46.433968IPha01.filenet-nch>ha02.ha-cluster:UDP,length216
11:43:47.431456IPha01.filenet-nch>ha02.ha-cluster:UDP,length216
11:43:48.432516IPha01.filenet-nch>ha02.ha-cluster:UDP,length216
如果这里出问题的话很有可能是防火墙的问题,或者是配置文件里ucast里的设置,需要仔细检查,我配置的时候就把ucast里的eth0设置错了。
最后就可以做测试,关闭主服务器,根据配置文件里的响应时间,服务器PC2会接管主服务器的任务。
阅读(272) | 评论(0) | 转发(0) |