F5负载均衡器维护手册 下载本文

在一个良好设计的系统中,负载均衡器往往处于一个系统的核心位置,很多用户使用四层负载均衡的一个主要原因就是要实现应用的高可用性而非性能问题。如何让负载均衡器能智能的检查到服务器真实的健康状态,在系统的设计中起到至关重要的作用。 会话保持策略:

就目前而言,只有很少的应用系统是专为多服务器并行处理而设计,用户的登录信息,Session ID等还是在单台服务器上存放,并没有同步到其他的服务器上,因此,会话保持策略的丰富性也是四层负载均衡一个巨大的挑战。 冗余切换策略:

在保证了后台设备的高可用性之后,出于系统核心位置的负载均衡器自身的高可用性就变得尤其重要,并且由于应用访问的不透明性,造成在紧急情况下很难对所有的应用进行迁移工作。这时负载均衡器的冗余切换策略和手段将关系到整个系统的高可用性。 网络结构的灵活性:

对于一个横跨网络和应用的设备来说,对于网络结构和应用结构的完整支持特性变得尤其重要,网络层的基本技术如VLAN、Trunk、Spanning、Tree、IPV4/V6、静态路由、OSPF等都将成为负载均衡器的基本配置。而另外对于应用中的各种特殊协议的支持,也决定了负载均衡器部署的范围和使用。

1.3 F5 BIG-IP LTM基本元素

在BIG-IP LTM中,针对应用负载均衡的应用特色和系统需求,将整个流量的处理过程按照以下方式进行定义:

VS:Virtual Server是进入BIG-IP LTM处理流量的入口。VS 的定义包含了IP和端口和VLAN,其中,IP可以是一个IP,也可以是用掩码掩出来的一段IP,端口可以是一个固定的端口,比如80,也可以是0端口,0端口的意思就是侦听所有的端口。VS的定义的含义就是对于发送到BIG-IP LTM上的流量,只有同时命中VS的IP和端口的流量才进行处理。

Profile:当流量进入BIG-IP LTM之后,怎样去处理和识别进入VS的流量,就需要由Profile来定义了。Profile分了几种类型,有协议层的Profile比如TCP profile, UDP profile。有应用层的Profile比如HTTP profile,FTP Profile。还有SSL Profile、会话保持相关的Profile、认证的Profile和其他一些Profile类型。所有的Profile都需要关联在VS上才能生效。有些Profile之间是互斥的关系,比如TCP和UDP, HTTP 和FTP,VS 上关联了TCP profile,就不能再关联UDP Profile了。因为一旦关联了某个Profile,VS就会按照这个Profile的定义方式去处理流量。所以有些Profile也是相互依存的,比如要关联HTTP Profile,就必须先关联TCP Profile。

Pool:Pool在LTM的内部是一个逻辑概念,是指的一组相同服务的资源的组合。Pool的作用很简单,就是根据自身定义的分发规则,对VS接收进来,并且被Profile处理之后的流量进行分发,分发到Pool内的member去。

Member: 一个应用服务,通常情况下,一个Member就是后台服务器的一个侦听进程,是由IP:port格式组成。

Node: Node通常用来表示后台的一个服务IP地址,一个Node上面可以有一个或多个Member。Node不需要进行配置,在配置了Member之后自动产生,系统会根据每一个不同的Member IP地址生成一个Node地址

iRules:iRules相当于在整个数据包通路上进行一个监控和处理。VS -Pool-SNAT的这一条路上,iRules可以通过事件驱动方式,在通路上的任何一个位置上对数据包进行判断和处理。比如Client_Accepted事件就是当请求命中VS的时候被激活,pool webpool这条指令用于指示BIG-IP LTM将流量分配到那个Pool里面去。而iRules的事件是否能触发或者iRules能获取和处理那些信息,则都是由关联的Profile来决定的。比如VS只关联了TCP Profile,而没关联HTTP Profile。那即使通过VS的流量都是HTTP请求,iRules也无法去获取URI、header等信息。只有关联了HTTP Profile之后,iRules才能触发HTTP相关事件和按照HTTP协议的相关规范对请求内容进行识别和判断。

1.4 BIG-IP LTM的TMM

TMM就是一个应用程序。TMM一旦启动,就会抢占系统的大部分内存(内存分配可以在系统Provision的时候进行分配),接管所有的业务端口流量、SSL加解密芯片和HTTP硬件压缩芯片等资源,然后根据自己的需求进行使用。只要从BIG-IP LTM前面板的业务端口进入的流量,都会先经过TMM的处理。

当BIG-IP LTM只有单核CPU时,主要的CPU资源都优先分配给TMM进程。在这种结构下,所有的流量处理都在TMM里直接处理,则可以到很高的性能,除了负载均衡以外,在BIG-IP LTM LTM上的SSL、RamCache、Compress、SSL VPN、WOM等功能都是在TMM内部处理的。而一些比较大型的工作模块如GTM(Global Traffic Manager)、WA(Web Accelerator)、ASM(Application Security Manager)和认证等一些功能则是通过其他的进程进行处理,这些进程通过内部的Plugin结构和TMM进行通讯。

多核CPU平台:当系统中有多个CPU内核存在时,BIG-IP LTM将进入CMP(Cluster Muti Processor)的工作模式,所谓CMP,就是在BIG-IP LTM LTM的内部,使用硬件芯片HSB(High Speed Bridge)对进入生产端口的流量在内部进行了一次负载均衡,使流