设为首页 收藏本站
查看: 1270|回复: 0

[经验分享] lvs详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-12 08:35:00 | 显示全部楼层 |阅读模式
lvs负载均衡集群
lvs工作原理
1.当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。
2.当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。
3.LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时
首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包将被放行至用户空间。
4.如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。
5.最后经由POSTROUTING链发往后端服务器。

1:arp协议:地址解析协议(使用arp协议可以实现通过IP地址获得对应主机的物理地址(MAC地址))
2:arp通信必须两个主机在同一网段
3:arp工作原理
  3.1:先检查arp表没有缓存的目标主机的mac地址
  3.2:如果没有缓存就进行arp广播
  3.3:目标主机收到广播后,向源主机回应,并把源主机的mac地址记录下来
  3.4:给源主机发送数据,源主机将目标主机的mac记录到arp缓存中
4:四层负载均衡(lvs)
   七层负载均衡(Nginx,haproxy)
5:lvs类型
  5.1:NAT工作原理(地址转换)
    客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。
    负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标地址改为了后端服务器的RIP地址并将报文根据算法发送出去。
        报文送到Real Server后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS。
    然后lvs将此报文的源地址修改为本机并发送给客户端。注意:在NAT模式中,Real Server的网关必须指向LVS,否则报文无法送达客户端。
  5.1.1:NAT遵循的规则
     集群节点跟dip必须在同一网络中
         RIP通常为私有地址,仅用于各集群节点之间的通信
         dip位于cip和rip之间,并且负责处理进出请求
         rip必须将网关指向dip
         dip支持端口映射
  5.2:DR工作原理(直接路由)
    客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。
    负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的源MAC地址改为自己DIP的MAC地址,目标MAC改为了RIP的MAC地址,并将此包发送给RS。
    RS发现请求报文中的目的MAC是自己,就会将次报文接收下来,处理完请求报文后,将响应报文通过lo接口送给eth0网卡直接发送给客户端。注意:需要设置lo接口的VIP不能响应本地网络内的arp请求。
  5.2.1:DR遵循的规则
        集群节点跟DIP必须在同一物理网络中
        RIP可以使用公网IP,方便管理
        DIP只负责处理入网请求,响应报文由rip直接发往客户端
        集群节点不能将网关指向DIP
        不支持端口映射
  5.3:TUN工作原理(隧道)
    客户端将请求发往前端的负载均衡器,请求报文源地址是CIP,目标地址为VIP。
    负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层IP报文,将源地址改为DIP,目标地址改为RIP,并将此包发送给RS。
    RS收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层IP首部的目标地址是自己lo接口上的VIP,所以会处理次请求报文,并将响应报文通过lo接口送给eth0网卡直接发送给客户端。注意:需要设置lo接口的VIP不能在共网上出现。  
  5.3.1:TUN遵循的规则
        集群节点可以跨越inintern
        rip必须是公网IP
        dip仅负责处理入站请求,响应报文则由rip直接发往客户端
        rip网关不能指向dip
        只有支持隧道功能的OS才能用于RIP
        不支持端口映射
6:负载均衡的算法
  6.1:rr轮询
  6.2:wrr加权轮询
  6.3:lc最少链接数
  6.4:wlc加权最少链接数
  6.5:sed最少期望延迟
  6.6:NQ永不排队/最少队列调度
  6.7:LBLC基于局部性的最少链接
  6.8:LBLCR带复制的基于局部性最少连接


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312970-1-1.html 上篇帖子: 集群LVS DR详解及配置 下篇帖子: lvs主主互备
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表