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

[经验分享] LVS 负载均衡集群学习笔记

[复制链接]

尚未签到

发表于 2019-1-6 09:30:45 | 显示全部楼层 |阅读模式
  LVS:Linux Virtual Server
      LVS是一个虚拟的服务器集群系统,工作在内核的TCP/IP协议栈上,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
  

  一般来说,LVS集群采用三层结构,其主要组成部分为:
  1、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户端认为服务是来自一个IP地址上的;
  2、服务器池(server pool),是一组真正执行客户端请求的服务器;
  3、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
  

  

  LVS模型及各模型特性:
      三种模型:

      Network address translation (LVS-NAT):网络地址转换
      Direct routing (LVS-DR):直接路由
      IP tunneling (LVS-TUN):IP隧道
  

      NAT模型的特性(遵循的基本法则):
      1、集群节点必须跟director在同一个IP网络中;
      2、RIP通常是私有地址,仅用于各集群节点间的通信;
      3、director位于client和real server之间,并负责处理进出的所有通信;
      4、real server必须将网关指向DIP;
      5、支持端口映射;
      6、real server可以使用任意操作系统(OS);
      7、较大规模应用场景中,director容易成为系统瓶颈。
     

      DR模型的特性:
      1、集群节点必须要跟director在同一个物理网络中;
      2、real server可以使用公网地址,实现便捷的远程管理和监控;
      3、director仅负责处理入站请求,响应报文则由real server直接发往客户端;
      4、real server不能将网关指向DIP;
      5、不支持端口映射;
      6、大多数的操作系统(OS)都可以用在real server上(需能隐藏VIP);
      7、一个LVS-DR director可以比LVS-NAT处理更多的real server。
     

      TUN模型的特性:
      1、集群节点可以跨越Internet;
      2、real server的RIP必须是公网地址;
      3、director仅负责处理入站请求,响应报文则由real server直接发往客户端;
      4、real server不能将网关指向DIP;
      5、只有支持隧道功能的操作系统(OS)才能用于real server;
      6、不支持端口映射。
  

  

  LVS的十种调度算法:

      静态调度方法:
          RR:Round Robin,轮询
          WRR:Weighted Round Robin,加权轮询
          SH:Source Hashing,源地址Hash;实现会话绑定(session affinity)
              根据客户端的来源,同一个客户端IP的请求一定会发往跟第一次请求相同的real server上;
              如果可以实现会话共享(session sharing)就不需要使用SH调度机制。
          DH:Destination Hashing,目标地址Hash;
              将同一个客户端IP地址的请求发送给同一个real server;
              类似于SH,应用场景不同,常用于缓存服务器的场景中;
              不考虑cache连接数。

  

      动态调度方法:
          LC:Least Connection,最少连接
              计算方法:active*256+inactive,计算real server大小进行选择;
              充分考虑每个服务器当前连接数的状况,并挑选一个最空闲(最少连接)的real server进行传送。
          WLC:Weighted Least Connection,加权最少连接
              计算方法:(active*256+inactive)/weight;选择跟LC一样。
          SED:Shortest Expected Delay,最短期望延迟
              计算方法:(active+1)*256/weight;改进的WLC。
          NQ:Never Queue,永不排队
              先每台real server发送一个请求(按权重发送),再进行计算;改进的SED。
          LBLC:Locality Based Least Connection,基于本地的最少连接
              实现目标跟DH调度方法一样(动态DH),但需要考虑cache连接数,主要用于cache 集群系统。
          LBLCR:Locality Based Least Connection with Replication Scheduling,基于本地带复制功能的最少连接(缓存复制机制),主要用于cache 集群系统。
  

  





运维网声明 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-659869-1-1.html 上篇帖子: LVS负载均衡群集之NAT模型 下篇帖子: linux下负载均衡集群 LVS之NAT和DR模型
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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