梭子鱼负载均衡机项目方案书(超详细)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXXXX
梭子鱼负载均衡机解决方案
客户项目建议书
Barracuda Networks (Shanghai) Co.,Ltd.
2004-08-9
目录
一用户需求
二梭子鱼负载均衡机的特色
2.1 梭子鱼负载均衡机的基本原理
2.2 梭子鱼负载均衡机的特色
三梭子鱼负载均衡机方案建议
3.1 xx公司现有应用架构情况与分析
3.2 xx公司梭子鱼负载均衡方案
3.3 服务器负载均衡
3.4 服务器健康检查
3.5 会话保持
3.6内建IPS防御攻击
3.7 梭子鱼的高可用性
四方案优势阐述
1. 拓扑结构的优点
2. 安全机制方面
3. 与应用的结合方面
五梭子鱼负载安全机产品介绍
一用户需求
随着宽带网络技术的不断发展以及网络基础设施的完善,Internet在国内得到迅速的发展,短短几年中,国内上网人数突破了1.3亿。

根据中国互联网络信息中心2007年1月公布的数据,我国上网计算机数约5940万台,其中宽带上网计算机为3530万台,拨号上网计算机为1820万台。

我国上网用户人数约13700万人,其中宽带上网的用户人数约为9070万,拨号上网的用户人数约为3900万,同时使用宽带与拨号的用户人数为565万。

除计算机外同时使用其它设备(移动终端、信息家电等)上网的用户人数为1700万。

不少地方如北京上海广州等网民数站到总人口的1/3。

互联网已经彻底地成为了人们工作、生活的一部分。

对于提供互联网服务的服务器而言,出现了如下变化:
A 访问量大量增加,网络用户的所有请求都涌向源网站,很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。

如何建立可伸缩的网络服务来满足不断增长的负载需求已成为迫在眉睫的问题。

B 内容与功能的增加
例如:现在Web服务中越来越多地使用CGI、动态主页等CPU密集型应用,这对服务器的性能有较高要求。

此外,企业网站的互动和多媒体内容增多,企业网站上大量Flash,图片内容影响网站响应速度;企业宣传活动及新产品发布期间,易产生"数据风暴"影响网站服务及新产品的推广宣传。

再如:流媒体作为网络内容的新生代,已经被越来越多的内容提供商和企业所采用,用户将更多的从网络上获取流媒体的内容。

会议、研讨会、娱乐、体育活动直播、网上教育、网上影院等更加丰富多样的流媒体体现形式也将进一步走进网络用户的生活,随着宽带时代的到来,宽带用户渴望看到大量流媒体内容。

C 安全性增加
由于网站的所有内容都是以数字的形式流转于Internet之上,因此,在网络运营中不可避免地存在着由Internet的自由、开放所带来的信息安全隐患。

Internet上横行的黑客、肆虐的病毒使用户感觉到目前的网络环境缺乏安全。

根据中国互联网络信息中心(CNNIC)2007年1月公布的《中国互联网络发展状况统计报告》显示,用户认为目前网上交易存在的最大问题是"安全性得不到保障",排在了第一位,由此可见用户对网络安全性的忧虑程度。

因此,对用硬件和软件方法实现高可伸缩、高可用网络服务的需求不断增长,这种需求可以归结以下几点:
∙可扩展性(Scalability),当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。

∙高可用性(Availability),尽管部分硬件和软件会发生故障,整个系统的服务必须是每天24小时每星期7天可用的。

∙可管理性(Manageability),整个系统可能在物理上很大,但应该易于管理。

∙价格有效性(Cost-effectiveness),整个系统实现是经济的、高性价比的。

二梭子鱼负载均衡机的特色
2.1 梭子鱼负载均衡机的基本原理
针对Internet的飞速发展给企业网络带宽和服务器带来的这种巨大挑战,企业有两种解决思路。

一种方法是增加服务器的性能,例如采用对称多处理系统(Symmetric Multi-Processor,简称SMP),该系统是由多个对称的处理器、和通过总线共享的内存和I/O部件所组成的计算机系统,具有强大的处理能力。

但是随着业务量的增大,这种服务器升级时具有明显的不足。

一是升级过程繁琐,机器切换会使服务暂时中断,并造成原有计算资源的浪费;二是越往高端的服务器,所花费的代价越大;三是 SMP服务器是单一故障点(Single Point of Failure),一旦该服务器或应用软件失效,会导致整个服务的中断。

另一种思路是采用服务器集群实现高可伸缩的、高可用网络服务的有效结构。

这种方案通过一组服务器分担任务,可以获得很高的整体性能。

也易于扩展,性价比也很高。

但是简单的服务器机群在实现可伸缩的网络服务存在许多问题。

例如透明性(Transparency)问题,用户希望由多个独立计算机组成的松藕合的集群系统构成一个虚拟服务器;客户端应用程序与集群系统交互时,就像与一台高性能、高可用的服务器交互一样,客户端无须作任何修改。

部分服务器的切入和切出不会中断服务,对用户也是透明的。

再比如流量的均衡,管理的便捷性。

这些要求是服务器集群无法实现的。

梭子鱼负载均衡机(Barracuda Load Balancer)提供了另外一个思路。

利用梭子鱼负载均衡机。

将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。

其体系结构如下图,
在一组服务器的前端安装梭子鱼负载均衡机,所有外部的请求将先连接在梭子鱼负载均衡机VIP上(也称为虚拟服务器上),梭子鱼执行NAT,无缝地将网络请求调度到真实服务器上。

从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。

客户程序不受服务器集群的影响不需作任何修改。

系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重置系统达到高可用性。

2.2 梭子鱼负载均衡机的特色
梭子鱼负载均衡机提供强大、易于使用、成本效益高的企业级服务器负载均衡设备,是当前负载均衡设备中最活跃、最易推广、最易普及的服务器负载均衡机品牌。

其设计遵循以下原则:
可扩展性:IT技术日新月异,一年以前最新的产品,现在或许已是网络中性能最低的产品;负载均衡机应能够根据信息化的不断深入发展的需要,方便的扩展(或裁剪)服务器,以满足企业业务扩展的需要。

需具备支持多种通信媒体,能均衡不同操作系统和硬件平台之间的负载,能均衡HTTP、邮件、新闻、代理、数据库、防火墙和 Cache等不同服务器的负载,并且能以对客户端完全透明的方式动态增加或删除某些资源。

梭子鱼负载均衡机使用TCP/UDP协议和IP负载平衡调度,支持所有基于IP的应用程序负载均衡。

包括:
高流量的网站,如HTTP,HTTPs,FTP,流媒体等。

使用瘦客户端的主机应用程序,如:Citrix、Windows终端服务。

其他IP服务,如:SMTP、DNS、TFTP、RADIUS、LDAP等。

灵活性:均衡解决方案应能灵活地提供不同的应用需求,满足应用需求的不断变化。

在不同的服务器群有不同的应用需求时,梭子鱼可以提供多样的均衡策略提供更广泛的选择。

梭子鱼负载均衡机部署灵活,支持路由模式、桥接模式、服务直接返回模式。

路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。

约30%的用户采用这种模式。

可靠性:在对服务质量要求较高的站点,负载均衡解决方案应能为服务器群提供完全的容错性和高可用性。

但在负载均衡设备自身出现故障时,应该有良好的冗余解决方案,提高可靠性。

使用冗余时,处于同一个冗余单元的多个负载均衡设备必须具有有效的方式以便互相进行监控,保护系统尽可能地避免遭受到重大故障的损失。

梭子鱼负载均衡机提供强大的企业级的解决方案,它可以用于为任何基于IP的应用程序提供IP负载均衡,它监控服务器的健康状态,并在服务器故障时自动容错,而梭子鱼本身还可以部署成主/次模式,如果主设备故障,次负载均衡设备能自动切换成主设备,最大程度的减小了整个负载均衡服务器集群的风险。

易管理性:不管是通过软件还是硬件方式的均衡解决方案,我们都希望它有灵活、直观和安全的管理方式,这样便于安装、配置、维护和监控,提高工作效率,避免差错。

梭子鱼(Barracuda)提供给用户是非常易于使用的产品。

用户打开包装箱,把梭子鱼安装在19英寸标准机架上,进行简单的配置后梭子鱼立刻开始提供高性能的负载均衡服务。

这一过程仅仅只需要十分钟。

梭子鱼(Barracuda)提供给用户的是一种“即插即忘”式的产品,无需用户进行复杂的系统操作,管理员通过WEB浏览器就可以对设备进行远程的管理,一旦系统调整完毕,梭子鱼将自动监控服务器的状态,自动分配流量、自动冗余、自动接收升级入侵检测代码,管理员无需经常登录系统进行管理
三梭子鱼负载均衡机方案建议
3.1 xx公司现有应用架构情况与分析
根据实际情况,设计相应的安装模式,如服务直接返回模式。

以下是一个参考:广东省电信有限公司隶属中国电信股份有限公司,是中国电信股份有限公司在广东行政区域范围内出资设立的独资子公司。

公司具有企业法人资格,统一使用“中国电信”服务商标
广东省电信有限公司的主要经营业务有:国内、国际各类固定电信网络与设施(含本地无线环路);基于电信网络的话音、数据、图像及多媒体通信与信息服务;与通信及信息业务相关的系统集成、技术开发、技术服务、信息咨询、广告、通信设备销售、设计施工等业务;并根据市场发展需要,经营国家批准或允许的其他业务。

深圳电信IDC中心是入驻企业、商户或网站服务器群托管的场所;是各种模式电子商务赖以安全运作的基础设施,也是支持企业及其商业联盟 其分销商、供应商、客户等实施价值链管理的平台。

深圳电信IDC中心为入驻用户提供了一种高端的数据传输(Data Delivery)的服务,提供高速接入的服务。

3.2 xx公司梭子鱼负载均衡方案
根据对广东省电信,深圳电信IDC中心,业务的理解特别建议下边两种部署方式路由模式(推荐)——这种模式部署灵活,约60%的用户采用这种方式部署
路由模式的部署方式如上图。

服务器的网关必须设置成梭子鱼负载均衡机的LAN 口地址,且与WAN口分署不同的逻辑网络。

因此所有返回的流量也都经过梭子鱼。

这种方式对网络的改动小,能均衡任何下行流量。

服务直接返回模式(DSR)——这种模式比较适合吞吐量大特别是内容分发的网络应用。

约30%的用户采用这种模式。

3.3 服务器负载均衡
梭子鱼负载均衡机利用虚拟IP地址(VIP由IP地址和TCP/UDP应用的端口组成,它是一个地址)来为用户的一个或多个目标服务器(称为节点,即真实服务器Real Server的IP地址和TCP/UDP应用的端口组成,它可以是私网地址)提供服务。

因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。

梭子鱼负载均衡机连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,梭子鱼负载均衡机根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。

能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。

梭子鱼负载均衡机是一台对流量和内容进行管理分配的设备。

它提供7种灵活的算法将数据流有效地转发到它所连接的服务器群。

而面对用户,只是一台虚拟服务器。

用户此时只须记住一台服务器,即虚拟服务器。

但他们的数据流却被梭子鱼负载均衡机灵活地均衡到所有的服务器。

这7种算法包括:
轮询(Round Robin):轮询算法就是顺序循环将请求依次顺序循环地连接每个服务器。

在此过程中,如果梭子鱼检测到某个服务器第二到第7层的故障,梭子鱼将把该服务器从顺序循环队列中拿出(称为切出服务),不参与下一次轮询,直到其恢复正常。

该算法相对简单,其优点是简洁,它无需记录当前所有连接的状态,所以它是一种无状态调度。

但是由于它假设所有服务器处其理性能均相同,不管服务器的当前连接数和响应速度。

因此不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时轮询,轮询算法容易导致服务器间的负载不平衡。

加权轮询算法(Weighted Round-Robin):加权轮询算法可以解决服务器间性能不一的情况,它用相应的权值表示服务器的处理性能,服务器的缺省权值为1。

假设服务器A的权值为1,B的权值为2,则表示服务器B的处理性能是A的两倍。

加权轮叫调度算法是按权值的高低和轮询方式分配请求到各服务器。

权值高的服务器先收到的连接,权值高的服务器比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接数。

例如,有三个服务器A、B和C分别有权值4、3和2,则在一个调度周期调度序列为AABABCABC。

加权轮询调度算法还是比较简单和高效。

加权轮询调度也无需记录当前所有连接的状态,所以它也是一种无状态调度。

当请求的服务时间变化很大,单独的加权轮询调度算法依然会导致服务器间的负载不平衡。

在此过程中,如果梭子鱼检测到某个服务器第二到第7层的故障,梭子鱼将把该服务器从顺序循环队列中拿出(称为切出服务),不参与下一次轮询,直到其恢复正常。

最小连接算法:最小连接算法(Least-Connection Scheduling)是把新的连接请求分配到当前连接数最小的服务器。

最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。

调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。

在此过程中,如果梭子鱼检测到某个服务器第二到第7层的故障,梭子鱼将把该服务器从顺序循环队列中拿出(称为切出服务),不参与下一次轮询,直到其恢复正常。

当各个服务器有相同的处理性能时,最小连接调度算法能把负载变化大的请求分布平滑到各个服务器上,所有处理时间比较长的请求不可能被发送到同一台服务器上。

但是,当各个服务器的处理能力不同时,该算法并不理想,因为TCP连接处理请求后会进入TIME_WAIT 状态,TCP的TIME_WAIT一般为2分钟,此时连接还占用服务器的资源,所以会出现这样情形,性能高的服务器已处理所收到的连接,连接处于TIME_WAIT状态,而性能低的服务器已经忙于处理所收到的连接,还不断地收到新的连接请求。

加权最小连接算法:加权最小连接(Weighted Least-Connection Scheduling)算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。

服务器的缺省权值为1,
系统管理员可以动态地设置服务器的权值。

加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。

在此过程中,如果梭子鱼检测到某个服务器第二到第7层的故障,梭子鱼将把该服务器从顺序循环队列中拿出(称为切出服务),不参与下一次轮询,直到其恢复正常。

观察模式:这种方式基于动态反馈负载均衡机制,来控制新连接的分配,从而控制各个服务器的负载。

调度器根据单位时间内服务器收到新连接数与平均连接数的比例,计算服务器的负载,并依此计算出新的权重进行流量的分配。

CPU动态性能分配:调度器通过SNMP向各个服务器查询服务器当前CPU负载LOADi,并依此计算出新的权重进行流量的分配。

URL测试动态性能分配:调度器向服务器发送测试页面,根据服务器响应时间,计算新的权重进行流量分配。

这种方式能比较好的反映服务器上请求等待队列的长度和请求的处理时间。

如果服务器设定的时间内没有响应,梭子鱼将认为服务器不可达,该服务器的权值将设为零,即将服务器切出。

直至恢复。

网络中的实际流量呈波浪型发生的,在一段较长时间的小流量后,会有一段大流量的访问,然后是小流量,这样跟波浪一样周期性地发生。

当出现流量“峰值”时,如果能调配所有服务器的资源同时提供服务,所谓的“峰值堵塞”压力就会由于系统性能的大大提高而明显减弱。

由于梭子鱼优秀的负载均衡能力,所有流量会被均衡的转发到各个服务器,即组织所有服务器提供服务。

这时,系统性能等于所有服务器性能的总和,远大于流量“峰值”。

这样,即缓解了“峰值堵塞”的压力,又降低了为调整系统性能而增加的投资。

用户可以根据任意制订的规则将客户端的访问导向到不同的服务器群组。

3.4 服务器健康检查
梭子鱼负载均衡机支持真实服务器和服务的自动发现,从而方便部署新的服务器。

对常用的服务,用户不需要手动设置端口,梭子鱼能自动检测在指定的服务器上有哪些服务正在运行,节省部署和配置的时间。

梭子鱼还支持OSI模型二到七层的health checking。

特别是EAV和ECV功能:
基础网络检查 Ping
四层应用检查 TCP/UDP port
扩展内容查证 ECV
ECV 是一种非常复杂的服务检查,用于确认应用程序能否对请求返回对应的数据。

如果一个应用对该服务检查做出响应并返回对应的数据,梭子鱼就将该服务器标识为健康状态。

如果服务器不能返回相应的数据,则将该服务器标识为宕机,并将其切出服务。

宕机一旦修复,梭子鱼就会自动发现该服务器已经恢复健康,并将其列入轮询序列。

扩展应用验证 EAV
EAV是另一种服务检查,用于确认运行在某个服务器上的应用能否对客户请求作出响应。

梭子鱼Web管理界面上设置了一组被称作外部服务检查者的客户程序,该程序为用户提供完全客户化的服务检查功能。

例如,DNS_TEST程序,用户可以输入需要查询的主机名及匹配值,如果真实服务器返回的值与匹配值相同,则表明该服务正常。

梭子鱼预定义的扩展验证(EAV)检查包括:DNS、SPAMFIREWALL、SNMP、POP、IMAP、SMTP、SIMPLE_HTTP、SIMPLE_HTTPS、HTTP_SLOW、HTTP_TEST。

3.5 会话保持
梭子鱼负载均衡机经过专门设计,可以为关键业务站点提供高可用性和智能负载平衡。

除这些能力外,还可以识别用户固定访问特定服务器的要求,以支持用户重新建立到特定服务器的连接。

在这些条件下,梭子鱼负载均衡机会放弃负载平衡算法以支持对话持续性。

举例来说,如果某位用户连接到了一台服务器上,那么我们肯定希望该用户在将来再次连接时将仍可连接到该台服务器上。

当该服务器存有用户相关数据,并且这些数据并不与其它服务器动态共享时,持续性就显得十分有必要了。

例如,让我们假设一位用户在某网站采购了一“购物车”的商品,然后还未结帐就离开了该网站。

如果在其重新登录网站后,BIG-IP应用交换机将客户请求路由至不同的服务器,那么新的服务器对该用户的数据和其所购买的商品将一无所知。

当然,如果所有服务器都在同一个后台数据库服务器中存储用户信息及其选购商品的话,那么一切就不成问题了。

但是如果网站不是这样设计的,那么具体的购物车数据就只能存储在特定的服务器上。

这样,BIG-IP应用交换机就必需选择用户曾连接上的那台服务器,以无缝地处理用户请求。

此外,会话保持的功能将减少新建连接的数量,这将有助于减小负载均衡机系统开销。

源持续性模式
在这一模式下,只要持续性计数器尚未到时,指定流向某虚拟服务器的特定用户流量就会持续流向同一台服务器。

每条连接都有其各自的持续性计数器。

VIP1:80的计数器独立于VIP3:80的计数器。

●SSL保持
●Cookie保持
Cookie持续性利用客户机存储的coockie信息来把客户机连接到合适的服务器上。

其原理如下:
首次命中
HTTP请求(不带有cookie)进入BIG-IP应用交换机
BIG-IP应用交换机任选一台服务器,将请求发送至该服务器
来自该服务器的HTTP回复此时包括一个空白的cookie
BIG-IP应用交换机重写cookie,并在粘贴一个特殊的cookie后将HTTP回复发送回去。

再次命中
HTTP请求(带有与上面同样的cookie)进入BIG-IP应用交换机
BIG-IP应用交换机借助cookie信息确定合适的服务器
HTTP请求(带有与上面同样的cookie)进入服务器
HTTP回复(带有空白cookie)返回BIG-IP应用交换机,后者将向客户机提供更新后的cookie。

Cookie保持与SSL保持之间的主要区别在于:对于Cookie保持而言,数据存储在客户机上,而不是BIG-IP应用交换机上,因此可充分使用客户机上的无限资源。

即Cookie保持体现在HTTP Cookie上,而信息则存储于客户机的磁盘驱动器上。

带有对话ID的SSL持续性的优势
当SSL对话首次建立时,用户与服务器进行首次信息交换以:1}交换安全证书,2)商议加密和压缩方法,3)为每条对话建立对话ID。

该对话ID可能会再次用到。

当用户想与该服务器再次建立连接时,它可以通过提供上次会话中的对话ID来随意指定希望继续以前的某条SSL对话。

在服务器同意之后,双方即可跳过信息交换建立起新的会话,该会话将使用与上次会话同样的加密方法,并继续上次的数据包排序,就好象上次会话从未结束一样。

通常情况下,服务器将某条SSL对话的详细资料存储一段给定的时限,之后,服务器将删除这些对话信息。

例如,用户可以建立一条到旅游景点网站的SSL连接并预订房间。

旅游景点站点可以将用户的预订信息保存一段时间(如60分钟),从而使用户无需重新输入预订信息即可再次连接到站点上以预付订金。

如果旅游景点的网站仅将用户信息存储在进行初始对话的服务器上而不是后端数据库中,那么梭子鱼的保持设置将覆盖负载平衡设置,将用户再次发送到最初的服务器上。

如果用户尝试重新建立一条已被遗弃的对话,那么服务器将忽略此请求而仅提供一个新的对话ID,新的对话也将要求进行新的信息交换。

改善总体吞吐能力。

相关文档
最新文档