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

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

高可用简介及简单实现方案_第1张图片

    /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高可用配置段写入系列规则即可。

    

高可用简介及简单实现方案_第2张图片

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

高可用简介及简单实现方案_第3张图片

高可用简介及简单实现方案_第4张图片

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