LVS搭建负载均衡DR模型

Posted Server World

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS搭建负载均衡DR模型相关的知识,希望对你有一定的参考价值。

应用场景:LVS配置负载均衡方式之一:dr

 

测试环境

      

      

 

 

配置步骤

  1. 在主机lvs上安装ipvsadm

    ~]# yum install ipvsadm -y

    ~]# ipvsadm    //启动;该命令由ipvsadm软件生成

    ~]# lsmod |grep ip_vs  //查看有无输出,若有,代表成功

     

 

  2. 新建配置脚本

    ~]# vim lvs-dr.sh

#!/bin/bash
VIP=138.138.82.222
RIP1=138.138.82.12
RIP2=138.138.82.13
/etc/rc.d/init.d/functions
case "$1" in
start)
           echo "start LVS of DirectorServer DR" 
           /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.0 up
           /sbin/route add -host $VIP dev eth0:0
           #echo "1" >/proc/sys/net/ipv4/ip_forward      ##说明:dr模式不必开启ip转发
           /sbin/ipvsadm -C                    ##可先清空一下
           /sbin/ipvsadm -A -t $VIP:80 -s rr          ##这里测试的rr:轮询算法
           /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
           /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
           /sbin/ipvsadm
       ;;
stop)
           echo "stop LVS of DirectorServer DR" 
           #echo "0" >/proc/sys/net/ipv4/ip_forward    ##说明:同上
           /sbin/ipvsadm -C
           /sbin/ifconfig eth0:0 down
           ;;
*)
          echo "Usage: $0 {start|stop}" 
          exit 1
esac
exit 0

  保存,退出;

 

  3. 运行脚本

    ~]# sh lvs-dr.sh start    //启动,出现如下显示代表正常

     

 

   4. 配置后端的web服务器(两台nginx,搭建略)

    在web端的操作总结起来两点:

    绑定VIP至lo接口

    抑制RS(Real Server,此处值得两台Nginx)的arp帧

#!/bin/bash 
VIP=138.138.82.222
/etc/rc.d/init.d/functions
case "$1" in
start)
           echo "start LVS of RealServer DR" 
           /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
           /sbin/route add -host $VIP dev lo:0
           echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
           echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
           echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
           echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       ;;
stop)
           /sbin/ifconfig lo:0 down
           echo "close LVS of RealServer DR" 
           echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
           echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
           echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
           echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
           ;;

*)
          echo "Usage: $0 {start|stop}" 
          exit 1
esac
exit 0

  保存,退出;

  在Nginx-a和Nginx-b上依次执行该脚本,可以查看下接口:

  ~]# ifconfig  或者  ~]# ip a

   

 

 

  5测试

    经测试,在lvs该主机上直接curl是不能获取页面的,这里在另外一台机器上执行以下测试命令:

    ~]# while true; do curl 138.138.82.222; sleep 1; done

     

 

结束.

 

以上是关于LVS搭建负载均衡DR模型的主要内容,如果未能解决你的问题,请参考以下文章

lvs负载均衡群集搭建(DR)

LVS DR模式 负载均衡服务搭建

LVS DR模式负载均衡搭建keepalived高可用+LVS负载均衡配合

LVS负载均衡群集部署——DR模式的介绍及搭建步骤

使用LVS+DR搭建集群实现负载均衡

LVS四层负载均衡器原理和DR模式的搭建