LVS-TUN模式

TUN模式;

其实数据转发原理和上图是一样的,不过这个我个人认为主要是位于不同位置(不同机房);LB是通过隧道进行了信息传输,虽然增加了负载,可是因为地理位置不同的优势,还是可以参考的一种方案;

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

不足:但是,这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议;

LB1: eth0: 192.168.182.132

    vip(tunl0): 192.168.182.200

RS1: eth0:192.168.27.130

     tunl0(vip)  :192.168.182.200

RS2: eth0:192.168.138.131

     tunl0(vip) :192.168.182.200

LB1操作:

yum install ipvsadm –y

echo 1 > /proc/sys/net/ipv4/ip_forward

. /etc/rc.d/init.d/functions

/sbin/ipvsadm --set 30 5 60

ifconfig tunl0 192.168.182.200 broadcast 192.168.182.200 netmask 255.255.255.0 up

route add -host $VIP dev tunl0

ipvsadm -A -t 192.168.182.200:80 -s rr

ipvsadm -a -t 192.168.182.200:80 -r 192.168.27.130 -i

ipvsadm -a -t 192.168.182.200:80 -r 192.168.138.131 -i

RS1操作:

ifconfig tunl0 192.168.182.200 netmask 255.255.255.0 broadcast 192.168.182.200 up

route add -host 192.168.182.200 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

RS2同上:

 

访问vip进行测试即可;

原文地址:https://www.cnblogs.com/zhangan/p/10930511.html