Keepalived简介
Keepalived是实现高可用架构的不二之选,如果你想通过开源软件来搭建一套双机热备架构系统,Keepalived绝对是最优选择。无论是在易用性还是稳定性上都是非常优秀的。
Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态,如果某个服务器节点出现异常,或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除,这些工作全部是自动完成的,不需要人工干涉,需要人工 完成的只是修复出现故障的服务节点。
后来Keepalived又加入了VRRP的功能,VRRP出现的目的是解决静态路由出现的单点故障问题,通过VRRP可以实现网络不间断稳定运行,因此Keepalvied一方面具有服务器状态检测和故障隔离功能,另外一方面也有HAcluster功能。
要想搞清楚Keepalived的工作原理,首先得弄清楚VRRP协议。因为Keepalived的实现全都仰仗这个VRRP。
VRRP协议工作原理
VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议是一种容错的主备模式的协议,当网络设备发生故障时,可以不影响主机之间通信情况下进行设备切换,并且相对用户时切换过程是透明的。
开启VRRP功能的网络设备(路由器),会根据优先级确定自己在备份组中的角色。优先级高的路由器成为主用路由器,优先级低的成为备用路由器。主用路由器拥有虚拟IP与虚拟MAC,实现各种网络功能,并发送VRRP通告报文,通知备用路由器组内的其他路由器自己工作正常。备用路由器则启动定时器等待通告报文。
VRRP中有两种模式:抢占模式和非抢占模式。
抢占模式下,当备用路由器收到VRRP通告报文后,会将自己的优先级与通告报文中的优先级进行比较。如果大于通告报文中的优先级,则成为主用路由器。否则将保持备用状态。
非抢占模式下,只要主用路由器不发生故障,就算备用路由器的优先级再高,也始终保持备用状态。如果备用路由器的定时器超时后仍未收到主用路由器发送来的VRRP通告报文,则认为主用路由器已经无法正常工作,备份组内的路由器根据优先级选举出主用路由器。
VRRP选举机制
当备份组内有多个路由器时,就需要通过选举机制来选出一个新的主用路由器。具体规则如下:
虚拟IP拥有者:如果某台路由器的IP地址与虚拟路由器的VIP地址一致,那么这台就会被选为主用路由器。
优先级较高者:如果没有虚拟IP拥有者,优先级数值大的路由器会被选举出,优先级范围0~255。
IP地址较大者,如果优先级一样高,IP地址数值大的路由器会被选举出。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !