基于庞大的网络结构,集群服务器的使用带来了不少流量等负载问题。那么相对的,负载均衡的技术也应运而生。每一种技术都需要产品的支持,那么现在我们来认识一下F5负载均衡器的一种。那么首先我们先把产品的结构功能进行一下介绍。
许多厂商推出了专用于平衡服务器负载的负载均衡器,如F5 Network公司的BIG-IP,Citrix公司的NetScaler。F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。
F5负载均衡产品时我们常用的网络负载控制的产品之一,那么在此我们对它的功能和特点进行一个全面的介绍。通过对这个产品的认识,我们也能发现,在网络管理中我们需要注意哪些方面的问题。
F5负载均衡功能1.多链路的负载均衡和冗余
与互联网络相关的关键业务都需要安排和配置多条ISP接入链路以保证网络服务的质量,消除单点故障,减少停机时间。多条ISP接入的方案并不是简单的多条不同的广域网络的路由问题,因为不同的ISP有不同自治域,所以必须考虑到两种情况下如何实现多条链路的负载均衡:内部的应用系统和网络工作站在访问互联网络的服务和网站时如何能够在多条不同的链路中动态分配和负载均衡,这也被称为OUTBOUND流量的负载均衡。互联网络的外部用户如何在外部访问内部的网站和应用系统时也能够动态的在多条链路上平衡分配,并在一条链路中断的时候能够智能地自动切换到另外一条链路到达服务器和应用系统,这也被称作为INBOUND流量的负载均衡。
F5 的BIG-IP LC可以智能的解决以上两个问题:对于OUTBOUND流量,BIG-IP LC接收到流量以后,可以智能的将OUTBOUND流量分配到不同的INTERNET接口,并做源地址的NAT,可以指定某一合法IP地址进行源地址的 NAT,也可以用BIG-IP LC的接口地址自动映射,保证数据包返回时能够正确接收。对于INBOUND流量,BIG-IP LC分别绑定两个ISP 服务商的公网地址,解析来自两个ISP服务商的DNS解析请求。BIG-IP LC不仅可以根据服务器的健康状况和响应速度回应LDNS相应的IP地址,还可以通过两条链路分别与LDNS建立连接,根据RTT时间判断链路的好坏,并且综合以上两个参数回应LDNS相应的IP地址。
F5负载均衡功能2.防火墙负载均衡
考虑到绝大多数的防火墙只能达到线速的30%吞吐能力,故要使系统达到设计要求的线速处理能力,必须添加多台防火墙,以满足系统要求。然而,防火墙必须要求数据同进同出,否则连接将被拒绝。如何解决防火墙的负载均衡问题,是关系到整个系统的稳定性的关键问题。F5的防火墙负载均衡方案,能够为用户提供异构防火墙的负载均衡与故障自动排除能力。典型的提高防火墙处理能力的方法是采用“防火墙三明治"的方法,以实现透明设备的持续性。这可满足某些要求客户为成功安全完成交易必须通过同一防火墙的应用程序的要求,也能够维护原来的网络安全隔离的要求。
F5负载均衡功能3.服务器负载均衡
对于所有的对外提供服务的服务器,均可以在BIG-IP上配置Virtual Server实现负载均衡,同时BIG-IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。BIG-IP利用虚拟IP地址(VIP由IP地址和TCP/UDP应用的端口组成,它是一个地址)来为用户的一个或多个目标服务器(称为节点:目标服务器的IP地址和TCP/UDP应用的端口组成,它可以是internet的私网地址)提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡"现象的发生。利用UIE+iRules可以将TCP/UDP数据包打开,并搜索其中的特征数据,之后根据搜索到的特征数据作相应的规则处理。因此可以根据用户访问内容的不同将流量导向到相应的服务器,例如:根据用户访问请求的URL将流量导向到相应的服务器。
F5负载均衡功能4.系统高可用性
系统高可用性主要可以从以下几个方面考虑:
4.1.设备自身的高可用性:F5 BIG-IP专门优化的体系结构和卓越的处理能力保证99.999%的正常运行时间,在双机冗余模式下工作时可以实现毫秒级切换,保证系统稳定运行,另外还有冗余电源模块可选。在采用双机备份方式时,备机切换时间最快会在200ms之内进行切换。BIG-IP 产品是业界唯一的可以达到毫秒级切换的产品, 而且设计极为合理,所有会话通过Active 的BIG-IP 的同时,会把会话信息通过同步数据线同步到Backup的BIG-IP,保证在Backup BIG-IP内也有所有的用户访问会话信息;另外每台设备中的watchdog芯片通过心跳线监控对方设备的电频,当Active BIG-IP故障时,watchdog会首先发现,并通知Backup BIG-IP接管Shared IP,VIP等,完成切换过程,因为Backup BIG-IP中有事先同步好的会话信息,所以可以保证访问的畅通无阻。
4.2.链路冗余:BIG-IP可以检测每条链路的运行状态和可用性,做到链路和ISP故障的实时检测。一旦出现故障,流量将被透明动态的引导至其它可用链路。通过监控和管理出入数据中心的双向流量,内部和外部用户均可保持网络的全时连接。
4.3.服务器冗余,多台服务器同时提供服务,当某一台服务器故障不能提供服务时,用户的访问不会中断。BIG-IP可以在OSI七层模型中的不同层面上对服务器进行健康检查,实时监测服务器健康状况,如果某台服务器出现故障,BIG-IP确定它无法提供服务后,就会将其在服务队列中清除,保证用户正常的访问应用,确保回应内容的正确性。
F5负载均衡功能5.高度的安全性
BIG-IP采用防火墙的设计原理,是缺省拒绝设备,它可以为任何站点增加额外的安全保护,防御普通网络攻击。可以通过支持命令行的SSH或支持浏览器管理的SSL方便、安全的进行远程管理,提高设备自身的安全性;能够拆除空闲连接防止拒绝服务攻击;能够执行源路由跟踪防止IP欺骗;拒绝没有ACK缓冲确认的SYN防止SYN攻击;拒绝teartop和land攻击;保护自己和服务器免受ICMP攻击;不运行SMTP、FTP、TELNET或其它易受攻击的后台程序。
BIG-IP的Dynamic Reaping特性可以高效删除各类网络DoS攻击中的空闲连接,这可以保护BIG-IP不会因流量过多而瘫痪。BIG-IP可以随着攻击量的增加而加快连接切断速率,从而提供一种具有极强适应能力、能够防御最大攻击量的解决方案。BIG-IP的Delay Binding技术可以为部署在BIG-IP后面的服务器提供全面地SYN Flood保护。此时,BIG-IP设备作为安全代理来有效保护整个网络。BIG-IP可以和其它安全设备配合,构建动态安全防御体系。BIG-IP可以根据用户单位时间内的连接数生成控制访问列表,将该列表加载到其它安全设备上,有效控制攻击流量。F5负载均衡功能6.SSL加速,在每台BIG-IP上,都具有SSL硬件加速芯片,并且自带100个TPS的License,用户可以不通过单独付费,就可以拥有100个TPS的SSL 加速功能,节约了用户的投资。在将来系统扩展时,可以简单的通过License升级的方式,获得更高的SSL加速性能。
F5负载均衡功能7.系统管理
BIG-IP提供HTTPS、SSH、Telnet、SNMP等多种管理方式,用户客户端只需操作系统自带的浏览器软件即可,不需安装其它软件。可以通过支持命令行的SSH或支持浏览器管理的SSL方便、安全的进行远程管理。直观易用的Web图形用户界面大服务降低了多归属基础设施的实施成本和日常维护费用。BIG-IP包含详尽的实时报告和历史纪录报告,可供评测站点流量、相关ISP性能和预计带宽计费周期。管理员可以通过全面地报告功能充分掌握带宽资源的利用状况。另外,通过F5 的i-Control 开发包,目前国内已有基于i-Control开发的网管软件x-control, 可以定制针对系统服务特点的监控系统,比如服务的流量情况、各种服务连接数、访问情况、节点的健康状况等等,进行可视化显示。告警方式可以提供syslog、snmp trap、mail等方式。
F5负载均衡功能8.其它
内存扩充能力:F5 BIG-IP 1000以上设备单机最大可扩充到2G内存,此时可支持400万并发回话。升级能力:F5 所有设备均可通过软件方式升级,在服务有效期内,升级软件包由F5公司提供。F5 NETWORKS已经发布其系统的最新版本BIG-IP V9.0,主要有以下特性:虚拟 IPV4 / IPV6 应用、加速Web应用高达3倍、减少66%甚至更多的基础架构成本、确保高优先级应用的性能、确保更高级别的可用性、大幅提高网络和应用安全性、强大的性能,简单的管理方式、无以匹敌的自适应能力和延展能力和突破的性能表现力。其强大的HTTP压缩功能可以将用户下载时间缩短50%,节省80%的带宽。IP地址过滤和带宽控制:BIG-IP可以根据访问控制列表对数据包进行过滤,并且针对某一关键应用进行带宽控制,确保关键应用的稳定运行。配置管理及系统报告:F5 BIG-IP提供WEB 界面配置方式和命令行方式进行配置管理,并在其中提供了丰富的系统报告,更可通过i-Control自行开发复杂的配置及报告生成。
以下是F5 BIG-IP用作HTTP负载均衡器的主要功能:
①、F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。
②、F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。
③、F5 BIG-IP具有动态Session的会话保持功能。
④、F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。
下面,结合实例,配置F5 BIG-IP LTM v9.x负载均衡器:
①、如图,假设域名blog.s135.com被解析到F5负载均衡器的外网/公网虚拟IP:61.1.1.3(vs_squid),该虚拟IP下有一个服务器池(pool_squid),该服务器池下包含两台真实的Squid服务器(192.168.1.11和192.168.1.12)。
②、如果Squid缓存未命中,则会请求F5的内网虚拟IP:192.168.1.3(vs_apache),该虚拟IP下有一个默认服务器池(pool_apache_default),该服务器池下包含两台真实的Apache服务器(192.168.1.21和192.168.1.22),当该虚拟IP匹配iRules规则时,则会访问另外一个服务器池(pool_apache_irules),该服务器池下同样包含两台真实的Apache服务器(192.168.1.23和192.168.1.24)。
③、另外,所有真实服务器的默认网关指向F5负载均衡器的自身内网IP,即192.168.1.2。
④、所有的真实服务器通过SNAT IP地址61.1.1.4访问互联网。