Virtual Server via IP Tunneling
在VS/TUN的集群系统中,负载调度器只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请求,它甚至可以调度百台以上的服务器(同等规模的服务器),而它不会成为系统的瓶颈。即使负载调度器只有100Mbps的全双工网卡,整个系统的最大吞吐量可超过 1Gbps。所以,VS/TUN可以极大地增加负载调度器调度的服务器数量。VS/TUN调度器可以调度上百台服务器,而它本身不会成为系统的瓶颈,可以用来构建高性能的超级服务器。
VS/TUN技术对服务器有要求,即所有的服务器必须支持“IP Tunneling”或者“IP Encapsulation”协议。目前,VS/TUN的后端服务器主要运行Linux操作系统,。因为“IP Tunneling”正成为各个操作系统的标准协议,所以VS/TUN应该会适用运行其他操作系统的后端服务器。
Load Balancer:
1 ipvsadm -C
2 ipvsadm -A -t 172.25.64.100:80 -s rr
3 ipvsadm -a -t 172.25.64.100:80 -r 172.25.64.2:80 -i
4 ipvsadm -a -t 172.25.64.100:80 -r 172.25.64.3:80 -i
5 /etc/init.d/ipvsadm save
6 vim /etc/keepalived/keepalived.conf
virtual_server 172.25.64.100 80 {
delay_loop 3
lb_algo rr
lb_kind TUN
#persistence_timeout 50
protocol TCP
7 /etc/init.d/keepalived restart
8 ip addr add 172.25.64.100/24 dev eth0
Real Server:设置网关为VIP
1 /etc/init.d/httpd start
2 vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=server2
GATEWAY=172.25.64.100
3 /etc/init.d/network restart
4 modprobe ipip
5 ifconfig tunl0 172.25.64.100 netmask 255.255.255.255 up
6 ip addr
web2和web1配置相同
结果: