Keepalived 与 VRRP

如果网络中只部署一个路由器,那么这个路由器坏了,整个网络就会瘫痪。因此,在高可用设计下,一般都会部署一对路由器,一主一备。当主路由器坏了之后,就启用备用路由器。

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)就是为以上情景设计的,它是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。其原理如下:

  • 设定一个虚拟IP(Virtual IP Address,VIP)
  • 多个冗余设备(服务器、路由器等)在选举阶段确定谁将最终获得这个虚拟IP
  • 在同一时刻只允许一个设备拥有该虚拟IP
  • VRRP检测到主设备发生故障时,迅速将虚拟IPpiao’yi到备用设备

服务器高可用问题也可以用相同的方法解决,Keepalived就是这样一款产品,它同时实现了该协议的第二版和第三版。除此之外,Keepalived还基于IPVS(Linux IP Virtual Server)实现了负载均衡功能。