什么是heartbeat?
Heartbeat是Linux-HA工程的一个组件,在行业内得到了广泛的应用,heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。
安装在 Load Balancer 和 Backup 上,运行于 active/standby 模式。
当 Load Balancer 失效时,Backup 自动激活,成为实际的 Load Balancer。
切换到 active 模式时,按顺序启动 Virtual IP、IPVS 和 Ldirectord。
切换到 standby 模式时,按顺序关闭 Ldirectord、IPVS 和 Virtual IP 。
ldirectord
安装 HeartBeat 过程中,已经自动安装了 Ldirectord,它的作用是:
监测 Real Server,当 Real Server 失效时,把它从 Load Balancer 列表中
删除,恢复时重新添加。
操作:
server1 上:
软件包安装与配置
配置主配置文件:/etc/ha.d/ha.cf
ping 172.25.41.100(ping自己的网关)
scp hd.cf haresources authkeys 172.25.41.2:/etc/ha.d/ (将配置好的主配置文件传到server2上,一定要保证server1和server2上配置文件都相同)
修改加密方式:
在server1上开启服务,可以看日志。
给两台虚拟机上都安装上httpd服务,但不要启动。
现在我们可以在两个主机上分别写一个测试页: 新建 /var/www/html 下 的 index.html
虚拟机1上写server1 虚拟机2上写server2
在两台虚拟机上都开启heartbeat服务
service heartbeat start
在物理机上进行测试
curl 172.25.41.100(vip)
可以试着将一台虚拟机宕掉,看httpf服务是否转移到了另一台上面。