lvs三种模式

DR模式

lvs的三种模式:nat 地址转换

DR 直接路由模式

tun 隧道模式

DR模式的特点:

调度器在整个lvs集群当中是最重要的,在nat模式下,即负责接收请求,同时根据负责负载均衡的算法转发流量,响应发送给客户端。

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

直接路由 Direct Routing 是一种二层转发模式。二层转发的是数据帧。根据源mac地址和目的mac地址转发。

不会修改数据包源ip和目的ip.根据数据包mac地址进行转发。DR模式下,Ivs也是维护一个虚拟的ip地址,所有

的请求都是发送到这个vip,既然是走二层转发,当客户端的请求到达调度之后,根据负载均衡的算法选择一个

RS,修改vip服务器的目的mac变成RS的mac地址,RS处理完请求之后,根据报文当中客户端的源mac地址直

接把响应发送到客户端即可,不需要走调度器了。

1、调度器配置了vip,RS上也配置了vip地址。

vip地址冲突,调度器和RS都在同一网段,ARP通信的素乱,因为是整个局域广播,所有的设备都收到了。

怎么把lo这个回环的响应把它屏蔽掉,只有本机的物理ip地址响应。

修改内核参数:

arp_ignore=1

系统的物理ip地址才会响应ARP。lo不会响应ARP请求。

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

arp_announce=2

系统不使用ip数据包的源地址来响应ARP地址,直接发送物理接口的ip地址

节点都武器的配置:

DR模式的实现:

nginx1 RS1 192.168.65.10

nginx2 RS2 192.168.65.20

vip 19.168.65.100

test41 调度器 192.168.65.41

test42 客户端 192.168.65.42

复制代码
route add -host 192.168.65.100 dev lo:0
​
设置ip地址为192.168.65.100的添加到回环接口,作为lvs的vip。通过路由的模式转发到RS
能让vip识别到真实的服务器。
复制代码
net.ipv4.conf.lo.arp ignore =1
#设置回环接口忽略来自任何接口的ARP请求
net.ipv4.conf.lo.arp announce =2
#设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求
net.ipv4.conf.all.arp iqnore =1
#设置所有接口忽略来自任何接口的ARP请求
net.ipv4.conf.all.arp announce =2
#设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求
lvs的三种工作模式 NAT DR TUN
优化 地址转换,配置简单 性能好 WAN可以实现较远距离的数据包转发
缺点 性能瓶颈 不支持跨网段 专用通道,需要开通vpn(花钱
RS的要求 无限制 必须要禁止非物理接口的ARP响应 要支持隧道模式
RS的数量 10-20台 100台 100台

面试题

简述lvs的三种模式和区别?

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"。

面试题

keepalive的脑裂怎么解决?

lvs集群当中的高可用架构,只是针对调度器的高可用

基于vrrp来实现调度器的主和备。

高可用的HA架构

主调度器和备调度器(也可以多台)

在主调度器正常工作的时候,备完全处于冗余状态(待命)。不参与集群的运转,只有当主调度器出现故障时,备才会承担主调度器的作用。主调度器恢复功能后,主继续做为集群中的入口,备继续处于冗余状态。

取决于优先级决定

keepalive基于vrrp协议来实现lvs高可用的方案。

1、组播地址:224.0.0.18根据组播地址来进行通信,主和备之间发送报文。确定对方是否存活。

2、根据优先级的大小来确定主和备的位置

3、故障切换,主挂了,备来继续工作;主恢复了,备继续等待。

4、主和备之间的切换是vip地址的切换。keepalive是专门为了lvs而出现,但是不是lvs的专用。

复制代码
test1 192.168.65.41主
test2 192.168.65.42备
vip 192.168.65.100
nginx1:192.168.65.10
nginx2:192.168.65.20
客户端:192.168.65.43

lvs和nginx做负载均衡的区别:

lvs是四层转发 内核态 ip+端口 四层代理

nginx 四层代理也可以七层代理

lvs(DR模式)+nginx+tomcat

lvs实现四层转发+nginx实现七层代理(动态)

访问lvs的ip地址可以实现动静分离

相关推荐
日记成书26 分钟前
【无线通信发展史⑨】1791年路易吉·伽伐尼-关于动物电的研究与1800年亚历山大·伏打伯爵-电池:伏打电池
网络·人工智能·学习·职场和发展·信息与通信
achirandliu1 小时前
SOME/IP 通信协议详细介绍
网络·网络协议·tcp/ip·some/ip
长安初雪3 小时前
计算机网络 第三章: 数据链路层概述
网络·网络协议·计算机网络
铁蛋Q3 小时前
基于udp的socket网络编程
网络·网络协议·udp
一入C++深似海3 小时前
计算机网络八股文之TCP协议
网络·tcp/ip·计算机网络
魔都安全札记3 小时前
海外合规|新加坡网络安全认证计划简介(三)-Cyber Trust
网络·安全·web安全·网络安全
很楠不爱4 小时前
Linux——网络基础
网络
wanhengwangluo4 小时前
高防IP的作用有哪些?
网络·网络协议·tcp/ip
Wang's Blog5 小时前
Nginx: 基于多网卡,端口,域名的虚拟主机实现
服务器·网络·nginx
Flying_Fish_roe5 小时前
RPC的实现原理架构
网络·网络协议·rpc