lvs的三种负载均衡(2)

来源:互联网 发布:vissim软件下载 编辑:程序博客网 时间:2024/06/05 17:43

LVS三种模式配置

LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置

LVS是什么:

http://www.linuxvirtualserver.org/VS-NAT.html

http://www.linuxvirtualserver.org/VS-IPTunneling.html

http://www.linuxvirtualserver.org/VS-DRouting.html

首先是安装ipvsadm管理程序

下载:http://www.linuxvirtualserver.org/software/

注意对应自己的内核版本

ipvsadm-1.24.tar.gz

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

make

make install

1: LVS-DR 模式(调度器与实际服务器都有一块网卡连在同一物理网段上)
简要的网络结构如下所示


配置LVS server

#!/bin/sh VIP=192.168.0.210 RIP1=192.168.0.175 RIP2=192.168.0.145 . /etc/rc.d/init.d/functions         case "$1" in         start)         echo "start LVS of DirectorServer"         #Set the Virtual IP Address         /sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up         /sbin/route add -host $VIP dev eth0:1         #Clear IPVS Table         /sbin/ipvsadm -C         #Set Lvs         /sbin/ipvsadm -A -t $VIP:80 -s rr         /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g         /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g         #Run Lvs         /sbin/ipvsadm         ;;         stop)         echo "close LVS Directorserver"         /sbin/ipvsadm -C         /sbin/ifconfig eth0:1 down         ;;         *)         echo "Usage: $0 {start|stop}"         exit 1         esac

配置 RIP server

#!/bin/bash VIP=192.168.0.210 LOCAL_Name=50bang BROADCAST=192.168.0.255  #vip's broadcast . /etc/rc.d/init.d/functions case "$1" in     start)      echo "reparing for Real Server"        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        ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $BROADCAST up         /sbin/route add -host $VIP dev lo:0         ;;     stop)         ifconfig lo:0 down        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: lvs {start|stop}"         exit 1 esac 

2: LVS-TUN 模式

简要的网络架构如下:


配置lvs server

#!/bin/sh # description: start LVS of Directorserver VIP=192.168.25.41(注意,lvs server那台机器2个ip,一个是vip,一个是本身ip例如192.168.25.42) RIP1=192.168.25.44 RIP2=192.168.25.45 #RIPn=192.168.0.n GW=192.168.25.254 . /etc/rc.d/init.d/functions case "$1" in start) echo " start LVS of DirectorServer" # set the Virtual IP Address /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.0 up /sbin/route add -host $VIP dev tunl0 #Clear IPVS table /sbin/ipvsadm -C #set LVS /sbin/ipvsadm -A -t $VIP:80 -s rr /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i #/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i #Run LVS /sbin/ipvsadm #end ;; stop) echo "close LVS Directorserver" ifconfig tunl0 down /sbin/ipvsadm -C ;; *) echo "Usage: $0 {start|stop}" exit 1 esac 

配置real server

#!/bin/sh # ghb in 20060812 # description: Config realserver tunl port and apply arp patch VIP=192.168.25.43 . /etc/rc.d/init.d/functions case "$1" in start) echo "Tunl port starting" ifconfig tunl0 $VIP netmask 255.255.255.0 broadcast $VIP up /sbin/route add -host $VIP dev tunl0 echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p ;; stop) echo "Tunl port closing" ifconfig tunl0 down echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce ;; *) echo "Usage: $0 {start|stop}" exit 1 esac 

3: LVS-NAT 模式

简要的网络架构如下图:


配置LVS server

#!/bin/sh # description: start LVS of Nat VLAN-IP=202.99.59.110 RIP1=10.1.1.2 RIP2=10.1.1.3 #RIPn=10.1.1.n GW=10.1.1.1 . /etc/rc.d/init.d/functions case "$1" in start) echo " start LVS of NAtServer" echo "1" >/proc/sys/net/ipv4/ip_forward echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects(内网卡上的) #Clear IPVS table /sbin/ipvsadm -C #set LVS /sbin/ipvsadm -a -t 202.99.59.110:80 -r 10.1.1.2:80 -m -w 1 /sbin/ipvsadm -a -t 202.99.59.110:80 -r 10.1.1.3:80 -m -w 1 #Run LVS /sbin/ipvsadm #end ;; stop) echo "close LVS Nat server" echo "0" >/proc/sys/net/ipv4/ip_forward echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects echo "1" >/proc/sys/net/ipv4/conf/eth1/send_redirects(内网卡上的) /sbin/ipvsadm -C ;; *) echo "Usage: $0 {start|stop}" exit 1 esac 

配置real server

LVS-Nat 模式的后端机器不需要配置.

tips: -g 表示使用DR方式,-m表示NAT方式,-i表示tunneling方式。

LVS 三种工作模式的优缺点比较

一、Virtual server via NAT(VS-NAT)

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。

缺点:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。

解决办法:即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面采用VS-NAT的负载均衡器。

二、Virtual server via IP tunneling(VS-TUN)

我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。

优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。

不足:但是,这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。

三、Virtual Server via Direct Routing(VS-DR)

优点:和VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器,其中包括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris 2.5.1、2.6、2.7;FreeBSD 3.1、3.2、3.3;NT4.0无需打补丁;IRIX 6.5;HPUX11等。

不足:要求负载均衡器的网卡必须与物理网卡在一个物理段上


转自:http://www.uml.org.cn/zjjs/201211124.asp


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电机机油从空气滤芯里流出怎么办 把塑料皮套吃了怎么办 塑料框眼镜有点小了怎么办 出口纸箱打了钉怎么办 买房子交款单据丢了怎么办 买房子所有单据丢失怎么办 车险单据都丢了怎么办 真空包装的东西里面有空气怎么办 发货物忘记写唛头了怎么办 Word文档撤销按钮删除了怎么办 ai保存时未响应怎么办 ai还没保存卡了怎么办 ai卡住了没保存怎么办 屁股沟有硬块红肿怎么办 卧室床选太大了怎么办 画板的笔尖掉了怎么办 宜家水壶盖子有水怎么办 背滤鱼缸除油膜怎么办 书多了没地方放怎么办 学生在教室内丢手机怎么办 新车尾箱坏了怎么办 放书的箱子烂了怎么办 车钥匙锁后备箱里怎么办 布的收纳箱有味怎么办 车漆清漆层掉了怎么办 副驾驶储物箱卡子断了怎么办 玛莎拉蒂车门打不开怎么办 新买的水杯漏水怎么办 泰迪小狗掉毛怎么办 手机jlc调用接口状态异常怎么办 进门和厕所对着怎么办 p过的照片有竖条怎么办 当照片p出竖条纹怎么办 月子里落下脚心怕风怕凉怎么办 鞋胶把手粘住了怎么办 凉鞋魔术贴长了怎么办 新买的狗一直叫怎么办 刚买的幼犬老叫怎么办 狗狗什么都不吃怎么办 新买的吊扇风小怎么办 夜市卖果汁没电怎么办