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地址可以实现动静分离

相关推荐
brrdg_sefg38 分钟前
WEB 漏洞 - 文件包含漏洞深度解析
前端·网络·安全
Quz5 小时前
Wireshark协议相关功能:过滤、启用/禁用、导出和统计查看
网络·测试工具·wireshark
安全方案5 小时前
如何增强网络安全意识?(附培训PPT资料)
网络·安全·web安全
tjjingpan6 小时前
HCIA-Access V2.5_6_3_GPON关键技术
网络
yuanbenshidiaos6 小时前
数据结构----链表头插中插尾插
网络·数据结构·链表
洛神灬殇6 小时前
彻底认识和理解探索分布式网络编程中的SSL安全通信机制
网络·分布式·ssl
总是学不会.6 小时前
第五篇:前后端如何“扯皮”——HTTP 在开发中的应用
java·网络·网络协议·http·开发
网络安全(king)6 小时前
网络安全设备
网络·web安全·php
叫我菜菜就好6 小时前
【Flutter_Web】Flutter编译Web第三篇(网络请求篇):dio如何改造方法,变成web之后数据如何处理
前端·网络·flutter