系统运输
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