陈奇网络工作室

LVS四种模式和十种调度算法介绍

系统运输

LVS的四种模型及十种调度算法

LVS介绍

LVS:Linux Virtual Server、负载调度器、内核集成、章文嵩(花名正明) ) ) ) ) ) ) ) ) )。

LVS的工作原理

VS根据请求消息的目的地IP、目的地协议和端口,将其调度转发给某个RS,基于调度算法筛选RS

LVS群集类型术语

vs :虚拟服务器

RS :实时服务器( LVS )实际提供服务的服务器

CIP :客户端IP客户端的IP

VIP: Virtual serve IP LVS服务器对因特网客户端设定的IP是虚拟IP

DIP:directorIPLAN中LVS服务器设置的IP

RIP: Real server IP实际服务器的IP

LVS服务器、客户端访问流程图

LVS-NAT模式

本质是多目标IP的DNAT,通过将请求消息中的目标地址和目标端口修改为某个被选择的RS的RIP和PORT来实现传输

1 ) RIP和DIP必须位于同一IP网络上,并且使用私有地址。 RS的网关指向DIP

)请求消息和响应消息都必须通过Director进行传输,Director容易成为系统的瓶颈

)3)支持端口映射,可以修改请求消息的目标端口

)4) VS必须是Linux系统,RS可以是任何OS系统

LVS-NAT的实现逻辑

如上图所示,客户端通过路由访问释放到LVS外部的VIP,并且当LVS接收到请求消息时,客户端侦听请求消息,并且通过DIP将请求消息传递给RS服务器( DIP和RIP是相同的行) 当RS服务器接收到请求消息时,发送响应消息通过LVS服务器发送到客户端(),对应于如何返回。 在用户访问期间,LVS服务器实际上将VIP转换为正式服务器的IP以实现相互通信。

NAT模式IP分组调度过程

NAT模式内部的动作原理图

LVS服务器可以实现将其自己的分组转发到其他主机,这是因为LVS隐藏在挂接函数INPUT中,在发现用户所访问的分组将经由PREROUTING被发送到INPUT时,LVS侦听该挂接函数

LVS-NAT模式的优缺点

1、由于NAT技术需要对请求的消息和响应的消息都采用LVS进行寻址重写,在网站访问量较大的情况下,LVS负载平衡调度器存在较大的瓶颈,一般最多可达10-20个节点

2、在LVS中设定公共IP地址即可。 (用iptables规则实现NAT,这样也可以是私网地址)

3、每个内部节点服务器的网关地址必须是调度器LB的内部网地址。 (如果LVS的DIP和RIP位于同一LAN中且位于同一网段,则不需要指定网关。)

4、NAT模式支持IP地址和端口的翻译。 也就是说,用户请求的端口和实际的服务器的端口可以不一致

LVS-DR模式(直接路由)

LVS-dr :直连路由、直接路由、LVS缺省模式,应用最广泛,重新封装并转发MAC报头用于请求消息。 源MAC是有DIP的接口MAC,目标MAC是有RS的RIP的接口的MAC地址; 源IP /端口和目标IP /端口保持不变

DR模型不遵循与请求和响应消息相同的路径,而是请求消息经由LVS发送给RS,在响应时,该响应消息不需要返回给回原始路由,而是可以直接发送回客户端。

这种模式带来的最大好处是LVS服务器I去的压力更少。 由于只需要请求消息经由VS服务器发送到RS服务器,RS服务器响应消息直接发送到客户端,因此不需要经由LVS服务器。 另外,一般请求消息与响应消息相比非常小。 这将大大减轻LVS服务器的压力。

LVS-DR模式图解

虽然RS服务器可能需要直接向客户端发送请求消息,但是客户端接入的IP是VIP,并且因为只有来自VIP的分组客户端接收,所以还需要在RS服务器上配置VIP。 但是,这样做的话,由于LVS和RS都具有相同的IP,所以会带来地址冲突的问题。 我们需要解决地址冲突的问题。

必须在RS中修改内核参数,以限制arp通知和响应级别

/proc/sys/net/IP v4/conf/all/ARP _ ignore

/proc/sys/net/IP v4/conf/all/ARP _ announce

DR模型的特点: LVS压力小,无法通过改变MAC地址实现调度传输,映射端口号。

LVS-DR模式分组流的过程

LVS-TUN模式

转发方式:封装请求消息的IP报头(源IP为CIP,目标IP为VIP ),并与原始IP消息分开封装另一个IP报头(源IP为DIP,目标IP为RIP ) ) RS直接响应客户端(源IP为VIP,目标IP为CIP ) )。

)1) DIP、VIP、RIP都应该是公共地址

)2) RS的网关一般不能指向DIP

队列请求消息经过主管,但不经过主管

)4)不支持端口映射

5 ) RS的操作系统必须支持隧道功能

LVS-TUN体系结构

LVS-TUN的IP分组调度过程

LVS -完全NAT模式

lvs-fullnat :通过同时修正请求消息的发送源IP地址和目标IP地址进行转发

CIPdip

VIPrip

1 ) VIP是公用地址,RIP和DIP是私有地址,并且通常不在同一个IP网络中; 因此,RIP的网关通常不指向DIP

)2)因为RS接收到的请求消息的发送源地址是DIP,所以只需要回复DIP; 但是Director需要把它发送到客户端

)3)请求和应答消息都经由Director

)4)端口映射支持

LVS工作模式总结

LVS的10种调度模式

LVS的调度分为静态方法和动态方法。

静态方法

静态方法:只基于算法本身进行调度

1、RR:roundrobin,轮询,即按顺序分配请求。 即使某台机器性能恶化或停机,也将请求分配给该主机

2、WRR :与weighted RR、加权轮询、RR的不同之处在于,通过对每个RS服务器设定加权,可以根据服务器的性能优先分配任务,性能好的分配较多,性能差的分配较少。 也有RR这样的缺点

3、SH:Source Hashing,实现session sticky,源IP地址hash; 始终将来自同一IP地址的请求发送到第一个选定的RS,以实现会话绑定。

4、DH:Destination Hashing; 目标地址散列,第一次轮询安排在RS上,然后对同一目标地址的请求总是转发到第一个选定的RS。 典型的使用场景是宽带载波等前向缓存场景下的负载均衡。

动态方法

动态方法:主要基于每个RS的当前负载状态和调度算法进行调度Overhead=value的小RS进行调度

1、LC:least connections适用于长连接APP应用

overhead=active conns * 256 inactive conns

2、WLC:Weighted LC,默认调度方法

overhead=( active conns * 256 inactive conns )/weight

3、SED:Shortest Expection Delay,初始连接的高权重优先

overhead=(activeconns1) *256/weight

4、NQ:Never Queue,第一轮均衡分配,后续SED

5、lblc :基于位置的LC,动态的DH算法,使用场景:根据负载状态实现正向代理

6、解决LBLCR:LBLC with Replication、带复制功能的LBLC、LBLC负载不平衡问题

问题,从负荷重的RS到负荷轻的RS

Overhead是优先顺序,

活动连接的数量

非活动连接数

权重

LVS的优缺点

优点:

Lvs是内核级功能,其并发量相当大,可以达到数百万的同时执行

坏处:

没有所谓的高可用性功能,无法检查后端服务器的健康状况。 (后端服务器已关闭,无法管理lvs )。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3