F服务器负载均衡方案.pdf
目录 1 部署方式 .1.1 方式一、单臂旁路接入.1.2 方式二、双臂串接 .1.3 部署说明 .2 原理流程图 .3 负载均衡必要性 .4 相关技术 .4.1 服务器负载均衡算法 .4.2 服务器健康检查方法 .4.3 会话保持技术 .4.4 LTM相关加速技术 .4.4.1 .One Connect 降低服务器 TCP 连接数量 4.4.2.HTTP 页面压缩 4.4.3.RAM Cache 4.4.4.HTTPS Offload 4.5 设备自身冗余机制.5 性能参数.1 部署方式 1.1 方式一、单臂旁路接入 1.2 方式二、双臂串接 1.3 部署说明 F5 支持单臂旁路接入和双臂串行等接入方式。因为 F5 端口个数有限,建议采用单臂旁路模式,即 F5 旁挂在交换机上,通过交换机完成与服务器和客户端之间的通讯。2 原理流程图 BIGIP LTM 对外提供一个虚拟的应用服务器,接收所有的客户端请求 BIGIP LTM 通过负载均衡算法处理,将客户端请求转发到后台的多个应用实例 BIGIP LTM 内置可编程控制接口,可以对流量进行编程控制处理 BIGIP LTM 通过应用健康检查,准确的判断应用程序的工作和服务状态,一旦发现应用不能提供服务,则将其从负载均衡组中摘除 3 负载均衡必要性 随着互联网的发展,web 服务的数据量越来越大,同时对应用的高可用性提出了更高的要求,服务器主备冗余模式已经不能满足当前需求,作为应用交付行业内最为成熟的方案提供商,F5 的负载均衡技术可以实现以下目标:实现应用系统 99.999%的不间断访问 优化应用结构 节省服务器资源 加速访问,提高用户体验 实现应用系统良好的扩展性 4 相关技术 4.1 服务器负载均衡算法 BIG-IP 是一台对流量和内容进行管理分配的设备。它提供 10 种灵活的算法将数据流有效地转发到它所连接的服务器群。而面对用户,只是一台虚拟服务器。用户此时只须记住一台服务器,即虚拟服务器。但他们的数据流却被 BIG-IP 灵活地均衡到所有的服务器。这 10 种算法包括:轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG-IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。预测模式(Predictive):BIG-IP 利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被 BIG-IP 进行检测)动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。规则模式:针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG-IP 利用这些规则对通过的数据流实施导向控制。4.2 服务器健康检查方法 BIG-IP 除了能够进行不同 OSI 层面的健康检查之外,还具有扩展内容验证和扩展应用查证两种健康检查方法。基本的健康检查方法有以下几种:在Layer 2 健康检查涉及到用来对给定的IP地址寻找MAC地址的地址分辨协议(ARP)请求。因为BIG-IP设置了真实服务器的IP地址,它会发送针对每一个真实服务器的IP地址的ARP请求以找到相应的MAC地址,服务器会响应这个ARP请求,除非它已经停机。在Layer 3 健康检查涉及到对真实服务器发送”ping”命令。“ping”是常用的程序来确认一个IP地址是否在网络中存在,或者用来确认主机是否正常工作。在Layer 4,BIG-IP会试图联接到一个特定应用在运行的TCP或UDP端口。举例来说,如果VIP是被绑定在端口80做Web应用的话,BIG-IP试图建立一个联接到真实服务器的80端口。BIG-IP发送一个TCP SYN 请求包到每个真实服务器的80端口,并检查回应的TCP SYN ACK数据包是否收到,如果哪一个没有收到,BIG-IP就确认那台服务器不能正常提供服务,BIG-IP单独针对服务器的每个应用端口做健康检查并单独做关于其服务器的诊断结果是非常重要的。这样一来真实服务器的80服务可能停机,但是端口21可 能正常工作,BIG-IP可以继续利用这个服务器的21端口提供FTP服务,同时确认这个服务器的Web应用已经停机,这样一来就提供了一个高效率的负载均衡解决方案,细分健康检查的做法有效地提高了服务器的处理能力。扩展内容查证(ECV:Extended Content Verification):ECV 是一种非常复杂的服务检查,主要用于确认应用程序能否对请求返回对应的数据。如果一个应用对该服务检查做出响应并返回对应的数据,则 BIG-IP 控制器将该服务器标识为工作良好。如果服务器不能返回相应的数据,则将该服务器标识为宕机。宕机一旦修复,BIG-IP 就会自动查证应用已能对客户请求做出正确响应并恢复向该服务器传送。该功能使 BIG-IP 可以将保护延伸到后端应用如 Web 内容及数据库。BIG-IP的 ECV 功能允许您向 Web 服务器、防火墙、缓存服务器、代理服务器和其它透明设备发送查询,然后检查返回的响应。这将有助于确认您为客户提供的内容正是其所需要的。用户可以定义发送和接收的字串,发送字串是指发送到一个服务器的请求命令,例如:“GET/”字串发送到一个 HTTP 服务器。服务器回应得字串必须与接收到的字串相匹配,例如“”。ECV 可以工作在正常和透明节点模式。扩展应用查证(EAV:Extended Application Verification):EAV 是另一种服务检查,用于确认运行在某个服务器上的应用能否对客户请求做出响应。为完成这种检查,BIG-IP 控制器使用一个被称作外部服务检查者的客户程序,该程序为 BIG-IP 提供完全客户化的服务检查功能,但它位于BIG-IP 控制器的外部。例如,该外部服务检查者可以查证一个从后台数据库中取出数据的应用能否正常工作。EAV 是 BIG-IP 提供的非常独特的功能,它提供管理者将 BIG-IP 客户化后访问各种各样应用的能力,该功能使 BIG-IP 在提供标准的可用性查证之外能获得服务器、应用及内容可用性等最重要的反馈。该功能对于提高系统可靠性至关重要,它用于从客户的角度测试您的站点。例如,您可以模拟客户完成交易所需的所有步骤连接到前置服务器或中间件服务器、从目录中选择项目以及验证交易使用的信用卡。一旦BIG-IP掌握了该“可用性”信息,即可利用负载平衡使资源达到最高的可用性。BIG-IP 已经为测试多种服务的健康情况和状态,预定义了扩展应用验证(EAV),如:FTP、NNTP、SMTP、POP3 和 MSSQL 等,用户还可依据实际应用,自行编辑 EAV 脚本。F5 产品健康检查的频度和间隔是可以根据用户的要求而设置.通过 F5 灵活自定义方式的 ECV 健康检查方式,用户可以检查常见的应用如 HTTP、SMTP、POP3 等。而通过 EAV 健康检查方式,更可自行编写脚本,实现更加复杂的健康检查方式,全面的检测后台服务器的运行状态,保证系统运行的高效,可靠。4.3 会话保持技术 当使用 BIG-IP 对服务器进行负载均衡时,就需要会话保持。如果某位用户连接到了一台服务器上,那么我们肯定希望该用户在将来再次连接时将仍可连接到该台服务器上。当该服务器存有用户相关数据,并且这些数据并不与其它服务器动态共享时,持续性就显得十分有必要了。例如,假设一位用户在某网站采购了一“购物车”的商品,然后还未结帐就离开了该网站。如果在其重新登录网站后,BIG-IP 应用交换机将客户请求路由至不同的服务器,那么新的服务器对该用户的数据和其所购买的商品将一无所知。当然,如果所有服务器都在同一个后台数据库服务器中存储用户信息及其选购商品的话,那么一切就不成问题了。但是如果网站不是这样设计的,那么具体的 购物车数据就只能存储在特定的服务器上。这样,BIG-IP 应用交换机就必需选择用户曾连接上的那台服务器,以无缝地处理用户请求。BIG-IP 提供以下几种会话保持方法:Simple Persistence,SSL Session ID Persistence,SIP Persistence,Cookie Persistence,iMode Persistence,目的地址归类。4.4 LTM相关加速技术 4.4.1 One Connect降低服务器TCP连接数量 用户因连接和断开网络连接而产生的周期性网络请求会耗费掉企业宝贵的 web 应用资源。即使每个连接开销很小,但合到一起,它们将影响到总的应用负载,对于电子商务站点和拥有大量用户的企业应用来说,这一点尤为明显。在Apache Server的标准配置中,一台服务器的最高并发连接数为 1024 个,而 MicroSoft IIS 可配置为2048 个。可见连接数对于服务器是一个极大的限制,在应用服务器上比如 Weblogic,WebSphere 上,连接数的增加将会给系统增加大量的开销。连接优化将处理连接的责任移交给了 F5 WA。网络流量在 WA 和源应用之间的小型资源池和永久连接中进行多路传输。WA 将成千上万个用户的连接汇聚成为少数的服务器连接,最终可显着降低源应用的负载。与其它的连接优化技术不同,F5 采用了动态连接池的方式,当每一个用户请求发送到WA时,根据负载均衡策略,WA将在请求将被发送到的服务器端寻找空闲的连接,如果有空闲连接,则直接将请求通过该连接发送到服务器,如果没有空闲连接,则新建一个连接与服务器端通讯。这样,既保证了在服务器端始终维持最小的连接数,又避免了由于没有空闲连接而导致的客户端请求排队的现象。4.4.2 HTTP页面压缩 应用和网络延迟问题进一步降低了 web 内容的传输速度。Web Accelerator 专利技术 Express 压缩技术能够消除因压缩算法所带来的延迟,为拨号和宽带用户带来额外的性能提升。事实上,借助 Express 压缩,拨号用户的访问速率将比原来快 5 到 10 倍,同时带宽利用率和成本将降低 70%-80%。响应时间的加快,带来了用户满意度和效率的提升,从而使基于 web 的应用得到更加广泛的应用。单在更低带宽成本方面所节约的费用(尤其在远程销售办公机构或人员方面所节省的费用),就足以补偿在设备购置方面的投资,甚至是后者的好几倍。使用工业标准的 GZIP 和 Deflate 压缩算法来压缩 HTTP 流量;降低带宽消耗、缩短最终用户在慢速/低带宽连接条件下的下载时间。4.4.3 RAM Cache 在 BIGIP-LTM 上,可以通过配置内存 Cache 来提高系统响应速度,并减小服务器端的压力。通过内存 Cache 机制,WA 可以把频繁访问的内容存放在内存中,当下一次请求到达时,直接从内存返回用户请求的页面。从而降低了服务器的请求压力。4.4.4 HTTPS Offload 在 SSL 处理过程中,所有的传输内容均采用加密算法处理。其中最重要的两个部分为 SSL 握手时交换秘钥的非对称加密和数据传输时的对称加密。当 SSL 的客户端压力超过 400TPS 时,单台服务器就很难处理请求了。因此,必须采用 SSL 加速设备来进行处理。F5 其实现的结构如下:所有的 SSL 流量均在 F5 上终结,F5 与服务器之间可采用 HTTP 或者弱加密的 SSL进行通讯。这样,就极大的减小了服务器端对 HTTPS 处理的压力,可将服务器的处理能力释放出来,更加专注的处理业务逻辑。在 F5 可处理单向 SSL 连接,双向 SSL 连接。并且可同时处理多种类型和多个应用的 SSL 加解密处理。4.5 设备自身冗余机制 BIGIP 可以实现两种方式实现冗余连接,一是Active-Backup 方式,另一种是Active-Active 方式。物理连接方式如下图所示:F5 Networks 公司 BIGIP 产品是业界唯一实现双机冗余毫秒级切换的产品,而且设计合理。所有会话通过 Active BIGIP 同时,会话信息会通过同步数据线同步到 Backup BIGIP,保证 Active 与 Backup 设备会话信息同步。且每台设备中的 watchdog 芯片通过心跳线检监测对方设备电平,当 Active BIGIP 故障时,watchdog 会首先发现,并且通知 Backup BIGIP 接管 shared ip,VIP 等,完成冗余切换过程,Backup BIGIP 变 成 Active Backup,由于 Backup BIGIP 事先已经保存了所有会话数据信息,可以保证所有在线会话的通畅和完整。两台设备的多种模式的冗余切换触发机制:Watch dog:完全通过“心跳线”监测物理信号判断设备的运行状况,适时进行冗余切换,采用这种方式,切换时间在 50ms200ms。Gateway failsafe:处于 Active 状态的 BIGIP 定期与网关设备取得联系,若在timeout 时间内得不到任何响应,就自动切换为 Standby 状态。Vlan Arm failsafe:通过判断某个 Vlan 是否有流量,触发切换。5 性能参数 CPU 1CPU(双核)2.13G Single Intel Core2Duo E6400 内存 Cache 4G 存储介质 8G flash with 160 Gigabyte Hard Disk 总端口数 10 10/100/1000 BASE-T 8 SFP-GBIC(Fiber GE)2 VLAN 数 4096 Virtual Server Support 40,000 Real Server Support 无限制 Policy Filters 无限制 并发会话数 8M 7 层性能(Requests/sec)135K 4 层性能(Connections/sec)115K 流量吞吐量 2Gbps 交换背板 24Gbps 集成 SSL 加速(tps.)有,缺省 500,最大可以达到 10,000TPS 集成 SSL 加速(bulk)有,支持对称加解密算法 SSL 对称加密支持能力 2Gbps SSL 并发访问 1,000,000 最短切换时间 200ms 支持基本网络协议802.1q,Trunk,Spanning Tree 支持 是否提供 API 接口 提供 广域网优化 有,TCP Express 内存 Cache 支持 HTTP 压缩(内置)支持 IPv6 支持 高可用(支持双机热备:支持基于串口、网络两种冗余切换方式,专有Wacthdog 芯片、可以实现内存同步,双机切换时间少于 200ms)支持 分析工具(内置 tcpdump抓包分析工具,能够快速支持 准确的进行故障诊断)应用健康检查(支持ECV、EAV 的高级健康检查方法)支持 应用交换(可编程控制、导向或转换应用流量)支持 简单管理(LCD 显示当前状态)支持