LVS集群的DR模式

一、DR模式:直接路由模式

1.DR的特点:调度器依然负责接收请求,同时也根据负载均衡算法转发流量到RS,响应直接由RS响应给客户端。

2.直接路由:就是一种二层转发模式,二层转发的是数据帧,根据源mac地址和目的mac地址进行转发,不会修改数据包的源IP和目的IP,根据数据包mac地址进行转发。

3.DR模式下,lvs也是维护虚拟的IP地址,所有的请求都是发送到这个vip,既然是走二层转发,当客户端的请求到达调度器之后,根据负载均衡的算法选择一个RS,修改vip服务器的目的mac变成RS的mac地址,RS处理完请求之后,根据客户端的源MCA地址直接把响应发送到客户端即可,不需要走调度器,调度器的压力相对较小;调度器的IP地址和RS的IP地址要在同一网段,数据才能进行转发;RS如果是一个公网地址,互联网可以直接访问RS的地址,但是基本不用;DR模式是走内核转发,内核来判断数据包的地址,根据数据包重新封装,修改mac地址;调度器的地址只可以做为集群访问的入口,不能作为网关;所有的RS上的本地回环地址(lo)都要配置vip地址。

4.调度器配置的vip,RS上也配置了VIP地址,到底是哪个IP地址来响应请求呢?

VIP地址冲突,调度器和RS都在同一网段,就会造成VRP(广播)通信的紊乱,因为整个局域网广播,所有的设备都收到了,这时怎么把lo这个回环的响应把它屏蔽掉,只有本机的物理IP地址响应,那就修改内核参数:arp_ignore=1,系统的物理IP地址才会响应ARP请求,lo不会响应arp请求。

5.返回报文时,vip地址还在,怎么能让客户端来接收到响应

修改内核参数:arp_announce=2,就是系统不响应IP数据包的源地址来响应ARP请求,直接发送物理接口的IP地址。

二、DR模式的实现

nginx 1 做RS1:192.168.127.20

nginx 2 做RS2:192.168.127.30

VIP:192.168.127.100

test1 调度器:192.168.127.10

test2 客户端:192.16.127.40

1.配置调度机

配置调度器的网关

配置调度器的响应参数:也就是关闭调度器重定向功能 vim /etc/sysctl.conf

配置调度器的策略ipvsadm:如果出现bug就删除重来同NAT模式实验

2.配置RS1和RS2

在RS内添加回环地址,在回环地址里配置vip:也就是给回环接口做一个虚拟地址,配置过程直接改虚拟的就可以了

vim ifcfg-lo:0

ifup lo:0 重启后查看

这样可以让vip识别到真实的服务器

调整真实服务器的内核响应

客户端访问

三、lvs的三种工作模式:

NAT DR TUN

优点 地址转换配置简单 性能最好 WAN可以实现较远 距离的数据包传送,

缺点 性能瓶颈 不支持跨网段 通过vpn实现,专用 通道

RS的要求 无限制 必须要禁止非物理接口的ARP响应 要支持隧道模式

支持RS的数量 10-20台 100台 100台

四、LVS的三种模式的工作过程:

LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)。

1、NAT模式(VS-NAT)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。

优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。

缺点:扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,

因此负载均衡器将成为整个系统的瓶颈。

2、直接路由模式(VS-DR)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

缺点:需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

3、IP隧道模式(VS-TUN)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求报文封装一层IP隧道(T-IP)转发到真实服务器(RS)。

真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。

所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持"IP Tunneling"。

相关推荐
七夜zippoe10 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥10 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
Fcy64811 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满11 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠11 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
主机哥哥12 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey90312 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技13 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀13 小时前
Linux环境变量
linux·运维·服务器
zzzsde13 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器