转自:http://www.linuxde.net/2011/07/195.html
LVS集群采用IP负载均衡
技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器
上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
本文主要介绍一下LVS的调度算法和3中工作模式
LVS调度算法介绍:
-s 指定服务采用的算法,常用的算法参数如下:
rr 轮叫(Round Robin)
调度器通过”轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务 器,而不管服务器上实际的连接数和系统负载。
wrr 加权轮叫(Weighted Round Robin)
调度器通过”加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
lc 最少链接(Least Connections)
调度器通过”最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用”最小连接”调度算法可以较好地均衡负载。
wlc 加权最少链接(Weighted Least Connections)
在集群系统中的服务器性能差异较大的情况下,调度器采用”加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
lblc 基于局部性的最少链接(Locality-Based Least Connections)
“基于局部性的最少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找
出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负
载,则用”最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器。
lblcr 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
”带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同
之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目
标IP地址对应的服务器组,按”最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器,若服务器超载;则按”最小连接”原
则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组
中删除,以降低复制的程度。
dh 目标地址散列(Destination Hashing)
“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
sh 源地址散列(Source Hashing)
“源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
LVS三种工作模式:
1. Virtual server via NAT(VS-NAT)
优点:
集群中的物理服务器可以使用任何支持TCP/IP操作系统
,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。
缺点:
扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多
时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间
大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理
服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计算。
解决办法:
即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP
tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR
DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct
routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面
采用VS-NAT的负载均衡器。
2. Virtual server via IP tunneling(VS-TUN)
我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。
优点:
负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直
接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-
TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个Virtual Server能达到1G的吞吐量。
不足:
但是,这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议,我仅在Linux
系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。
3. Virtual Server via Direct Routing(VS-DR)
优点:
和VS-TUN一样,负载均衡器也只是分发请求,
应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器,其中包
括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris
2.5.1、2.6、2.7;FreeBSD
3.1、3.2、3.3;NT4.0无需打补丁;IRIX 6.5;HPUX11等。
不足:
要求负载均衡器的网卡必须与物理网卡在一个物理段上。
分享到:
相关推荐
### LVS工作模式与十种调度算法 #### LVS简介 LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡技术,它通过构建虚拟服务器集群来实现对大量并发访问的处理,有效提升系统的可用性和扩展性。LVS支持三种...
LVS 概念及原理、调度算法、工作模式 LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,旨在提供高性能、可扩展性和高可靠性的服务器集群解决方案。LVS 是由章文崇先生组织开发的中国最早的软件集群之一...
本文针对被采用最多、效果较好的WLC调度算法,提出一种优化改进方法,使负载均衡系统更好实现任务均衡。 一、LVS负载均衡调度算法 LVS(Linux Virtual Server)系统是一个开源项目,它采用基于IP层负载均衡的调度...
LVS调度策略可以分为八种: 1. 轮转调度(Round Robin):这是最简单的轮询算法,按照顺序将流量分配到每个服务器上。 2. 加权最少连接(Weighted Least-Connections):这是一个动态的负载均衡算法,考虑服务器的...
总结来说,企业级调度器LVS通过集群和分布式系统的设计理念,提供了强大的负载均衡功能,支持多种工作模式和调度算法,以适应不同规模和类型的网络服务需求。正确理解和运用LVS,可以有效提升系统的稳定性和性能。在...
LVS支持四种常见的工作模式,这里主要讨论其中的两种:DR(Direct Routing)模式和NAT(Network Address Translation)模式。 **LVS DR模式** 1. **网络结构**:DR模式下,VIP(Virtual IP)与所有Real Server在...
"LVS三种模式配置总结" LVS(Linux Virtual Server)是一种开源的虚拟服务器解决方案,旨在提供高可用性、高性能和高扩展性的服务器集群解决方案。LVS架构中有三种模式:LVS-DR、LVS-NAT和LVS-TUN,本文将对这三种...
### LVS调度策略及负载均衡原理深入解析 #### 一、LVS调度策略概述 ...通过对以上内容的深入学习,可以更好地理解LVS调度策略及其背后的负载均衡原理,为实际工作中设计和实施高效稳定的系统提供有力支持。
通过以上内容,我们可以了解到LVS的原理、工作模式、调度算法及其在实际应用中的部署和优势。在搭建LVS时,根据具体的业务需求和网络环境,选择合适的工作模式和调度算法,是实现高效、稳定负载均衡的关键。
【加权连接调度算法】:加权连接调度算法是LVS中的一种调度策略,根据服务器的处理能力和当前负载情况,为每个服务器分配不同的权重。权重高的服务器会接收更多的连接请求,从而更有效地利用服务器资源。 【负载不...
LVS支持三种主要的工作模式:VS/NAT(Network Address Translation)、VS/DR(Direct Routing)和VS/TUN(Tunneling)。 - **VS/NAT**: - 通过网络地址转换实现虚拟服务器。 - 这种模式下,所有的数据包都会经过...
本文将详细介绍 LVS 的两种主要工作模式——NAT 模式和 DR 模式,以及这两种模式下的具体操作流程。 #### 二、LVS 架构 LVS 主要包括三个组成部分: 1. **负载调度层**:由一台或多台调度器组成,负责接收来自...
总之,LVS作为企业级调度器,通过其灵活的工作模式、多样化的调度算法以及高可用性设计,为企业构建大规模、高性能的网络服务提供了强大的工具。理解并掌握LVS的原理和实践,对于提升系统的稳定性、可扩展性和效率至...
LVS 支持多种工作模式,其中 Direct Routing (DR) 模式是最常用的一种。 #### 二、准备工作 在开始搭建 LVS DR 模型之前,我们需要做一些准备工作: 1. **虚拟化环境准备**:文档中提到使用 VMware Workstation ...
LVS的核心技术包括三种工作模式:DR(Direct Routing)、NAT(Network Address Translation)和TUNNEL(IP Tunneling)。每种模式都有其独特的应用场景和优缺点。 1. DR模式:直接路由模式。在这种模式下,LVS调度...
最后,需要配置LVS集群规则和调度器算法,并将模式改为DR模式。 例如,使用ipvsadm -e命令可以修改LVS集群规则的模式,将其改为DR模式。 1.5 小结 LVS是Linux虚拟服务器的缩写,主要用于实现服务器集群和负载...
LVS DR 模式总结详细笔记文档 LVS(Linux Virtual Server)是一种基于 Linux 的负载均衡解决方案,能够将incoming请求分布到多个后端...LVS DR 模式是一种高效、可靠的负载均衡解决方案,能够满足各种应用场景的需求。
在LVS的几种负载均衡模式中,TUN模式是一种IP隧道模式,它通过在调度器上创建一个IP隧道来封装请求,并将封装后的请求转发到真实的服务器。真实服务器接收到请求后,会解封装,并将响应直接发送回客户端,绕过调度器...
LVS支持三种主要的工作模式: 1. **NAT(网络地址转换)模式**:也称为IP伪装,客户端的请求会被重写成LVS调度器的IP地址,然后转发给后端真实服务器。真实服务器对返回的数据进行响应时,LVS会再次将源地址改为...