keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health  Checking)功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机修复后将其重新加入群集。

Keepalived采用VRRP(Virtual  Router  Redundancy  Protocl,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案——由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。如图,

LVS+Keepalived高可用群集_高可用

热备组内的每台路由器都可能称为主路由器,虚拟路由器的IP地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用keepalived时,漂移地址的实现不需要手动建立虚接口配置文件。而是由keepalived根据配置文件自动管理。

LVS+Keepalived高可用群集

    keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用作双机热备。使用keepalived群集更加简单易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

   使用keepalived构建LVS群集时,也需要用到ipvsadm管理工具,但大部分工作会由keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)。

   keepalived服务的配置目录位于/etc/keepalived/。其中keepalived.conf是主配置文件;另外包括一个子目录 sample/,提供了许多配置样例作为参考。在kkepalived的配置文件中,使用“global_defs {...}”区段指定全局参数,使用“vrrp_instance  实例名称 {...} ”区段指定VRRP热备参数,注释文字以“!”符号开头。

本案例我们以DR模式的LVS群集为基础,构建LVS+keepalived高可用群集

案例拓扑图:

LVS+Keepalived高可用群集_高可用 _02

两台调度器,两台web服务器,一台NFS共享服务器,一台客户机做测试。

一、配置主调度器

1.安装ipvsadm软件包和支持软件

LVS+Keepalived高可用群集_LVS_03

2.安装keepalived软件包

LVS+Keepalived高可用群集_LVS_04

LVS+Keepalived高可用群集_Keepalived_05

LVS+Keepalived高可用群集_高可用 _06

3.调整/proc响应参数

vim  /etc/sysctl.conf

LVS+Keepalived高可用群集_高可用 _07

执行sysctl  -p 立即生效

4.修改keepalived.conf文件,指定主调度器热备信息、服务器池等相关设置

LVS+Keepalived高可用群集_LVS_08

LVS+Keepalived高可用群集_高可用 _09

LVS+Keepalived高可用群集_高可用 _10

5.配置完成后,重启keepalived服务

LVS+Keepalived高可用群集_Keepalived_11

二、配置从服务器

1.安装ipvsadm、keepalived软件包(同主服务器)

2.调整/proc响应参数(同主服务器)

3.修改keepalived.conf文件,指定主调度器热备信息、服务器池等相关设置

与主服务器的不同之处在于:router_id(路由器名称)、state(热备状态)、priority(优先级,数值越大则取得VIP控制权的优先级越高)

LVS+Keepalived高可用群集_LVS_12

LVS+Keepalived高可用群集_LVS_13

4.配置完成后,重启keepalived服务

三、配置NFS共享服务器

1.安装支持软件

LVS+Keepalived高可用群集_LVS_14

2.设置共享目录

LVS+Keepalived高可用群集_LVS_15

LVS+Keepalived高可用群集_LVS_16

3.启动NFS服务

LVS+Keepalived高可用群集_高可用 _17

4.查看本机发布的NFS共享目录

LVS+Keepalived高可用群集_高可用 _18

5.设置防火墙规则

LVS+Keepalived高可用群集_Keepalived_19

四、配置wed节点服务器

1.配置虚拟IP地址(IP)

LVS+Keepalived高可用群集_高可用 _20

LVS+Keepalived高可用群集_LVS_21

LVS+Keepalived高可用群集_Keepalived_22

添加VIP本地访问路由

LVS+Keepalived高可用群集_LVS_23

LVS+Keepalived高可用群集_Keepalived_24

2.调整/proc响应参数

vim  /etc/sysctl.conf

LVS+Keepalived高可用群集_高可用 _25

执行sysctl  -p ,立即生效

3.连接NFS共享服务器(实验时可跳过)

LVS+Keepalived高可用群集_Keepalived_26


4.为了测试效果明显,给两个web服务器搭建不同的网页

LVS+Keepalived高可用群集_高可用 _27

网站内容自定义

然后,开启服务

LVS+Keepalived高可用群集_LVS_28

5.设置防火墙规则

LVS+Keepalived高可用群集_LVS_29

五、客户机进行测试

在客户机的浏览器中,能够通过LVS+keepalived群集的VIP地址(172.16.16.172)正常访问web页面内容,当主、从调度器任何一个失效时,web站点仍然可以访问;只要服务器池有两台及以上的真实服务器可用,就可以实现访问量的负载均衡。