本文共 1994 字,大约阅读时间需要 6 分钟。
virtual server via ip tunneling模式:采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道广播转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。
VS/TUN的工作流程图如下所示,它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。 Tunnel原理流程图:DR方式是通过MAC,规模是一个交换网络。而TUN方式,是通过给数据包加上新的IP头部来实现
别名 | ip | |
---|---|---|
DS lvs调度器服务器 | server1 | eth0:192.168.0.1/24 tunl0:192.168.0.100(VIP) |
RS后端真实主机服务器1 | server2 | 192.168.0.2/24 |
RS后端真实主机服务器2 | server3 | 192.168.0.3/24 |
CS客户端服务器 | client | 192.168.0.10/24 |
1、添加隧道模块
2、添加VIP 3、安装lvs管理工具——ipvsadm服务 4、修改反向过滤规则,防止丢包 5、 RS服务器搭建apache资源 6、 CS客户测试端测试#加入隧道模块modprobe ipip#tunl0上添加VIPip addr add 192.168.0.100/24 dev tunl0ip link set up tunl0#下载ipvsadmyum install ipvsadm -y#添加策略ipvsadm -A -t 192.168.0.100:80 -s rripvsadm -a -t 192.168.0.100:80 -r 192.168.0.2:80 -i -w 1ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.3:80 -i -w 1
#加入隧道模块modprobe ipip#tunl0上添加VIPip addr add 192.168.0.100/24 dev tunl0ip link set up tunl0#修改反向过滤规则,防止丢包#查看过滤表将所有的过滤规则都关闭sysctl -a | grep rp_filter#临时添加sysctl -w net.ipv4.conf.tunl0.rp_filter=0#设置生效sysctl -p#再次查看sysctl -a | grep rp_filter#禁用路由转发功能echo ‘0’>/proc/sys/net/ipv4/ip_forward
#加入隧道模块modprobe ipip#tunl0上添加VIPip addr add 192.168.0.100/24 dev tunl0ip link set up tunl0#修改反向过滤规则,防止丢包#查看过滤表将所有的过滤规则都关闭sysctl -a | grep rp_filter#临时添加sysctl -w net.ipv4.conf.tunl0.rp_filter=0#设置生效sysctl -p#再次查看sysctl -a | grep rp_filter#禁用路由转发功能echo ‘0’>/proc/sys/net/ipv4/ip_forward
#下载apacheyum install httpd -y#启动systemctl start httpdecho server2 > /var/www/html/index.htmlsystemctl restart httpd
#下载apacheyum install httpd -y#启动systemctl start httpdecho server3 > /var/www/html/index.htmlsystemctl restart httpd
curl 192.168.0.100server2curl 192.168.0.100server3
转载地址:http://whezi.baihongyu.com/