高可用组件Keepalived简介


VRRP协议基础

VRRP协议通过将多台路由器组成一个虚拟路由器组(VRID),对外呈现一个虚拟IP地址(VIP)。在这个组中,有一台路由器作为主路由器(Master),负责转发数据包,其他路由器作为备份路由器(Backup)处于待命状态。主路由器会周期性地向备份路由器发送VRRP通告报文,以通告自己的存活状态,备份路由器通过监听这些通告报文来判断主路由器是否正常工作。

Keepalived概述

Keepalived是一个基于VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)实现的高可用性解决方案,主要用于确保服务器集群的高可用性和健康检查。它能够自动检测服务器的状态,当主服务器出现故障时,迅速将服务切换到备用服务器上,从而保证业务的连续性,避免单点故障对业务造成影响。

Keepalived常用架构模式

主备模式

主备模式是 Keepalived 最基本的架构模式。在这种模式下,有一台主服务器(MASTER)和一至多台备用服务器(BACKUP)。主服务器承担实际的业务负载,同时不断向备用服务器发送VRRP通告报文。备用服务器处于监听状态,一旦在规定时间内没有收到主服务器的通告报文,就会认为主服务器出现故障,然后通过竞选机制,优先级最高的备用服务器会晋升为主服务器,接管虚拟IP地址(VIP),继续提供服务。

双主模式

为了克服主备模式中备用服务器资源浪费的问题,双主模式应运而生。在双主模式下,两台服务器都处于活动状态,各自承担一部分业务负载,同时互为备份。每台服务器都配置了两个虚拟IP地址(VIP1 和 VIP2),其中一台服务器作为VIP1的主服务器,同时作为VIP2的备用服务器;另一台服务器则相反,作为 VIP2的主服务器和VIP1的备用服务器。这样,两台服务器都能充分发挥作用,提高了资源利用率。

负载均衡集群模式

在大型互联网应用中,负载均衡集群模式被广泛应用。Keepalived常常与LVS(Linux Virtual Server,Linux 虚拟服务器)结合使用,构建高可用的负载均衡集群。LVS负责将前端的用户请求分发到后端的真实服务器(Real Server)上,实现负载均衡。而Keepalived则用于监控LVS负载调度器和后端真实服务器的状态,确保整个集群的高可用性。

在这种架构中,通常有多台LVS负载调度器,通过Keepalived实现主备或双主模式。同时,后端有多台真实服务器提供服务。Keepalived会定期检查LVS负载调度器和真实服务器的健康状况,一旦发现某个节点出现故障,就会及时将其从集群中移除,并将流量重新分配到其他正常节点上。当故障节点恢复正常后,Keepalived又会自动将其重新加入集群。这种模式能够应对大规模的并发访问,提供高性能、高可用的服务。


发表评论

评论数量:0