Keepalived是一个C语言编写的路由软件,基于Linux系统下虚拟服务器(IPVS)的,基于 实现负载均衡及== VRRP(虚拟路由冗余协议) ==高可用的工具。开源软件。
一、高可用性;
HA(High Available)高可用性是通过系统的可靠性和可维护性来度量;
在实际中,
通常使用平均无故障时间(MTFF)来度量系统的可靠性;
用平均维护时间(MTTR)来度量系统的可维护性;
** HA = MTFF/(MTFF+MTTR) **
一般比较好的情况下是宕机时间不超过六分钟;
(99%的高可用性,一年宕机不超过四天)
二、故障转移;
Keepalive的高可用服务之间的故障转移是通过VRRP实现的,
除了可以管理LVS软件之外,还可以为其他服务提供高可用方案,例如Nginx、redis、mysql等等。
三、健康检查;
三、VRRP(虚拟路由冗余协议)
VRRP是为了解决局域网内默认网关单点失效的问题,
当Keepalive的服务正常工作是,主Master节点会不断向备用Backup节点发送(组播/多播)心跳消息,用来告诉备用backup节点自己还活着,当Master节点发生故障时,就无法发送心跳消息,备用节点就无法继续监测来自主Master节点的心跳,于是调用自身的接管程序,接管主Master节点的IP资源及服务,而当主Master节点恢复服务后,备用Backup节点会释放接管的IP资源及服务。
主从节点,主要是通过抢占IP的方式来实现的,当主节点提供服务时,则主节点的IP启用;当主节点宕机后,从节点的IP启用,正常情况下主/备节点的IP都是一样的,只有主节点的IP启动罢了。
四、主从切换
Keepalived的主从切换与Redis的主从切换时不一样的,keepalived的主节点宕机之后,从节点变为主节点,之前的主节点恢复后继续做主节点,而Redis的主节点宕机之后,重新恢复以后会变为从节点。