架构图很简单如此这般:

ubuntu下lvs负载均衡dr模型shell脚本_第1张图片

关于lvs的介绍网上到处都是,这里不再赘述

直接上干货

dr上安装lvs管理工具

apt-get install ipvsadm


linux 2.6.X内核默认集成了lvs模块 ,执行命令:

modprobe -l | grep ipvs

查看内核是否支持

ubuntu下lvs负载均衡dr模型shell脚本_第2张图片

lvs.sh

#!/usr/bin
vip=192.168.56.200
rip1=192.168.56.105
rip2=192.168.56.106
ifconfig eth0:0 $vip netmask 255.255.255.0 broadcast $vip
route add -host $vip dev eth0:0
route -n
ipvsadm -C
ipvsadm -A -t $vip:80 -s rr
ipvsadm -a -t $vip:80 -r $rip1:80 -g
ipvsadm -a -t $vip:80 -r $rip2:80 -g
ipvsadm -ln

在192.168.56.108执行lvs.sh后

ubuntu下lvs负载均衡dr模型shell脚本_第3张图片


在webserver上 rs.sh

#!/bin/bash
vip=192.168.56.200
ifconfig lo:0 $vip netmask 255.255.255.255
route add -host $vip dev lo:0
route -n
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  #查看sysctl的配置变化,可不执行


当在192.168.56.105和106上执行后可以看到下面结果,已经在lo网卡上绑定vip

ubuntu下lvs负载均衡dr模型shell脚本_第4张图片


这然后我们开始访问这个vip:结果如图

ubuntu下lvs负载均衡dr模型shell脚本_第5张图片


在dr上可以看到:

ubuntu下lvs负载均衡dr模型shell脚本_第6张图片


lvs配置起来很简单,有兴趣的朋友可以按照我的shell脚本根据自己的需要修改ip即可使用