|深入理解LVS,还学不会算我输( 七 )
④数据包通过 POSTROUTING 链后 , 目的 MAC 地址将会修改为 RealServer 服务器 MAC 地址(RMAC)源 MAC 地址修改为 LVS 与 RS 同网段的 IP 地址的 MAC 地址(DMAC)此时 , 数据包将会发至 RealServer 服务器 。
⑤数据包到达 RealServer 服务器后 , 发现请求报文的 MAC 地址是自己的网卡 MAC 地址 , 将会接受此报文 , 待处理完成之后 , 将响应报文通过 lo 接口传送给 eth0 网卡然后向外发出 。
此时的源 IP 地址为 VIP , 目标 IP 为 CIP , 源 MAC 地址为 RS1 的 RMAC , 目的 MAC 地址为下一跳路由器的 MAC 地址(CMAC) , 最终数据包通过 RS 相连的路由器转发给客户端 。
DS 模式的优点:
- 响应数据不经过 LVS , 性能高 。
- 对数据包修改小 , 信息完整性好 。
- LVS 与 RS 必须在同一个物理网络 。
- RS 上必须配置 lo 和其他内核参数 。
- 不支持端口映射 。
NAT 模式:只需一个公网 IP 地址 , 是最易用的一种负载均衡模式 , 安全性较好 。
TUN 模式 和 DR 模式:负载能力强大、适用范围广、节点安全性较差 。
LVS 的十种负载调度算法
LVS 的十种负载调度算法如下:
①轮询:Round Robin , 将收到的访问请求按顺序轮流分配给群集中的各节点真实服务器中 , 不管服务器实际的连接数和系统负载 。
②加权轮询:Weighted Round Robin , 根据真实服务器的处理能力轮流分配收到的访问请求 , 调度器可自动查询各节点的负载情况 , 并动态跳转其权重 , 保证处理能力强的服务器承担更多的访问量 。
③最少连接:Least Connections , 根据真实服务器已建立的连接数进行分配 , 将收到的访问请求优先分配给连接数少的节点 , 如所有服务器节点性能都均衡 , 可采用这种方式更好的均衡负载 。
④加权最少连接:Weighted Least Connections , 服务器节点的性能差异较大的情况下 , 可以为真实服务器自动调整权重 , 权重较高的节点将承担更大的活动连接负载 。
⑤基于局部性的最少连接:LBLC , 基于局部性的最少连接调度算法用于目标 IP 负载平衡 , 通常在高速缓存群集中使用 。
如服务器处于活动状态且处于负载状态 , 此算法通常会将发往 IP 地址的数据包定向到其服务器;如果服务器超载(其活动连接数大于其权重) , 并且服务器处于半负载状态 , 则将加权最少连接服务器分配给该 IP 地址 。
⑥复杂的基于局部性的最少连接:LBLCR , 具有复杂调度算法的基于位置的最少连接也用于目标 IP 负载平衡 , 通常在高速缓存群集中使用 。
与 LBLC 调度有以下不同:负载平衡器维护从目标到可以为目标提供服务的一组服务器节点的映射 。 对目标的请求将分配给目标服务器集中的最少连接节点 。
如果服务器集中的所有节点都超载 , 则它将拾取群集中的最少连接节点 , 并将其添加到目标服务器群中;如果在指定时间内未修改服务器集群 , 则从服务器集群中删除负载最大的节点 , 以避免高度负载 。
⑦目标地址散列调度算法:DH , 该算法是根据目标 IP 地址通过散列函数将目标 IP 与服务器建立映射关系 , 出现服务器不可用或负载过高的情况下 , 发往该目标 IP 的请求会固定发给该服务器 。
⑧源地址散列调度算法:SH , 与目标地址散列调度算法类似 , 但它是根据源地址散列算法进行静态分配固定的服务器资源 。
⑨最短延迟调度:SED , 最短的预期延迟调度算法将网络连接分配给具有最短的预期延迟的服务器 。
如果将请求发送到第 i 个服务器 , 则预期的延迟时间为(Ci +1)/Ui , 其中 Ci 是第 i 个服务器上的连接数 , 而 Ui 是第 i 个服务器的固定服务速率(权重)。
推荐阅读
- IOS系统|从ios企业签名的机制及原理解析掉签的原因
- 互联网|深入整合G Suite服务 Gmail助力用户在家远程办公
- |重新理解增长:实现用户增长的5个步骤
- Geek研究僧|网络串流解码播放器有什么用?BLUESOUND NODE 2i 深入体验告诉你
- |上汽大众高端车型深入人心,再推新车力推品牌上行
- 中年|寻找原石:理解孙正义的投资逻辑
- 中国统计网|SQL太难?你离完全理解SQL就差这10步!
- 搜狐新闻|模块化厨房锅具设计,解决收纳难题,深入洞察需求的经典佳作,日本热卖近10年
- 拍照摄影|手机拍照能在哪些方面取代单反相机?该这样理解
- 科技小数据|产业观察:如何通俗地理解5G及其应用
