jxp2002 发表于 2019-1-4 08:43:28

LVS(DR) + Keepalive实现负载均衡

  环境:
  MASTER:192.168.10.34 (LVS+KEEPALIVE)
  SLAVE: 192.168.10.33 (LVS+KEEPALIVE)
  WEB1: 192.168.10.35(NGINX)
  WEB2: 192.168.10.38(NGINX)
  VIP:192.168.10.201
  

  一.服务端:

[*]  安装lvs、keepalive服务
  yum -y install keepalive ipvsadm
[*]  开启转发
  echo "1" > /proc/sys/net/ipv4/ip_forward
[*]  进行keepalive的主要配置
  vim /etc/keepalived/keepalived.conf
  .vrrp_instance VI_1 {
        state MASTER/BACKUP #定义主/从DR

        interface eth0 #定义绑定的端口
        priority 100 #定义优先级,从调度的值要小于主调度
        virtual_ipaddress {
              192.168.10.201 #定义VIP
           }      

  }
   .vitrual_server 192.168.10.201 80 {
              delay 1 #探测的时间间隔
              lb_algo rr #轮询调度
              lb_kind DR #MAC路由模式
              persistence_timeout 0 #一定时间内对于同一IP的请求调度到同一Server上
              protocol TCP #TCP协议
              real_server 192.168.10.35 80 {   #定义后端服务器
                 weight 1             #权重
                 http_check {
                  connect_timeout 3    #探测超时
                  nb_get_retry 3       #重试次数
                  delay_before_retry 3 #重试时间间隔
                  }
               }
              
            real_server 192.168.10.38 80 {   #定义后端服务器
               weight 1             #权重
               http_check {
                connect_timeout 3    #探测超时
                nb_get_retry 3       #重试次数
                delay_before_retry 3 #重试时间间隔
                }
             }
     }
   4.开启服务
     /etc/init.d/keepalived start
  当开启keepalived服务时,也会自带启动Ipvsadm.此时用ip addr可以查看到vip已经绑定到相应端口,而通过
  ipvsadm -Ln 可以检测相应的调度配置与调度情况。
  https://s5.运维网.com/wyfs02/M02/8F/E2/wKiom1jtk3LxtOR-AAAxo7VPtNU488.png
  二.后端服务器组
  1.调整arp响应
  .echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
  .echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
  .echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
  .echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
  2.vip绑定
  .ifconfig lo:0 192.168.10.201 broadcast 192.168.10.201netmask 255.255.255.255 up
  .route add -host 192.168.10.201 dev lo:0
  https://s3.运维网.com/wyfs02/M02/8F/E0/wKioL1jtlAjAx_43AABArUQFR2A752.png
  3.开启WEB服务(略)
  

  三.测试
  1.客户端多次访问,检测是否可以分别从web组的设备获取数据
  
  2.故障处理
  (1).关闭MASTER端的Keepalive,检测VIP漂移
  .master:ipvsadm -Ln 为空
  .网卡的vip已取消

  https://s4.运维网.com/wyfs02/M01/8F/E1/wKioL1jtlUKAMyRPAAC9yJ0UHGo522.png
  .Slave端的VIP与ipvsadm自动衔接
  
https://s4.运维网.com/wyfs02/M00/8F/E2/wKiom1jtle7hJQe-AABt150p9LA074.png
https://s4.运维网.com/wyfs02/M01/8F/E2/wKiom1jtle7ym_rTAABbJ8V_30A198.png
  


  (2).关闭集群中的某台web服务器
  检测ipvsadm -Ln ,相应的调度已经删除
https://s2.运维网.com/wyfs02/M00/8F/E1/wKioL1jtl8LwOzJHAAAjPCmZhL4963.png
https://s4.运维网.com/wyfs02/M01/8F/E3/wKiom1jtl8Ly3ZmqAAAoqQmr95Y944.png
  

  (3).“主”调度恢复,“从”调度自动退还VIP,并置状态为BACKUP,由“主”调度接管
https://s5.运维网.com/wyfs02/M02/8F/E1/wKioL1jtmF_T0hfrAABDTcCD_Zk281.png
  (4).后端服务器恢复,自动将节点加入调度队列
https://s2.运维网.com/wyfs02/M02/8F/E2/wKioL1jtmO2yoUB3AAAhCSJ9_00904.png
  

  

  

  

  




页: [1]
查看完整版本: LVS(DR) + Keepalive实现负载均衡