《负载均衡的技术原理及应用.docx》由会员分享,可在线阅读,更多相关《负载均衡的技术原理及应用.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、负载均衡的技术原理及应用负载平衡的技术原理及应用1概述1.1负载平衡产生背景1.1.1服务器负载平衡产生背景随着Internet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,十分是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至到达了10Gb/s的级别;同时,服务器网站借助HTTP、FTP、SMTP等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐步被数据淹没;另外,大部分网站尤其电子商务等网站都需要提供不间断24小时服务,任何服务中断或通信中的关键数据丢失都会造成直接的商业损失。所有这些都对应用服务提出了高性能和高可靠性的需求。但是,相对于网络技术的发展,服务
2、器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,网络带宽增长的同时带来的用户数量的增长,也使得服务器资源消耗严重,因此服务器成为了网络瓶颈。传统的单机形式,也往往成为网络故障点。图1现有网络的缺乏针对以上情况,有下面几种解决方案:(1)服务器进行硬件升级:采用高性能服务器替换现有低性能服务器。该方案的弊端:高成本:高性能服务器价格昂贵,需要高额成本投入,而原有低性能服务器被闲置,造成资源浪费。可扩展性差:每一次业务量的提升,都将导致再一次硬件升级的高额成本投入,性能再卓越的设备也无法知足当前业务量的发展趋势。无法完全解决如今网络中面临的问题:如单点故障问题,服务器资源不够用问
3、题等。(2)组建服务器集群,利用负载平衡技术在服务器集群间进行业务平衡。多台服务器通过网络设备相连组成一个服务器集群,每台服务器都提供一样或类似的网络服务。服务器集群前端部署一台负载平衡设备,负责根据已配置的平衡策略将用户请求在服务器集群中分发,为用户提供服务,并对服务器可用性进行维护。该方案的优势:低成本:根据业务量增加服务器个数即可;已有资源不会浪费,新增资源无需选择昂贵的高端设备。可扩展性:当业务量增长时,系统可通过增加服务器来知足需求,且不影响已有业务,不降低服务质量。高可靠性:单台服务器故障时,由负载平衡设备将后续业务转向其他服务器,不影响后续业务提供,保证业务不中断。图2负载平衡技
4、术1.1.2网关负载平衡产生背景SSLVPN网关、IPsec网关、防火墙网关等网关设备,由于业务处理的复杂性,往往成为网络瓶颈。以防火墙网关为例:防火墙作为网络部署的“警卫,在网络中不可或缺,但其往往不得不面临这样的尴尬:网络防卫越严格,需要越仔细盘查过往的报文,进而导致转发性能越低,成为网络瓶颈。在这种情况,假如废弃现有设备去做大量的硬件升级,必将造成资源浪费,随着业务量的不断提升,设备也将频繁升级。频繁升级的高成本是相当可怕的。因而将网关设备等同于服务器,组建网关集群的方案应运而生:将多个网关设备并联到网络中,进而构成集群,提高网络处理能力。1.1.3链路负载平衡产生背景信息时代,工作越来
5、越离不开网络,为了躲避运营商出口故障带来的网络可用性风险,和解决网络带宽缺乏带来的网络访问问题,企业往往会租用两个或多个运营商出口如:电信、网通等。怎样合理运用多个运营商出口,既不造成资源浪费,又能很好的服务于企业?传统的策略路由能够在一定程度上解决该问题,但是策略路由配置不方便,而且不够灵敏,无法动态适应网络构造变化,且策略路由无法根据带宽进行报文分发,造成高吞吐量的链路无法得到充分利用。链路负载平衡技术通过动态算法,能够在多条链路中进行负载平衡,算法配置简单,且具有自适应能力,能很好的解决上述问题。1.1.4全局负载平衡产生背景随着社会各领域全球化进程的日益深化,实现各方面信息的全球分享成
6、为人们的迫切需求。然而,无论用户的数据中心内部采用多么完善的冗余机制、安全的防备工具以及先进的负载平衡技术,单个数据中心的运行方式仍然不能保证关键业务的724小时不间断运行。此外,单一的数据中心也无法使广域范围内全球各地用户在访问应用时具有一样的快速访问感受。通过在不同物理位置构建多个数据中心,并利用全局负载平衡技术在多个数据中心间实现协调工作,引导用户访问最优的站点,当某个站点出现灾难性的故障后仍然能够让其他站点为用户提供服务,这样便能有效解决上述问题。1.2负载平衡技术优点负载平衡提供了一种廉价、有效、透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,提高网络的灵敏性
7、和可用性。负载平衡技术具有如下优点:高性能:通过调度算法,将客户端请求合理地平衡到后端各台服务器上,消除系统可能存在的瓶颈。可扩展性:当服务的负载增长时,系统能被扩展来知足需求,且不降低服务质量。高可用性:通过健康性检测功能,能实时监测应用服务器的状态,保证在部分硬件和软件发生故障的情况下,整个系统的服务仍然可用。透明性:高效地使由多个独立计算机组成的松耦合的服务系统构成一个虚服务器;客户端应用程序与服务系统交互时,就像与一台高性能、高可用的服务器交互一样,客户端无须作任何修改。部分服务器的切入和切出不会中断服务,而用户觉察不到这些变化。2技术实现2.1概念介绍1.虚服务负载平衡设备对外提供的
8、服务称为虚服务。虚服务由VPN实例、虚服务IP地址、服务协议、服务端口号唯一标识,配置在负载平衡设备上。客户的访问请求通过公共或私有网络到达负载平衡设备,匹配到虚服务后,由负载平衡设备根据既定策略分发给真实服务。2.实服务实服务是真实服务器提供的一种服务。该服务含义比拟广泛,能够是传统的FTP、HTTP等业务应用,可以以是广义的转发服务,如防火墙网关负载平衡中,实服务只是报文转发途径。3.OAAOAA即开放应用架构,是华三通信技术有限公司下面简称H3C提出的一个开放的软硬件体系,它以路由器或以太网交换机这样的传统网络设备为基础,并在此基础上,提供一套完好的软、硬件标准接口。任何厂商只要根据这样
9、的接口来生产软件或硬件,这些新开发的软硬件就能够和H3C系列路由器或以太网交换机等构成一个完好的系统,为客户创造更大的价值。4.持续性功能持续性功能将属于同一个应用层会话的多个连接定向到同一服务器,进而保证同一业务由同一个服务器处理或链路转发,并减少LB设备对服务和流量进行分发的次数。5.负载平衡调度算法负载平衡设备需要将业务流量根据某种算法分发给不同的实服务实服务对应服务器负载平衡中的服务器、网关负载平衡中的网关设备和链路负载平衡中的链路,这个分发算法就是负载平衡调度算法。6.就近性功能在链路负载平衡中,就近性功能是指,实时探测链路的状态,并根据探测结果选择最优链路,保证流量通过最优链路转发
10、。7.健康性检测功能健康性功能是指负载平衡设备对真实的服务器能否能够提供服务进行探测。根据不同的探测方法即健康性检测方法能够探测出服务器能否存在,以及能否能够正常提供服务。8.ISP表系统内置的ISP表描绘了不同运营商拥有的地址段信息。链路负载平衡能够基于报文的源或目的地址Outbound链路负载平衡基于目的地址,Inbound链路负载平衡基于源地址查找ISP表,得到对应的运营商信息,根据运营商信息为该流量选择一条物理链路。9.GLB设备GLB设备是具有全局负载平衡功能的LB设备,能够是一台独立的设备,可以以与本地负载平衡在同一台设备上提供服务。10.全局服务多个数据中心协作对外提供服务的描绘
11、。例如,通过分布在全球的多个站点对外提供WWW服务,但使用一样的域名:/docsj/doc/e6a5ad4d3968011ca2020111.html。为了便于管理,不同设备间配置的全局服务名称应一致。11.虚服务器虚服务器是全局负载平衡中为了便于管理而抽象出来的概念,是用户能够直接访问的主机。例如,一个数据中心对外提供一个IP地址,则能够抽象出一台服务器;一个数据中心对外有多个链路,配有多个访问的IP地址,则能够抽象出多台服务器。虚服务器分为本地虚服务器和远程虚服务器,不需要专门配置,是从本地虚服务和远程设备上动态获取的。12.全局就近性功能全局就近性是全局负载平衡中用于选取虚服务器的一种调
12、度算法,是指通过探测虚服务器与用户之间的网络状态,以及虚服务器本身的负载情况,根据探测结果选取最优的虚服务器来为用户提供服务。13.全局LB交互协议GLB设备之间会进行信息交互,例如获取其它GLB设备上对应全局服务的虚服务器状态信息、通知其它GLB设备进行就近性探测等,承载此类信息的协议为全局LB交互协议。2.2服务器负载平衡服务器负载平衡,顾名思义就是对一组服务器提供负载平衡业务。这一组服务器一般来讲都处于同一个局域网络内,并同时对外提供一组或多组一样或类似的服务。服务器负载平衡是数据中心最常见的组网模型。服务器负载平衡分为四层L4服务器负载平衡和七层L7服务器负载平衡两种:L4服务器负载平
13、衡支持IPv4协议和IPv6协议,是基于流的服务器负载平衡,对报文进行逐流分发,将同一条流的报文分发给同一个服务器。L4服务器负载平衡对基于HTTP的7层业务无法做到按内容进行分发,限制了负载平衡业务的适用范围。根据转发方式,L4服务器负载平衡分为NAT方式和DR方式。L7服务器负载平衡只支持IPv4协议,是基于内容的服务器负载平衡,对报文的承载内容进行深度解析,包括HTTP协议、RTSP协议等,根据其中的内容进行逐包分发,按既定策略将连接导向指定的服务器,实现了业务使用范围更广泛的服务器负载平衡。L7服务器负载平衡仅支持NAT方式。2.2.1NAT方式L4服务器负载平衡NAT方式L4服务器负
14、载平衡的组网灵敏,后端服务器能够位于不同的物理位置,不同的局域网内。NAT方式下,LB设备分发服务请求时,进行目的IP地址转换目的IP地址为实服务的IP,通过路由将报文转发给各个实服务。NAT方式L4服务器负载平衡的典型组网如图3所示。图3NAT方式L4服务器负载平衡NAT方式L4服务器负载平衡包括下面几个基本元素:LBDevice:负责分发各种服务请求到多个Server的设备。Server:负责响应和处理各种服务请求的服务器。VSIP:对外提供的虚拟IP,供用户请求服务时使用。ServerIP:服务器的IP地址,供LBDevice分发服务请求时使用。1.实现原理客户端将到VSIP的请求发送给
15、服务器群前端的负载平衡设备,负载平衡设备上的虚服务接收客户端请求,依次根据持续性功能、ACL策略、调度算法,选择真实的服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目的地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载平衡设备时,报文的源地址被复原为虚服务的VSIP,再返回给客户端,完成整个负载调度经过。2.工作流程NAT方式L4服务器负载平衡的工作流程图如图4所示。图4NAT方式L4服务器负载平衡流程图流程简述请参见表1。表从以上一系列的讲明能够看出在负载平衡时使用网络地址转换技术,NAT方式因而而得名。3.技术特点组网灵敏,对服务器没有额外要求,不需要修改服务器
16、配置,适用于各种组网。2.2.2DR方式L4服务器负载平衡相对于NAT方式,DR方式L4服务器负载平衡中只要客户端的请求报文通过LB,服务器的响应报文不经过LB,进而减少了LB的负载,有效的避免了LB成为网络瓶颈。DR方式下,LB设备分发服务请求时,不改变目的IP地址,而将报文的目的MAC替换为实服务的MAC后直接把报文转发给实服务。DR方式L4服务器负载平衡的典型组网如图5所示。图5DR方式L4服务器负载平衡DR方式L4服务器负载平衡包括下面几个基本元素:LBDevice:负责分发各种服务请求到多个Server的设备。Server:负责响应和处理各种服务请求的服务器。VSIP:对外提供的虚拟
17、IP,供用户请求服务时使用。ServerIP:服务器的IP地址,供LBDevice分发服务请求时使用。1.实现原理DR方式L4服务器负载平衡时,除了LB设备上配置了VSIP,真实服务器也都配置了VSIP,配置的VSIP要求不能响应ARP请求,例如在环回接口上配置VSIP。实服务除了VSIP,还需要配置一个真实IP,用于和LB通信,LB设备和真实服务器在同一个链路域内。发送给VSIP的报文,由LB分发给相应的真实服务器,从真实服务器返回给客户端的报文直接通过交换机返回。2.工作流程DR方式L4服务器负载平衡的工作流程图如图6所示。图6DR方式L4服务器负载平衡流程图流程简述请参见表2。表2DR方
18、式L4服务器负载平衡流程描绘从以上一系列的讲明能够看出负载平衡设备没有采用传统的转发方式查找路由表来分发请求报文,而是通过修改目的MAC直接路由给服务器,DR方式也因而而得名。3.技术特点只要单边报文经过负载平衡设备,负载平衡设备负担小,不易成为瓶颈,转发性能更强。2.2.3L7服务器负载平衡L7服务器负载平衡的典型组网如图7所示。图7L7服务器负载平衡L7服务器负载平衡包括下面几个基本元素:LBDevice:负责分发各种服务请求到多个Server的设备。Server:负责响应和处理各种服务请求的服务器。Servicegroup:实服务组是一个逻辑概念,是指根据多个服务器的一些公共属性,将服务
19、器划分成不同的组。例如:能够根据不同的功用划分为静态资料存储服务器组和动态交换服务器组;还能够根据不同的内容划分为歌曲服务器组、视频服务器组或图片服务器组等。VSIP:对外提供的虚拟IP,供用户请求服务时使用。ServerIP:服务器的IP地址,供LBDevice分发服务请求时使用。1.实现原理客户端首先与服务器群前端的负载平衡设备建立TCP连接,然后将到VSIP的请求发送给负载平衡设备。负载平衡设备上的虚服务接收客户端请求,依次根据持续性功能、实服务组匹配策略、调度算法,选择真实的服务器。然后,负载平衡设备先用客户端地址与真实服务器建立TCP连接,再用真实服务器地址重写客户端请求报文的目的地
20、址,并将请求发送给真实服务器。真实服务器的响应报文通过负载平衡设备时,报文的源地址被复原为虚服务的VSIP,再返回给客户端,完成整个负载调度经过。2.工作流程L7服务器负载平衡的工作流程图如图8所示。图8L7服务器负载平衡流程图流程简述请参见表3。表3L7服务器负载平衡流程描绘步骤讲明备注(1)(3)Host发起TCP连接请求,与LBDevice建立TCP连接TCP连接请求的源IP为HostIP、目的IP为VSIP(4)Host发送服务请求报文源IP为HostIP、目的IP为VSIP(5)LBDevice收到请求后,根据匹配策略为该请求选择一个适宜的实服务组,再借助调度算法计算出应该将请求分发
21、给该实服务组中的哪台Server,并缓存该请求报文-(6)LBdevice向Server发SYN报文,序列号为Host的SYN报文序列号源IP为HostIP、目的IP为ServerIP(7)Server发送SYNACK报文源IP为ServerIP、目的IP为HostIP(8)LBdevice接收Server的SYNACK报文后,回应ACK报文源IP为HostIP、目的IP为ServerIP(9)修改步骤(5)中缓存的请求报文的目的IP和TCP序列号,然后发给Server源IP为HostIP、目的IP为ServerIP(10)Server发送响应报文到LBdevice源IP为ServerIP、目
22、的IP为HostIP3.技术特点对报文进行深度解析获取报文载荷中携带的信息,实现按内容进行分发,拓宽了负载平衡业务的适用范围。适用于不同的服务器提供不同功能的组网。2.3网关负载平衡网关负载平衡包括下面几个基本元素:LBDevice:负责分发请求发起方的网络流量到多个网关设备。LBDevice又分为一级和二级。如图9所示,假如请求发起方的网络流量方向为HostAHostB,则LBDeviceA为一级,LBDeviceB为二级;假如请求发起方的网络流量方向为HostBHostA,则LBDeviceB为一级,LBDeviceA为二级。网关设备:正常处理数据的网关设备,如:SSLVPN网关,IPse
23、c网关,防火墙网关等。以防火墙网关负载平衡为例,组网应用如图9所示。图9双侧防火墙网关三明治负载平衡1.实现原理防火墙是基于会话开展业务的,即一个会话的请求和应答报文必须通过同一个防火墙。为了保证防火墙业务正常进行,内部组网不受影响,需要采用双侧负载平衡,即防火墙三明治。在这种组网环境中,对于流入流量,一级LB设备做防火墙负载平衡,二级LB设备保证从哪个防火墙进来的流量,还要从这个防火墙返回。流出流量正好相反。2.工作流程图10防火墙负载平衡流程图表4防火墙负载平衡流程描绘从以上一系列的讲明能够看出两台LBDevice之间并联的防火墙进行网络流量的负载分担,提高了网络的性能。两侧的LBDevice和中间并联的防火墙我们称之为三明治负载平衡。3.技术特点服务对象为防火墙,提高防火墙组网灵敏性。没有特殊要求,适用于任何组网环境。2.4服务器负载平衡和网关负载平衡融合网关负载平衡可以以和服务器负载平衡融合使用,以防火墙网关和服务器负载平衡综合组网为例,详细组网如图11所示。图11防火墙网关和服务器负载平衡综合组网图
限制150内