首页 > 代码库 > 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