首页 > 代码库 > 01-keepalived

01-keepalived

1.VRRP virtual redundant rout protocol ,虚拟路由冗余协议

能够把多个物理路由器虚拟为一个虚拟路由器对外提供服务,vrrp协议能够自动识别当前哪个是活动节点,当活动节点故障后能够自动切换至另一个活动节点对外提供服务。

2.VRRP相关术语

  虚拟路由器:由一个主路由和多个备用路由组成,将其虚拟为一个虚拟机路由对外提供服务

  VRID:虚拟路由标示,当虚拟多个路由时,每个虚拟路由的唯一ID号,0-255之间。

  Master路由:物理路由中的主路由器,用来承担报文转发任务的路由器。

  Backup路由:当Master路由出现故障后,用来代替的路由。

  虚拟IP地址(VIP):虚拟路由器向外提供提供服务的IP地址,一个虚拟路由器可以有一个或者多个VIP。

  优先级:VRRP是根据优先级决定谁是master路由,0-254。

3.VRRP的工作模式

抢占方式:仅仅根据优先级判断谁是master,当原来的master离线后,backup成为master,但是当离线的路由上线后,由于其优先级最高,所以又成为master。

非抢占模式:当原来的master离线后,备用的成为master,但是离线的路由上线后,不会抢占,而是成为备用路由。

为了保证Master和Backup路由协同工作,VRRP需要实现特定功能:

  1.Master路由的选举

  2.Master路由的状态通告

  3.为了提高安全性,提供认证服务。

4.VRRP优势

冗余:可以使用多个路由设备作为LAN的网关,大大降低了默认网关单节点故障的可能性

负载共享:允许来自LAN客户端的流量由多个路由设备共享

多VRRP组:在一个屋里接口上最多可配置255个VRRP组

多IP地址:基于接口别名在同一物理接口上配置多个IP地址,从而支持在同一个物理网卡上接入多个子网

抢占:在master故障后允许优先级最高的backup成为master

通告协议:使用IANA所指定的广播地址224.0.0.18进行通告

VRRP追踪:基于接口状态来改变VRRP优先级来确定最佳的VRRP路由成为主路由

5.keepalived结构

启动keepalived后会启动一个主进程,读取分析配置文件,并根据配置文件生成两个子进程完成相关工作,两个子进程,其中一个子进程用来实现VRRP协议,另一个是check进程,用来监控后端RealServer的健康状况;

此外,主进程利用系统内核的watchdog模块,实现对两个子进程的健康状态监测,发现故障后kill后从新生成;

watchlog能够让两个子进程每隔一段时间向主进程的socket套接字发送信息,当某一时刻,主进程无法收到子进程的信心,则判断子进程故障,ikill后重新生成;

 

 

 

  

01-keepalived