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

[经验分享] 浅谈负载均衡器LVS

[复制链接]

尚未签到

发表于 2019-1-5 08:50:59 | 显示全部楼层 |阅读模式
  Linux Virtual Server 项目由章文嵩博士在1998年5月发起创立,是国内最早的自由软件项目之一。Linux Virtual Server 针对高可伸缩、高可用网络服务的需求,提出了基于IP 层和基于内容请求分发的负载均衡调度解决方案。由于该项目的负载调度技术是在 Linux 内核中实现的,所以称之为“Linux 虚拟服务器”(LinuxVirtual Server),简称为LVS。在开始讨论LVS之前,先普及一下集群方面的知识,这有助于更好理解LVS的应用场合。
  常见集群系统分类:
  1. 高可用性集群(High Availability Cluster)HA
  运行于两个或多个节点上,目的是在系统出现某些故障的情况下,最大限度地减少服务中断时间,保障应用程序持续提供服务的能力。这类集群中比较著名的有TurbolinuxTurboHA、Heartbeat、Kimberlite 等。对于此类集群还有很多通俗的名称,如“双机热备”, “双机互备”等。
  

  2. 负载均衡集群(Load Balance Cluster)LB
  提供和节点个数成正比的负载能力,这种集群适合需要提供大负载访问量的服务,如Web。这类集群中比较著名的有Turbolinux Cluster Server、Linux Virtual Server。此类集群把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
  

  3. 科学计算集群(High Performance Computing Cluster)HPC
  利用超级计算集群软件将多个节点的计算机联结在一起,完成通常只有超级计算机才能完
  成的计算任务。这类软件有Turbolinux EnFusion、SCore 等。
  

  回到主题,LVS 集群的特点可以归结如下:
  功能:基于内容的请求分发技术和3 种IP 负载均衡技术,十种连接调度算法
  适用性:后端服务器可运行Linux,Unix,Mac/OS 和Windows NT/2000 等多种操作系统。支持绝大多数的TCP 和UDP 协议
  灵活性:无需对客户机和服务器作任何修改
  性能:支持几百万并发连接,系统的最大吞吐量可接近10Gbits/s
  可靠性:已经在很多大型的、关键性的站点的应用
  软件许可证:基于GPL 许可证发行
  

  LVS 集群系统已在美、英、德、澳等国的几十个站点上正式使用,例如:
  英国国家 JANET Cache Service(www.cache.ja.net)
  Linux 的门户站点(www.linux.com)
  SourceForge(sourceforge.net)
  Real 公司(www.real.com)
  NetWalk(www.netwalk.com)

  

  LVS 体系结构介绍:
  LVS 通过前端一个负载调度器(Load Balancer,也叫负载均衡器)无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务器机群中透明地加入或删除一个节点来达到,通过检测节点或服务进程故障和正确地重置使系统达到高可用性。
  

  LVS 的抽象体系结构分为三个层次:负载调度器(load balancer)、服务器池(server pool)、共享存储(shared storage)

  LVS 负载均衡模型:
  LVS 的三种负载均衡模型(地址转换(NAT)、IP 隧道(IP Tunneling)和直接路由(DR))
地址转换(NAT)


  NAT 模式下的服务器节点使用的是私有IP,均衡器是集群的唯一出入口,网络结构呈现为一种类似防火墙的私有网结构,服务器结点无法和客户端直接通信,所有数据都需要经过均衡器进行处理(分发/路由/NAT),这里负载均衡器就会成为一个性能瓶颈。
  

IP 隧道(IP Tunneling)



  VS/TUN 模式采用开放的网络结构,负载均衡器仅仅处理进入集群的请求数据包,而返回数据包不经过负载均衡器。服务器结点拥有合法的公网IP 地址,可将应答包直接返回给客户端。负载均衡器和服务器结点的连接可以是同一LAN 上,也可以跨越WAN 在不同的网段上。
   负载均衡器通过 IPIP 协议将客户端的请求包封装为新的IP 包,发给服务器节点。服务器结点收到均衡器发来的IPIP 数据包后,将包解开,根据包内的客户端源地址将处理结果,直接返回给客户端。
  

直接路由(DR)


  DR 模式下服务器节点的应答数据不经过均衡器,而是直接返回给客户端。服务器结点也必须拥有合法IP 地址。而且,负载均衡器和服务器结点必须位于同一个网段。

  负载均衡器接收到客户端请求数据包后,选择合适的服务器结点,将请求包的MAC 地址改写为目的服务器结点的MAC 地址,再将此包广播到服务器器节点所在网段。每个服务器结点都设定一个虚拟的网络设备(lo:0),这个设备绑定了和均衡器一样的VIP,只是该设备并不响应对VIP 的ARP 解析,不会和均衡器的VIP 产生地址冲突。负载均衡器收到符合自身MAC的IP 包后,经过处理后直接将应答数据返回给客户。
  

  LVS 常用负载调度算法:
  轮叫(Round Robin):以顺序循环将服务请求分配到集群中的内容服务器上,所有服务器地位平等,不考虑服务器上实际的连接数和系统负载。
  

  加权轮叫(Weighted Round Robin):循环方式调度,但在循环中给每个内容服务器分配指定权重的连接,从而充分考虑各内容服务器处理能力之间的差异。
  

   最少链接(Least Connections):将新到的连接请求动态地分配给现有活跃连接数最少的内容服务器。如果集群系统的真实服务器具有相近的系统性能,可考虑采用“最小连接”。
  

   加权最少链接(Weighted Least Connections):在最少链接的算法基础上,增加权重参考值,较高权值的服务器承受较大比例的负载。在集群系统中的服务器性能差异较大的情况下,建议采用“加权最少链接”。
  





运维网声明 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-659505-1-1.html 上篇帖子: 构建高可用服务器之五 Keepalive冗余LVS 下篇帖子: LVS集群之十种调度算法及负载均衡(配置篇)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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