前面介绍了lvs集群架构的搭建,提到了单点故障问题,一旦Director服务器出现问题不可用,lvs集群将整体崩溃,集群所提供的服务将顺利下线。高可用的想法是一旦中间某台服务器丧失提供服务的能力,将会有一台后补服务器替此服务器提供服务。
    VRRP虚拟冗余路由器协议虚拟出一个路由器供需要实现高可用的服务器使用。假定Dr1和Dr2服务器需要实现高可用,可以使用keepalived实现高可用,首先在两台服务器上装上keepalived软件包,CentOS6.4以后的版本可以直接在本地yum源获取软件包。

    查看一下都安装了些什么:rpm -ql keepalived

7748c23c9406818f689be1f07e1e4905.png

    /etc/keepalived/keepalived.conf是keepalived的主配置文件,/usr/share/doc/keepalived-1.2.13/samples/*中的文件是keepalived中各种监测机制的配置文件。主配置文件中分为三个段:GLOBAL CONFIGURATION;VRRPD CONFIGURATION;LVS CONFIGURATION,分别为全局配置段,VRRPD高可用配置段,LVS集群配置段。可见keepalived支持lvs集群的搭建,只需要在配置文件中写入VS以及RS的配置即可,不需要通过ipvsadm书写规则,后面会介绍lvs集群高可用的搭建。因此实现Dr1和Dr2的高可用只需要在全局配置段和VRRPD高可用配置段写入系列规则即可。

760f955afd6d430958f95b8d332187be.png

    

d6d3e2df502c7fc1fddd15db349e2fb0.png

    Dr1和Dr2中keepalived的配置如上图所示,默认为抢占类型,当两台主机keepalived.service服务同时开始时,一台主机进入MASTER模式,获得虚拟IP地址,另一台主机进入BACKUP模式,每隔一秒监测MASTER设备的状况,随时准备服务。

e9e6f9d4d7862f96e4465518cd7a1380.png

ca0d9d2c0c7fff7fafeca6cbb37de37e.png

      当MASTER设备出现问题时,BACKUP设备在监测到MASTER设备不提供服务后便进入MASTER状态,并获得虚拟IP地址提供服务,一旦之前的MASTER设备问题修复服务,因为是抢占模式,则发出VRRP通告竞选MASTER设备,以抢回作为MASTER设备的权利。