Keepalived 工作原理
- 软件介绍
Keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS 集群系统中各个服务节点的状态,后来又加入了可以实现高可用的 VRRP 功能。因此,Keepalived 除了能够管理 LVS 软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL 等)的高可用解决方案软件。
-
Keepalived 采用是模块化设计,不同模块实现不同的功能;
-
keepalived 主要有三个模块,分别是 core、check 和 vrrp。
-
core:是 keepalived 的核心,负责主进程的启动和维护,全局配置文件的加载解析等
-
check: 负责 healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括 LVS
的配 置解析;可基于脚本检查对 IPVS 后端服务器健康状况进行检查。 -
vrrp:VRRPD 子进程,VRRPD 子进程就是来实现 VRRP 协议的
keepalived 高可用原理
- Keepalived 高可用服务对之间的故障切换转移,是通过 VRRP (Virtual Router Redundancy
Protocol ,虚拟路 由器冗余协议)来实现的。
在 Keepalived 服务正常工作时,主 Master 节点会不断地向备节点发送(多播的方式)心跳消息 ICMP,用以告诉备 Backup 节点自己还活看,当主 Master 节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master 节点的心跳了,于是调用自身的接管程序,接管主 Master 节点的 IP 资源及服务。而当主 Master节点恢复时,备 Backup 节点又会释放主节点故障时自身接管的 IP 资源及服务,恢复到原来的备用角色。
VRRP 介绍:
VRRP ,全 称 Virtual Router Redundancy Protocol ,中文名为虚拟路由冗余协议 ,VRRP 的出现就是为了解决
静态踣甶的单点故障问题,VRRP 是通过一种竞选机制来将路由的任务交给某台 VRRP 路由器的。