LVS_DR 模式的高可用集群High-Avaliability(keepalived)

keepalived及LVS概述:http://www.elecfans.com/d/700023.html

在实验之前,

  • 安装vm4虚拟机(修改ip为172.25.83.4,修改主机名为server4)
  • 在server1上,将之前设置的健康检查对应的服务(ldirectored)关掉,并设置为开机不自启

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

  • 在server1上,将之前在网卡eth0上添加的虚拟ip(172.25.83.100)删除

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

一.keepalived简介
Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。
vrrp协议:

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议),VRRP是为了解决静态路由的高可用。VRRP的基本架构虚拟路由器由多个路由器组成,每个路由器都有各自的IP和共同的VRID(0-255),其中一个VRRP路由器通过竞选成为MASTER,占有VIP,对外提供路由服务,其他成为BACKUP,MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。
 

二.实验环境(rhel6.5版本)

主机名    IP
server1(主调度器):LVS MASTER    172.25.8.1
server2(真实服务器):Realserver1    172.25.8.2
server3(真实服务器):Realserver2    172.25.8.3
server4(副调度器):LVS BACKUP    172.25.8.4
(备用master:当主master在工作时,它是处于休眠状态,一旦原来的master挂掉,立马成为新的主master)

Virtual IP:172.25.8.100
 

三.高可用的部署

1.配置server1

(1)添加负载均衡和高可用yum源

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(2)下载keepalived 安装包并解压

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(3)安装keepalived 的依赖包:openssl-devel,gcc

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(4)进入keepalived 解压目录进行源码编译安装

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

源码预编译

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

源码编译并安装

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(5)赋予keepalived 脚本可执行权限

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(6)做软链接方便管理keepalived

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(7)编辑配置文件

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(8)将配置好的keepalived发送给server4(备用调度器)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

2. 配置server4

(1)添加负载均衡和高可用yum源

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(2)同样做软链接

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(3)修改keepalived配置文件,将本机改为备用调度器(修改两个地方)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

3. 测试

(1)开启server1(主机)与server4(备机)的keepalived

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

此时,会自动分配vip(172.25.83.100)给主机,因为主,备机同时开启时,主机的优先级高

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

可以查看日志

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(2)当关掉主机的keepalived服务时,vip地址会自动漂移到备机(server4)上

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

4. 

高可用下测试健康检查:(在物理机上测试——IP为172.25.8.250)

  • 值的注意的是:因为只有server1上配置了健康检查,所以必须使高可用服务得到的虚拟ip放在server1上(开启server1上的keepalived)。

打开server1上的健康检查对应的服务(ldirectored)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(1)两台realserver都正常时(开启http服务)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(2)当有一台realserver出现故障时(关掉server2的http服务)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

此时调度器中剩下的真实的服务器只剩下server3

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

(3)当两台realserver都出现故障时(server2与server3同时关掉http服务)

LVS_DR 模式的高可用集群High-Avaliability(keepalived)

此时调度器中已经没有真实服务器

LVS_DR 模式的高可用集群High-Avaliability(keepalived)