首先关闭两台机器的高可用服务,因为heartbeat 启动时会自动服务打开,这里的高可用服务是apache,我们可以用以下命令来关闭它们:
/etc/rc.d/init.d/httpd stop
然后,可以通过以下命令先后在两台机器上启动heartbeat:
/etc/rc.d/init.d/heartbeat start
用以下命令可以查看到heartbeat在运行中的log:
tail -f /var/log/ha-log
用以下命令可以关闭heartbeat服务
/etc/rc.d/init.d/heartbeat stop
4、测试
heartbeat服务启动以后,就可以开始测试了。为了区分apache服务是来自于哪一台服务器,我们在apache的index.html中加上主机名。这样我们通过访问主页就能够区分是哪一台服务器在提供apache了。
一开始,我们访问http://192.168.2.3,看到的是ha1的页面,然后我们想办法让ha1断开一下,比如关机或重启。然后,我们刷新页面,不久就可以看到页面变成ha2的了,这表示ha2已经接管了ha1的apache服务,我们在ha2上察看,可以发现它已经自动挂上了192.168.2.3个IP了,而且apache服务也已经启动了。然后我们再让ha1重新运作起来,这时候,我们再次刷新页面,不久就可以看到页面又变回到ha1的了,而ha2上的apache服务也自动关闭了。在整个过程中,对外的apache服务几乎没有受到什么影响。
5、结束语
heartbeat是遵守GPL发行的开源软件,这就提供了一个低成本的高可用解决方案,利用heartbeat,还可以构筑其它的高可用服务,比如LDAP、DataBsee、NFS、FTP等等。另外heartbeat也可以很方便的移植到其它类UNIX平台中去,更详细资料可从其官方网站中找到。