Linux集群之美
上QQ阅读APP看书,第一时间看更新

1.1.6 高可用软件Keepalived

Keepalived是一款优秀的实现高可用的软件,它运行在LVS之上,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换(Fail Over)。Keepalived是一个类似于Layer3、Layer4、Layer5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测Web服务器的状态,如果有一台Web服务器宕机,或者工作出现故障,Keepalived将检测到,并将有故障的Web服务器从系统中剔除,在Web服务器工作正常后Keepalived会自动将Web服务器加入服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复发生故障的Web服务器。Keepalived的主要特点如下。

·Keepalived是LVS的扩展项目,因此它们之间具备良好的兼容性。这应该是Keepalived比其他类似工具部署更简洁的原因,尤其是相对于Heartbeat而言,Heartbeat作为HA软件,其复杂的配置流程让许多新手望而生畏。

·通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。

·负载均衡器之间的失败切换是通过VRRPv2(Virtual Router Redundancy Protocol v2)协议实现的,VRRP当初被设计出来的目的就是解决静态路由器的单点故障问题。

·通过实际的线上项目,我们可以得知,iptables的启用是不会影响Keepalived的运行的;但为了更好的性能,我们通常会将整套系统内所有主机的iptables都停用。

·Keepalived产生的VIP就是我们整个系统对外的IP,如果最外端的防火墙采用的是路由模式,那么我们就映射此内网IP为公网IP。很多公有云平台,比如阿里云或腾讯云平台希望称之为HAVIP,即高可用虚拟IP,这里也是可以接受这种叫法的。

Keepalived是一款优秀的HA软件,我们现在多将其应用于生产环境下的LVS/HAProxy、Nginx中,一般都是采取的双机方案,以保证网站最前端负载均衡器的高可用性。