LVS-使用小结

1.LVS体系结构
LVS全称Linux virtual server即linux 虚拟服务器
LVS集群负载均衡器接收服务的所有客户端请求,然后根据调度算法决定由集群中的哪个节点处理并回复客户端
LVS虚拟服务器体系:一组服务器通过高速的局域网或者地理分布的广域网相互连接,在服务器之前有一个负载调度器(Load Balance).负载调度器负责将客户调度到真实的服务器上。服务器集群结构对用户是透明的,客户访问集群系统只是访问一台高性能,高可用的服务器。
结构图如下:
这里写图片描述
2.LVS基本工作流程:
客户向负载均衡器发送请求。负载均衡器接受客户请求,然后首先根据LVS的调度算法来决定要将这个请求发送给哪个服务器节点,紧接着根据自己的工作模式来决定如何把这些请求发送给节点服务器,节点服务器双应该如何把响应数据发送回给客户端,整体流各一如下图所示
这里写图片描述
3.LVS工作模式:
<1>NAT模式-网络地址转换:通过网络地址转换方法实现调度。
流程:
(1)LB接收到客户请求数据包时(请求的目的IP为VIP即虚拟IP),根据调度算法决定将请求发送给哪个真实服务器(RealServer)
(2)LB此时把客户端发送的请求数据包的目标地址及端口修改成后端RS的ip地址(RIP),这样RS就能接收到客户的请求数据
(3)RS响应完请求后,查看默认路由(NAT模式下需要把RS的默认路由设置为LB服务器),把响应后发数据包发送给LB
(4)LB接收到响应包后,把包的源地址改成虚拟地址(VIP)
(5)LB将响应包发送回客户端
这里写图片描述
<2>TUN模式:
出现原因:采用NAT模式,由于请求和响应报文必须通过调度地址重写,当客户请求越来越多时,调度器处理能力成为瓶颈。为解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实服务器将响应处理后的数据直接返回给客户端,这样调度器只处理请求入站报文,可以显著提高集群系统吞吐量
与NAT模式差异:TUN模式在LB和RS之间的传输不用改写IP地址,而把客户请求封装在一个IP tunnel里面,然后发送给RS,RS接收到后解析IP tunnel,进行响应处理。直接把响应包通过自己的外网地址发送给客户端不经过LB
流程:
(1)客户请求数据包,目标地址VIP发送到LB上
(2)LB接收到客户请求包,进行IP tunnel封装,在原有的包头上加IP tunnel包头,然后发送出去
(3)RS根据IP tunnel包头信息,收到请求包,解析IP tunnel包头信息,得到客户请求并进行响应处理
(4)响应处理完毕之后,RS使用自己的出公网的线路,将响应包发送给客户端,源ip地址还是VIP地址(RS节点服务器需要在本地回环接口配置VIP)
这里写图片描述
<3>DR模式(直接路由模式)
原理:通过改写请求报文的目标地址,将请求发给真实服务器,真实服务器响应后将处理结果直接返回给客户端用户
优势:没有IP tunel的开销
缺点:要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一上局域网环境
流程:
(1)DR模式将报文直接路由给真实服务器。在DR模式中,调度器根据各个真实服务器负载情况,连接数多少等动态先把一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标mac地址改为真实服务器的mac地址
(2)将修改的数据帧在服务器组的局域网上发送(数据帧的mac地址是真实服务器的MAC地址,真实服务器一定能收到由LB发出的数据包)
(3)RS接收到请求后数据包,解析IP包头查看到目标IP是VIP
(4)真实服务器响应后,根据自己的路由信息将响应数据包发送回给客户,源地址还是VIP
这里写图片描述
小结:
(1)通过在调度器LB上修改数据包目的MAC地址实现转发,源地址仍然是CIP,目的地址是VIP地址
(2)请求报文需要经过调度器,RS响应报文不需要经过LB
(3)DR模式是通过mac地址改写实现转发,RS节点和LB只能在一个局域网
(4)RS主机需要绑定VIP地址在LO接口上,
(5)RS节点的默认网关不需要配置成LB,直接配置为上级路由网,响应包直接出网
(6)DR模式调度器仅做MAC地址改写,因此LB不能改写目标端口,因此RS必须使用和VIP相同的端口提供服务
4.LVS调度算法:8种
固定调度算法:rr,wrr,dh,sh
动态调度算法:wlc,lc,lblc,lblcr
rr:轮询算法,将请求依次分配给不同的rs节点,rs节点平均分配,只适合于rs节点处理性能相差不多的情况
wrr:加权轮询算法,依据不同rs的权值分配任务,权值较高的rs优先获得任务,并且分配到的连接数将比权值低的rs更多
wlc:加权最小连接数调度,假设各台rs的权值依次为wi,当前tcp连接数依次为ti,依次计算ti/wi,值最小的rs 作为下一个分配的rs
dh:目标地址哈希调度,以目标地址为关键字查找一个静态hash表来获取需要的rs
sh:源地址哈希, 以源地址为关键字查找一个静态hash表获得需要的rs
lc:最小连接数调度,IPVS表存储了所有活动的连接。LB会比较将连接数据请求发送到当前连接最少的rs
Lblc:基于地址的最小连接数调度,将来自同一个目的地址的请求分配给同一台 rs ,如果rs满负荷,将请求分配给连接数最小的 rs,并作为下次分配的首先考虑
LBLCR:带复制的基于局部最少连接调度。维护从一个目标ip地址到一组服务器的映射,从所有的cache服务器中按最小连接原则选出一台
调度算法选型:
一般网络服务:rr,wrr,wrc
web cache和db cache:lblc,lblcr
防火墙集群:sh dh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值