LVS-DR模式

LVS-DR模式

是最常用的IVS负载方式,DR DIRECT ROUTING 直接路由模式

负载均衡器lvs调度器,只负责请求和转发到后端的真实服务器,但是响应结果,由后端服务器直接转发给客户端,不需要经过调度器的处理。

减轻LVS调度器的负担,提高了性能和稳定性。

LVS-DR模式的工作原理

1.客户端发送请求到vip

2、LVS的调度器接受请求之后,根据算法选择一台后端的真实服务器,请求转发到后端RS,请求的报文的目的MAC地址,修改成后端真实服务器的MAC地址。转发。

3、后端真实服务器接受请求,处理完成之后,由于后端服务器直接把响应结果转发给客户端,响应报文中的目的的MAC地址修改成客户端的MAC地址。直接把响应报文转发到客户端。

4、调度器,后端真实服务器都有vip地址,调度的地址和后端真实服务器在同一网段。

DR模式的特点:

1、调度器的IP和真实服务器的ip必须在同一个物理网络中

2、真实服务器的ip地址可以是私有地址,也可以是公网地址。如果配置的是公网,通过互联网可以直接访问RIP.

3、调度器只作为入口,但是不做网关。要把服务器的转发功能关闭。

4、后端真实服务器的网关也不能指向调度器,真实服务器的数据包不允许经过调度器。5、后端真实服务器上,基于LO接口配置VIP的ip地址。

DR模式的特点:

1、调度器的IP和真实服务器的ip必须在同一个物理网络中

2、真实服务器的ip地址可以是私有地址,也可以是公网地址。如果配置的是公网,通过互联网可以直接访问RIP.

3、调度器只作为入口,但是不做网关。要把服务器的转发功能关闭。

4、后端真实服务器的网关也不能指向调度器,真实服务器的数据包不允许经过调度器。

5、后端真实服务器上,基于LO接口配置VIP的ip地址。

ARP解决局域网内部的通信。ip地址和MAC地址映射。

DR模式的调度器和后端服务器都在一个网段中,通过ARP请求实现局域网内部通信。

问题一:

由于调度器和后端真实服务器的都有相同的VIP地址,导致响应冲突,ARP通信紊乱。

对真实服务器进行处理,真实服务器不响应针对VIP的ARP请求。

vip地址使用Lo的虚拟地址:arp_ignore=1

后端真实服务器只响应目的ip为本地IP,也就是RIP。后端服务器的真正IP地址。ens33网卡提供的地址。

问题二:

返回报文使用的源地址还是VIP地址,调度器也是VIP,怎么把响应返回到客户端不经过调度器呢。

后端真实服务器做一个内核参数的优化:arp_announce=2系统不使用IP数据包的源地址,来设置ARP的请求。真实的物理网卡的地址。

调度器的内核优化

net.ipv4.ip_forward =0

#关闭服务器作为网关的转发功能

net.ipv4.conf.all.send_redirects = 0

#控制是否发送ICMP的重定向消息,禁止重定向

net.ipv4.conf.default.send_redirects = 0

#禁止默认网络接口,就是调度器的网卡,发送icmp的重定向消息net.ipv4.conf.ens33.send_redirects = 0

#指明网卡设备,ens33不发送重定向消息。

route add -host 192.168.233.100 dev lo:0

把vip的地址绑定到lo:0,作为LVS的vip地址。标识。告诉调度器,进行转发请求的ip地址寻址。

net.ipv4.conf.lo.arp_ignore = 1

#设置lo接口忽略来自任何接口的ARP请求

net.ipv4.conf.lo.arp_announce = 2
设置Io接口仅会响应本地的IP地址,其他的接口ARP请求,全部忽略

net.ipv4.conf.all.arp_ignore =1
所有接口忽略来自任务接口的ARP请求

net.ipv4.conf.all.arp_announce = 2
所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略

DR模式:核心就是响应客户端由后端的真实服务器完成。不需要经过调度器。

vip地址,调度器和后端服务器都要有vip地址。

vip地址:1.暴露访问地址。

2.调度器转发请求的标识

3.调度器和后端服务器之间进行通信

4.高可用(DR模式的高可用)

其他所有的请求和响应都是禁用。

负载均衡算法设置:

修改VIP的调度算法:

ipvsadm -E -t 192.168.233.100:80 -s wrr

ipvsadm -In

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.233.100:80 wrr

-> 192.168.233.20:80 Route 1 0 0

-> 192.168.233.30:80 Route 1 0 0

TCP 192.168.233.100:80 wrr

表示VIP地址,wrr负载均衡器的调度算法

-> 192.168.233.20:80 Route 1 0 0

-> 192.168.233.30:80 Route 1 0 0

指向后端的真实服务器

Forward:负载均衡算法和负载均衡方式。route就是DR模式

weight:后端服务器的轮询权重

ActiveConn:活跃连接,表示调取器正在处理的活动连接数这些连接正在进行传输数据或者正在进行交互。

InActConn:表示挡圈处于非活动状态的连接数。已经建立连接但是目前没有数据传输,第二个连接处于的等待状态。

修改策略的轮询权重:

ipvsadm -e -t 192.168.233.100:80 -r 192.168.233.20:80 -w 3

面试题:

LVS负载均衡的工作方式:

三种:NAT DR TUN

最常用的就是DR模式

NAT:

优点,配置简单。

缺点:性能瓶颈

真实服务器:ANY

支持的网络模式:私网。

后端服务器数量:low(10-20)

DR:

优点:性能最好

缺点:调度服务器和后端真实服务器不能跨网段

真实服务器:NO-ARP(请求只能到真实服务器)

支持网络:后端服务器即可是内网也可以是公网

真实服务器数量:100台

tun公司不用

LVS的调度器中常用的算法:负载均衡策略:

rr wrr dh sh wlc Ic lblc

如何实现DR模式的负载均衡:

test1 20.0.0.20 调度器

test2 20.0.0.21 web集群1

test3 20.0.0.22 web集群2

test4 NFS 20.0.0.31

VIP地址:20.0.0.100

客户端:随机选择。

test1 20.0.0.20

test4

test2 test3

systemctl stop firewalld

setenforce 0

yum -y install nginx

systemctl restart nginx

test2

test3

相关推荐
用户31187945592186 小时前
nginx-1.16.1-2.p01.ky10.sw_64.rpm 安装教程(详细步骤,适用于Kylin V10/申威SW64架构)
nginx
stark张宇15 小时前
攻克 CRMRB 部署难点:从 PHP 扩展、数据库配置到进程守护
nginx·centos·php
罗政16 小时前
【免费】轻量级服务器centos监控程序+内存+cpu+nginx+适合小型站长使用
服务器·nginx·centos
椎4951 天前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
2301_787328491 天前
25.负载均衡-Nginx、HAProxy、LVS 全解析
nginx·负载均衡·lvs
siriuuus1 天前
Nginx 负载均衡调度算法
运维·nginx·负载均衡
tjsoft2 天前
设置 windows nginx.exe 每天 重启
运维·windows·nginx
舰长1152 天前
nginx 负载均衡配置
运维·nginx·负载均衡
foundbug9992 天前
查看nginx日志文件
linux·nginx·github
一只程序烽.3 天前
java项目使用宝塔面板部署服务器nginx不能反向代理找到图片资源
java·服务器·nginx