High-Availability-Logo

Linux下搭建Heartbeat高可用性web服务

下面主要介绍如何在Linux下搭建Heartbeat高可用性web服务,即High Availability(HA) Web Service

开始

两台ubuntu机器Kylin 14.04, 一主一从
主: allen-VirtualBox (10.4.64.109)
从: allen-VirtualBox-Test (10.4.64.120)
子网掩码: 255.255.252.0
默认网关:10.4.64.254

安装heartbeat

复制配置文件

修改配置文件


修改认证文件


修改完后,需要设置权限为600,否则无法启动heartbeat

修改资源配置文件
传送配置文件到从机

移动从机上的配置文件

修改从机配置文件及文件权限
启动主机及从机的heartbeat

=================测试===================

显示当前是主机allen-VirtualBox在提供服务
主从机同时工作时
主从机同时工作时
关停主机heartbeat服务

再次访问虚拟vip http://10.4.64.168:8080/index.php
显示当前是从机allen-VirtualBox-Test在提供服务,说明从机接管了资源
主机停止服务时
主机停止服务时
重新启动主机heartbeat服务

再次访问虚拟vip http://10.4.64.168:8080/index.php
显示当前又回到主机allen-VirtualBox提供服务,说明主机从从机接管了资源
主机恢复服务时
主机恢复服务时
查看主机heartbeat日志,可以清楚的了解整个过程

关停主机服务时
主机日志-主机停止服务时
主机日志-主机停止服务时
1.开始停止服务
2.开始释放所有HA资源
3.释放allen-virtualbox 10.4.64.168/22/eth0 nginx资源组
4.释放所有HA资源完成
11.停止服务
与此同时从机日志显示
从机日志-主机停止服务时
从机日志-主机停止服务时
5.从allen-virtualbox收到关停提醒
6.从allen-virtualbox获取资源
7.获取本地HA资源
8.获取本地HA资源成功
9.获取资源组allen-virtualbox 10.4.64.168/22/eth0 nginx
10,启动资源组allen-virtualbox 10.4.64.168/22/eth0 nginx
12.启动nginx服务
———————————————————————
重新启动主机 heartbeat服务时
主机日志显示
主机日志-主机重新启动服务时
主机日志-主机重新启动服务时
1.检查配置,启动heartbeat
2.绑定端口等
3.设置本机状态为”上线”
4.通知网关和从机allen-virtualbox-test,主机”上线”
6.远程资源转移成功,本机资源获取成功
7.allen-virtualbox-test转为备用
11.从allen-virtualbox-test获取资源
13.获取资源组allen-virtualbox 10.4.64.168/22/eth0 nginx
15.启动nginx服务
与此同时,从机日志显示
从机日志-主机重新启动服务时
从机日志-主机重新启动服务时
5.收到allen-virtualbox的heartbeat服务重启,上线信息
6.远程资源转移成功
7.allen-virtualbox-test转为备用
8.allen-virtualbox可以获取所有资源
10.放弃所有HA资源
12.释放资源组allen-virtualbox 10.4.64.168/22/eth0 nginx
14.停止nginx服务