LVS(虚拟服务器)实现负载均衡——TUN模式

LVS-TUN模式工作原理

和DR模式差不多,但是比DR多了一个隧道技术以支持realserver不在同一个物理环境中。就是realserver一个在北京,一个工作在上海。

在原有的IP报文外再次封装多一层IP首部,内部IP首部(源地址为CIP,目标IIP为VIP),外层IP首部(源地址为DIP,目标IP为RIP
在这里插入图片描述

1.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。

2.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。

3.RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡(这个网卡一般指和调度器在一个网段的网卡)直接发送给客户端。注意:需要设置lo接口的VIP不能在公网上出现

LVS-TUN的特点

特点:
(1)RIP,DIP可以使用私有地址;
(2)RIP和DIP可以不再同一个网络中,且RIP的网关未必需要指向DIP;
(3)支持端口映射;
(4)RS的OS可以使用任意类型;
(5)请求报文经由Director,响应报文也经由Director

配置环境

sfj1(172.25.69.1)负载均衡服务器
sfj2(172.25.69.2)后端真实服务器web1
sfj3(172.25.69.3)后端真实服务器web2

负载均衡服务器
[root@sfj1 ~]# modprobe ipip  #添加隧道模式模块
[root@sfj1 ~]# ip addr show # 多出一个tunl0网卡

在这里插入图片描述

[root@sfj1 ~]# ip addr add 172.25.69.100/24 dev tunl0  # 添加IP
[root@sfj1 ~]# ip addr show

在这里插入图片描述

[root@sfj1 ~]# ip link set up tunl0   #激活tunl0网卡
[root@sfj1 ~]# ip addr show

在这里插入图片描述

添加策略

[root@sfj1 ~]# ipvsadm -A -t 172.25.69.100:80 -s rr
[root@sfj1 ~]# ipvsadm -a -t 172.25.69.100:80 -r 172.25.69.2:80 -i
[root@sfj1 ~]# ipvsadm -a -t 172.25.69.100:80 -r 172.25.69.3:80 -i
[root@sfj1 ~]# ipvsadm -Ln
[root@sfj1 ~]# cat /etc/sysconfig/ipvsadm #文件方式查看策略

在这里插入图片描述
在这里插入图片描述

后端服务器sfj2
[root@sfj2 network-scripts]# modprobe ipip
[root@sfj2 ~]# ip addr add 172.25.69.100/24 dev tunl0
[root@sfj2 ~]# ip link set up tunl0
[root@sfj2 ~]# ip addr show

在这里插入图片描述

此时在客户端访问172.25.69.100会失败,因为隧道模式,有反向校验的功能,需要将其sfj2,sfj3的反向校验功能关闭,否则后端服务器不会返回数据

[root@sfj2 ~]# sysctl -a | grep rp_filter   # 查看反响检验参数

在这里插入图片描述

[root@sfj2 ~]# sysctl -w net.ipv4.conf.all.rp_filter=0  # -w为临时改变
net.ipv4.conf.all.rp_filter = 0
[root@sfj2 ~]# sysctl -w net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.rp_filter = 0
[root@sfj2 ~]# sysctl -w net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.rp_filter = 0
[root@sfj2 ~]# sysctl net.ipv4.conf.tunl0.rp_filter=0
net.ipv4.conf.tunl0.rp_filter = 0
[root@sfj2 ~]# sysctl -a | grep rp_filter
[root@sfj2 ~]# sysctl -p  # -p表示从文件中加载系统参数,使修改生效
[root@sfj2 ~]# sysctl -a | grep rp_filter

在这里插入图片描述
在这里插入图片描述

后端服务器sfj3

与sfj2配置相同

客户端测试

成功进行轮询
在这里插入图片描述

验证完毕后卸载隧道模式模块网卡

modprobe -r ipip #卸载
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVS(Linux Virtual Server)是一种基于Linux操作系统的负载均衡技术,可以对MySQL数据库进行负载均衡。下面我将详细解释如何使用LVS对MySQL进行负载均衡。 1. 安装LVS软件:首先,需要在负载均衡器(也称为调度器)上安装LVS软件。LVS提供了几种调度算法,如RR(Round Robin)、WRR(Weighted Round Robin)和IP Hash等。你可以根据需要选择适合的算法。 2. 配置负载均衡器:在负载均衡器上,需要配置调度器以及后端MySQL服务器的信息。例如,指定后端服务器的IP地址和端口号,并为每个服务器分配相应的权重。权重可以根据服务器的性能和负载情况进行调整,以实现更好的负载分配。 3. 配置后端MySQL服务器:在后端MySQL服务器上,需要将其配置为接受来自负载均衡器的连接请求。确保MySQL服务器的网络设置正确,并将其绑定到正确的IP地址和端口号。 4. 测试负载均衡:完成上述配置后,可以使用客户端工具(如mysql命令行工具)连接到负载均衡器的IP地址和端口号。通过多次连接和查询操作,可以验证LVS是否正确地将请求分发到后端MySQL服务器,并实现负载均衡效果。 需要注意的是,使用LVS进行负载均衡时,负载均衡器将作为一个中间层,将客户端请求分发给后端MySQL服务器。这样可以提高系统的可伸缩性和可用性,同时减轻单个服务器的负载压力。 希望以上解释对你有所帮助,如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值