《负载均衡实现原理.ppt》由会员分享,可在线阅读,更多相关《负载均衡实现原理.ppt(41页珍藏版)》请在三一办公上搜索。
1、Load Blance培训胶片,Load Blance的基本原理Load Blance服务器负载均衡原理Load Blance链路负载均衡原理Load Blance典型组网,课程目标,学习完本课程,您应该能够:,负载均衡基本原理Load Blance服务器负载均衡原理Load Blance链路负载均衡原理Load Blance典型组网及应用,目录,为什么需要负载均衡?,Link Too Busy,Internet,应用背景访问流量快速增长业务量不断提高用户需求希望获得724的不间断可用性及较快的系统反应时间,Client,Server Too Busy,Internet,解决方案:服务器负载均
2、衡,多台服务器组成一个群组,它们通过网络设备相连接。这些服务器提供相同或相似的网络服务。服务器群组前布局一个负载均衡设备,负责根据已配置均衡策略将用户请求在服务器群组中的分发,为用户提供服务,并对服务器可用性的维护。,解决方法Load Balance(1),Internet,解决方案:链路负载均衡,通过带宽或就近性等算法,在多条链路中进行负载均衡,选择最优的链路,提高访问速度。,China Tet,CNC,解决方法Load Balance(2),负载均衡基本原理,调度算法 根据配置规则,将客户端请求智能地分发到后端应用服务器健康性检查算法 实时监控服务器运行状态,Application,App
3、lication,Application,Clients,Load Balancer,Server Farms,Clients Request:,Load Blance to Client:,Load Blance to Server:,Server to Client:,负载均衡产品中的关键指标:调度算法,目前常用的调度算法:轮询(Round Robin)加权轮询(Weighted Round Robin)最少连接(Least Connections)加权最少连接(Weighted Least Connections)随机(Random)加权随机(Weighted Random)源地址散列(
4、Source Hashing)源地址端口散列(Source&Port Hashing)目的地址散列(Destination Hashing),调度算法:轮询(Round Robin),轮询算法实现:新的连接被依次轮询分发到各个实服务器上,比如第1个连接分发到第1台服务器,第2个连接就被分配到第2台服务器上,依次轮询。轮询算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。,调度算法:加权轮询(Weighted Round Robin),加权轮询算法实现:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。假设3台服务器加权分别
5、为2:5:3,这样6条流过来,第1台服务器分担1条流,第2台服务器分担3条流,第3台服务器分担2条流。加权轮询算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。,调度算法:最少连接(Least Connections),最少连接算法实现:最少连接均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。最少连接算法适合长时处理的请求服务,如FTP。加权最少连接算法实现:将加权与最少连接算法配合,根据连接数与加权比例后计算出当前新连接应该发往哪个
6、服务器。,调度算法:随机(Random),随机算法实现:将新连接随机分发给具体的实服务器。加权随机算法实现:将加权与随机算法配合,根据随机数与加权比例后计算出当前新连接应该发往哪个服务器。,调度算法:源地址散列(Source Hashing),源地址散列算法实现:根据新连接的源IP地址进行散列(HASH)的结果来决定将该新连接发文哪个实服务器。一般来说,来自相同客户端的新连接会被散列到相同的实服务器。,Internet,2,1,3,5,4,6,1,4,2,5,3,6,负载均衡产品中的关键指标:健康性检查算法,健康性检查算法的目的:通过某种探针机制,检查服务器群中真实服务器的健康情况,避免把客户
7、端的请求分发给出现故障的服务器,以提高业务的HA能力。目前常用的健康性检查算法:Ping(ICMP)TCPHTTPFTPDNS(inbound 链路负载均衡),负载均衡基本原理Load Blance服务器负载均衡原理Load Blance链路负载均衡原理Load Blance典型组网及应用,目录,服务器负载均衡基本原理基本概念,3.实服务组:为了便于对多个实服务进行管理,将多个实服务的一些共有属性提取出来形成了实服务组。一个虚服务对应一个实服务组,一个实服务组对应多个实服务。相同的实服务组不能属于不同的虚服务。,1.虚服务:负载均衡设备对外提供的服务称为虚服务。虚服务由VPN实例、虚拟服务IP
8、地址、服务协议、服务端口号唯一标识,配置在负载均衡设备上。客户访问请求通过公共或私有网络到达负载均衡设备,匹配到虚服务后,由负载均衡设备按照既定策略分发给真实服务。,2.实服务:实服务是真实服务器提供的一种服务,该服务意义比较广泛,可以是传统的FTP、HTTP等业务应用,也可以是广义的转发服务,如防火墙负载均衡中,实服务只是报文转发路径,实服务只是转发服务。,服务器型负载均衡转发方式,服务器负载均衡是数据中心最常见的组网模型。依据转发方式,分为NAT方式、DR方式。,NAT方式(Network Address Translation):利用NAT 技术将Clinet 请求报文目的地址转换为真实
9、服务器地址,发给真实服务器,并将Server应答报文源地址转换为虚服务IP地址,发给客户端;DR方式(Direct Routing):通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户;防火墙转发方式(Direct Routing):与DR方式处理类似,改写请求报文的目的MAC地址,分发到不同的防火墙出路,回应走正常的转发处理。,NAT方式服务器负载均衡原理,实现原理:客户端将请求发送给服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,通过调度算法,选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定
10、的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户,完成整个负载调度过程。,DR方式服务器负载均衡原理,实现原理:DR方式主要用于旁挂模式,除了Load Blance设备上配置了VSIP,真实服务器也都配置了VSIP址,但不响应ARP,可通过配置为loopback地址达到。真实服务器的标识为非VSIP的和Load Blance出接口在同一个网段内的IP,发送给VSIP的报文,由Load Blance分发给相应的真实服务器,从真实服务器返回给客户端的报文直接通过交换机返回。这种方式组网对服务器有配置要求。,防火墙方式工作流程,实现原理:防火墙
11、是基于会话开展业务的,即一个会话的请求和应答报文必须通过同一个防火墙。为了既能保证防火墙业务正常进行,内部组网不受影响,需要采用双侧防火墙,即防火墙三明治。在这种组网环境中,对于流入流量,外侧Load Blance设备做防火墙负载均衡,内侧Load Blance设备保证从哪个防火墙进来的流量,还要从这个防火墙返回。流出流量正好相反。,服务器型负载均衡和防火墙型负载均衡融合,图中Cluster A为防火墙负载均衡的群组,Cluster B为NAT方式服务器负载均衡的群组。综合组网的工作流程就是防火墙、服务器负载均衡流程的叠加。这样的组网方式既避免了防火墙成为网络中的瓶颈,也提高了各种网络服务(如
12、HTTP、FTP)的性能和可用性。,实服务选择流程,前提:命中虚服务,一次业务交互可能包括多个连接,有些存在隐含的关联关系,将多个连接持续重定向到同一个服务器的策略,就是持续性功能。如HTTP 网络购物,多条连接组成一次业务应用,但所有该业务的请求应发给同一服务器,否则可能造成无法完成所请求的功能,可采用基于源地址的持续性功能完成。,注意事项轮转算法,注意:少量连接效果不均衡,大量连接效果均衡!原因:1.Load Blance设备是多核CPU,算法设计实现也基于该基础。2.多核中的实现:为了避免多核中同时对一个资源实体进行调度出现资源竞争问题,算法处理过程中将多核看作多个设备,每个核独立运行算
13、法,独立保存算法所需上下文环境。从宏观角度,由于各核分发均衡总体效果是均衡的。微观角度,并不能保证每一个时刻各个服务器上的连接数都是均衡的,会有一个偏差,偏差最大值:多核中用于转发的Core数,当前系统为27。,TIP:Load Blance设备即解决业务访问量压力过大的问题。故应以大量连接情况下的均衡 效果作为评判标准。其他算法也均建议如此察看测试效果。,注意事项地址散列算法(1),算法思想通过一个散列(Hash)函数将来自同一个源IP的请求映射到一台服务器。适用场景:需要保证来自同一个用户的请求分发到同一个服务器情况下。实现:实服务组中的实服务存放在一个散列表(这个散列表是一个数组)中。存
14、在一 个散列函数y=f(x),x为散列键,f为散列函数,y是得出的散列表中的某个位置。当一个请求到达并选择实服务的时候,将请求报文的源IP作为散列键得出一个散列表中的位置标号,从而找到要调度的实服务。【实服务变化响应】在使用源地址散列算法进行实服务调度的时候,由于算法本身就是将来自某个源IP的连接分配到一个散列表中固定的位置,因此在实服务故障(实服务删除或者健康检测结果为不可用)的时候,就会使源IP标识的客户端后续连接中断。为了提高虚服务的可靠性,在使用源地址散列进行实服务调度的时候,算法会响应实服务变化,把原本属于该故障实服务的源地址连接分配给其他的可用的实服务,不影响之前可用实服务与源地址
15、之间的映射关系。后续恢复的实服务按顺序添加到对应的空位上。,注意事项地址散列算法(2),注意事项虚地址 Ping,为什么要Ping虚地址?调试手段对Nat,DR,防火墙模式:如果虚服务配置协议任意/端口任意,则Ping回应由实服务应答。(命中虚服务)如果虚服务未配置协议任意/端口任意,则Ping回应由Load Blance应答。(命中虚地址,未命中虚服务)原则:使Ping都能够做应答,在调试的时候更友好。,服务器负载均衡支持的健康检测,支持的健康检测类型 TCP ICMP HTTP(可检查返回内容)FTP,注意:TCP探测类型,目的端口号在实服务中配置,如未配置端口则实服务状态 永不健康。关联
16、健康检测:服务的提供不仅依赖于实服务自身,还需要其他关联的服务器配合才能完成整个业务,此时需要配置关联健康检测。在实服务页面配置,探测类型与实服务相同。,Load Balancer,Servers,负载均衡基本原理Load Blance服务器负载均衡原理及配置Load Blance链路负载均衡原理及配置Load Blance典型组网及应用FAQ,目录,链路负载均衡,链路负载均衡有两种方式:Outbound方向链路负载均衡 Inbound方向链路负载均衡,Outbound,Inbound,Outbound方向多链路负载均衡,工作原理:配置负载均衡虚服务,使其只对出方向报文做处理:根据调度算法进行
17、链路选路,类似于防火墙负载均衡应用,不同的是,这里不需要做三明治组网,因为无需保证应答报文原路返回。这是从内网到外网多链路负载均衡。,与服务器型负载均衡配置名称关系对比,虚服务,服务器型负载均衡,链路型负载均衡,实服务组,实服务,虚服务,逻辑链路组,逻辑链路,物理链路,为什么抽象出物理链路的概念:物理链路对应着实际的物理网络出口,链路均衡组网中实际的链路接口是有限的,但在链路接口上可以做多组各类型的链路均衡服务,基于目前Load Blance一对一的实服务组和实服务的引用关系,抽象出了物理链路的概念。一个物理链路可被多个逻辑链路引用。,链路负载均衡选路顺序流程,前提:命中虚服务,持续性,调度算
18、法,First step,Second step,ACL策略,就近性,Third step,forth step,ACL策略,Load Blance的策略是通过ACL实现的,并且Load Blance选路优先匹配ACL策略,匹配策略时依次match逻辑链路acl,按逻辑链路权值从大到小顺序。ACL规则的动作有如下三种:1.Permit动作 匹配,分发到该链路 2.Deny动作 直接跳出策略匹配流程,走后续分发方式 3.Not found动作 继续后续逻辑链路的匹配,就近性原则,就近性探测说明1.作为基础功能模块,被Outbound和Inbound同时使用2.分为静态就近性表项和动态表项,静态表
19、项优先3.支持的探测类型Outbound:ICMP,TCP Half OpenInbounde:DNS,ICMP,TCP Half Open4.计算依据:RTT,TTL,剩余带宽,链路成本5.就近性探测向所有的物理链路发起探测,结果形成一条按优先级排列的链,显示时只 显示最优链路,匹配时遍历就近性链,找最优的属于该虚服务的对应链路。注意:1.就近性探测由请求报文触发,如之前没有就近性表项,触发探测后本次调度使用调度算法进行链路选择。2.部分演示环境要达到最近链路的选择效果,此时建议把链路成本和带宽的权值设为0,避免由此带来的演示效果不明显。,Outbound链路负载均衡功能其他注意项,1.配置
20、注意:通常出方向链路均衡虚服务配置为通配地址,协议任意/端口号任意,此时如果有外网发起的到内网的连接请求,则会出现被配置的虚服务弹回,无法访问内网。此时需要对访问内网的请求配置一条虚服务,以保证可通过命中此虚服务后把连接报文引入到内网。虚服务匹配策略:深度优先2.带宽算法 按剩余带宽的大小进行链路选择。支持的接口类型:三层物理口,vlan虚接口,子接口。子接口报文速率统计有使能开关,应用于子接口的带宽算法需使能子接口报文统计功能。接口视图下:sub-interface rate-statistic。缺省接口报文统计300秒一次,故带宽算法调度更新粒度300秒为周期更新。,Inbound负载均衡
21、(基本原理),基本工作原理:Load Blance设备通过解析客户端发送的DNS请求,指导用户请求报文流走最佳的物理链路。客户端在通过域名访问服务器资源时DNS查询过程:1、DNS请求报文发送到LocalDNS 2、LocalDNS从RootDNS获取NS服务器(Load Blance device)信息。3、LocalDNS向NS服务器(Load Blance device)发送域名解析请求。4、NS服务器(Load Blance device)查找后将解析结果返回给LocalDNS 5、LocalDNS将查询结果返回给客户端。6、客户端根据解析结果访问服务器。,服务器,客户端,RootDN
22、S,负载均衡基本原理Load Blance服务器负载均衡原理Load Blance链路负载均衡原理Load Blance典型组网及应用,目录,负载均衡技术典型组网应用,1.在企业园区网络中,为了实现对企业资源服务器的快速访问,也需要采用负载均衡设备分担企业数据访问流量。在这种应用环境下,可以将负载均衡设备串接在网络中,服务器通过网络设备连接到负载均衡设备,服务器网关指向Load Blance。2.负载均衡设备直联服务器部署模式的优点是:(1)部署简单,是负载均衡设备的经典 应用模式。(2)通过交换机连接负载均衡设备和服务器群,解决Load Blance设备端口数量限 制带来的扩展性问题。,数据
23、中心和大型门户网站是负载均衡设备主要的应用场景,推荐采用旁路模式作为数据中心和大型门户网站的组网模式。组网图如图所示。Load Blance设备与汇聚层交换机之间有两条链路或链路聚合组,这两条链路(组)分别为L3链路和L2链路,服务器网关指向Load Blance设备,对于需要负载均衡的流量,汇聚层将VSIP的下一跳指向Load Blance,而Load Blance的缺省路由指向汇聚层交换机。,负载均衡技术典型组网应用,旁路部署模式的优点如下:1.数据路径清晰,易于运行维护、故障定位;可以使用手工链路聚合,链路带宽易于拓展,并提供链路高可靠性及其链路负载均衡能力;Load Blance设备旁挂,易于Load Blance升级/扩展。根据用户服务器扩展情况,升级更高性能的Load Blance设备或者增加Load Blance设备;4.业务部署灵活,对不需要负载均衡的流量可以旁路Load Blance,避免对Load Blance增加不必要负荷;5.降低了对汇聚层交换机的要求,有助于网络稳定运行。,负载均衡技术典型组网应用(outbound链路),负载均衡技术典型组网应用(双机热备),