实战keepalived高可用集群解决方案

Keepalived定义

     Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。Keepalived是VRRP的完美实现。

VRRP 协议简介
    VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
    虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。于安全性考虑,VRRP包使用了加密协议进行加密。

keepalived的配置文件
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域:

  • global_defs主要是配置故障发生时的通知对象以及机器标识
  • static_ipaddress和static_routes区域配置的是是本节点的IP和路由信息
  • vrrp_script用来做健康检查的,当时检查失败时会将vrrp_instance的priority减少相应的值
  • vrrp_instance用来定义对外提供服务的VIP区域及其相关属性
  • vrrp_rsync_group用来定义vrrp_intance组,使得这个组内成员动作一致

环境准备
Centos7系统,后端服务器提供web服务。
地址规划:

  • VS1: 172.18.51.7
  • VS2:172.17.51.77
  • RS1:172.18.51.74
  • RS2:172.18.51.75
  • VirtualIP:172.18.51.81

拓扑图:


     实验目标:   通过keepalived+lvs部署DR类型集群,实现高可用、负载均衡;主、备两台调度器均处于在线状态,当任意一台调度器宕机或出现故障时,VIP会“漂移”到另外一台服务器上,继续提供服务。

安装chrony程序包,部署时间服务器,同步各服务器时间

RS:提供httpd服务,定义web主页,启动服务


VS:当所有real server宕掉时,sorry
server
顶替,定义其主页,启动服务


RS的预配置脚本:   

启动 bash -x  setparam.sh start

VS配置:

        vs1和vs2的配置文件,主备模式、优先级不一样,其它地方一致;

VS1

VS2

启动服务:systemctl start keepalived.service,自动生成ipvs规则

通过客户端测试:

real
server正常时访问:轮询

关闭RS1上httpd 服务:  访问RS2页面

关闭RS2httpd 服务后,访问页面跳到sorry
server页面:

原创文章,作者:Mr-Xiao,如若转载,请注明出处:/75935

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达娱乐注册  万达开户  华宇招商  万达娱乐直属QQ  万达直属QQ  万达娱乐招商QQ  万达娱乐招商QQ  万达娱乐平台  万达招商QQ  测试