LVS负载均衡群集—直接路由模式(LVS-DR)
环境:
调度服务器一台:Linux—CentOS7.4
IP地址:192.168.80.20
Web服务器两台:Linux—CentOS7.4
IP地址:192.168.80.30(SERVER AA)
IP地址:192.168.80.40(SERVER BB)
客户端一台:以win7为例,用于测试验证
IP地址:192.168.80.2

第一步:配置调度服务器
//加载LVS内核模块
LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。以下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的版本信息
[root@localhost ~]# modprobe ip_vs //加载ip_vs模块
[root@localhost ~]# cat /proc/net/ip_vs
//安装管理软件ipvsadm,不需要启动
[root@localhost ~]# rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm
//编辑调度服务器脚本
[root@localhost ~]# vi dr.sh
#!/bin/bash
#
ifconfig ens33:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up //添加虚拟地址的虚接口
route add -host 192.168.80.100 dev ens33:0 //给ens33:0添加路由
ipvsadm –C //清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.80.100:80 -s rr //创建虚拟服务器
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.30:80 –g //添加服务器节点
ipvsadm -a -t 192.168.80.100:80 -r 192.168.80.40:80 –g //添加服务器节点
ipvsadm –Ln //查看节点状态,加个“-n”将以数字形式显示地址、端口信息
保存退出
//选项注释:
"-A"表示添加虚拟服务器,
"-a"表示添加真实服务器
"-t"用来指定VIP地址及TCP端口
"-r"用来指定RIP地址及TCP端口
"-s"用来指定负载调度算法——rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)
"-m"表示使用NAT群集模式("-g"是DR模式,"-i"是TUN模式)
//执行脚本
[root@localhost ~]# sh dr.sh
CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第1张图片
//查看虚拟接口
[root@localhost ~]# ifconfig
CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第2张图片

第二步:配置Web服务器

  1. 配置SERVER AA服务器(192.168.80.30)
    --------配置http服务---------
    //安装http服务
    [root@aa ~]# yum install -y httpd
    //编辑主配置文件
    [root@aa ~]# vi /etc/httpd/conf/httpd.conf
    ServerName aa //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@aa ~]# cd /var/www/html/
    [root@aa html]# echo "

    SERVER AA

    " > index.html
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)
    [root@aa html]# service httpd start //重启http服务
    //win7验证http服务
    访问http://192.168.80.30
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第3张图片
    ---------配置DR模式---------
    [root@aa ~]# vi web.sh
    #!/bin/bash
    #haha
    ifconfig lo:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up
    route add -host 192.168.80.100 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
    sysctl -p &>/dev/null
    保存退出
    [root@aa ~]# sh web.sh //执行脚本
    [root@aa ~]# ifconfig //查看虚拟接口
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)

  2. 配置SERVER BB服务器(192.168.80.40)
    ----------配置http服务-------
    //安装http服务
    [root@bb ~]# yum install -y httpd
    //编辑主配置文件
    [root@bb ~]# vi /etc/httpd/conf/httpd.conf
    ServerName bb //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@bb ~]# cd /var/www/html/
    [root@bb html]# echo "

    SERVER BB

    " > index.html
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)
    [root@bb html]# service httpd start //重启http服务
    //win7验证http服务
    访问http://192.168.80.40
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第4张图片
    ----------配置DR模式---------
    [root@bb ~]# vi web.sh
    #!/bin/bash
    #hehe
    ifconfig lo:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up
    route add -host 192.168.80.100 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
    sysctl -p &>/dev/null
    保存退出
    [root@bb ~]# sh web.sh //执行脚本
    [root@bb ~]# ifconfig //查看虚拟接口
    CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)

第三步:验证测试
Win7访问http://192.168.80.100,多开几个任务
CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第5张图片
CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)_第6张图片
//验证成功