阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

部署LVS TUN集群

196次阅读
没有评论

共计 2584 个字符,预计需要花费 7 分钟才能阅读完成。

一、TUN 模式集群

​在 NAT 模式中,由于所有的请求及响应的数据包都需要经过 LVS 调度器,如果后端的服务器数量较大,则调度器就会成为整个集群环境的瓶颈。而请求包的大小往往小于响应包,因为响应数据包中包含有客户需要的具体数据,所以 TUN 模式的思路就是将请求与响应分离,让调度器仅处理请求,让真实服务器将响应数据包直接返回给客户端。在 TUN 模式中有一个 IP 隧道,这个 IP 隧道是一种数据包封装技术,可以将原始数据包封装并添加新的包头(包头内容包括新的源地址和端口,新的目标地址和端口),从而实现将一个目标为调度器 VIP 地址的数据包封装,通过隧道转发给后端的真实服务器,通过将客户端发往调度器的原始数据封装,并在其基础上添加新的包头(修改目标地址为调度器选择出来的真实服务器的地址及端口),TUN 模式要求真实服务器可以直接与外部网络连接,真实服务器在收到请求数据包后直接给客户端主机响应数据

部署 LVS TUN 集群

工作原理

基于 NAT 机制实现。当用户请求到达 director 之后,director 将请求报文的目标地址(即 VIP)改成选定的 realserver 地址,同时将报文的目标端口也改成选定的 realserver 的相应端口,最后将报文请求发送到指定的 realserver。在服务器端得到数据后,realserver 将数据返给 director,而 director 将报文的源地址和源端口改成 VIP 和相应端口,然后把数据发送给用户,完成整个负载调度过程。

特点

1、所有的 realserver 和 director 要在同一个网段内
2、RIP 是私有地址,仅用于集群节点之间进行通信
3、director 同时处理请求和应答数据包
4、realserver 的网关要指向 DIP
5、可以实现端口映射
6、readlserver 可以是任意操作系统
7、director 很可能成为系统性能瓶颈

优点: 负载均衡器只负责将请求包分发给后端节点服务器,而 RS 将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多 RS 进行分发。而且跑在公网上就能进行不同地域的分发。

缺点: 隧道模式的 RS 节点需要合法 IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation) 协议,服务器可能只局限在部分 Linux 系统上。

二、实战案例

案例需求

部署基于 LVS TUN 模式的 Web 集群

实验环境

五台安装 CentOS8 的虚拟机一台测试机,一台 LVS 分发器,一台路由器,两台 web 服务器
部署 LVS TUN 集群

注意事项

  • 关闭 selinux
  • 关闭防火墙
  • 停止 libvirtd.service 服务

实验拓扑图

部署 LVS TUN 集群

实验步骤

a、配置路由,开启转发

ens33=192.168.1.1 ens160=192.168.2.1 [root@route ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

b、配置客户端

ens33=192.168.1.200 [root@client ~]# route add default gw 192.168.1.1

c、LVS 负载均衡器设置

ens33=192.168.2.200 ens37=192.168.2.100(VIP) [root@lvs ~]# route add default gw 192.168.2.1 [root@lvs ~]# ipvsadm -A -t 192.168.2.100:80 -s rr [root@lvs ~]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.2.220:80 -i [root@lvs ~]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.2.210:80 -i

d、RS1&RS2 设置

RS1=192.168.2.220 RS2=192.168.2.210 添加 VIP 并设置网关,调整内核参数 RS1 [root@rs1 ~]# route add default gw 192.168.2.1 [root@rs1 ~]# ifconfig tunl0 192.168.2.100 netmask 255.255.255.255 up [root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@rs1 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter RS2 [root@rs2 ~]# route add default gw 192.168.2.1 [root@rs2 ~]# ifconfig tunl0 192.168.2.100 netmask 255.255.255.255 up [root@rs2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@rs2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@rs2 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter 安装 web 服务,生成测试页面 RS1 [root@rs1 ~]# dnf install httpd -y [root@rs1 ~]# echo "rs1" > /var/www/html/index.html [root@rs1 ~]# systemctl start httpd.service RS2 [root@rs2 ~]# dnf install httpd -y [root@rs2 ~]# echo "rs2" > /var/www/html/index.html [root@rs2 ~]# systemctl start httpd.service

e、客户端测试

[root@client ~]# elinks http://192.168.2.100 --dump rs2 [root@client ~]# elinks http://192.168.2.100 --dump rs1 [root@client ~]# elinks http://192.168.2.100 --dump rs2 [root@client ~]# elinks http://192.168.2.100 --dump rs1

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-09发表,共计2584字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中