史上最易部署lvs集群-tun模式

LVS TUN 模式工作原理: 封装IP

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头部来实现
在这里插入图片描述

部署环境

在这里插入图片描述
Redhat7.3版本下实验,关闭防火墙及selinux

别名 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客户测试端测试

步骤

server1-DS lvs调度器服务器
#加入隧道模块
modprobe ipip

#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip link set up tunl0

#下载ipvsadm
yum install ipvsadm -y

#添加策略
ipvsadm -A -t 192.168.0.100:80 -s rr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.2:80 -i -w 1
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.3:80 -i -w 1

server2-RS后端真实主机服务器1
#加入隧道模块
modprobe ipip
#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip 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
server3-RS后端真实主机服务器2
#加入隧道模块
modprobe ipip
#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip 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

server2及server3设置apache

server2
#下载apache
yum install httpd -y

#启动
systemctl start httpd
echo server2 > /var/www/html/index.html
systemctl restart httpd
server3
#下载apache
yum install httpd -y

#启动
systemctl start httpd
echo server3 > /var/www/html/index.html
systemctl restart httpd

CS客户测试端

curl 192.168.0.100
server2

curl 192.168.0.100
server3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章