资源描述:
《tuxedo_with_f5_典型案例研究与配置文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、F5Networks,Inc.F5BIGIPv9WITHBEATUXEDO典型案例研究与配置文档Ver1.0DIGITALCHINA刘浩15F5Networks,Inc.目录1.用户现状3拓扑结构3现状分析42.F5解决方案4设计目标4方案拓扑图4TuxedoWithF5应用访问流程分析63.配置说明73.1网络基本配置73.2编辑EAV脚本(perl)93.3配置LocalTraffic1215F5Networks,Inc.1.用户现状拓扑结构ClientClientClientVlanTuxedoServer1TuxedoServer215F5Networks,Inc.现状分析xxx
2、用户采用BEA的Tuxedo系统作为营销系统的中间件系统。目前共两台服务器各负担1个地市的访问量,各地市访问的服务地址由总公司统一进行行政通知.日后还将采购4台服务器作为其他地市访问服务器。目前方案的局限性与潜在威胁:1.需要人工监测服务器状态,如果某台服务器宕机,必须手工更改访问服务器,之后还需再行政通知相关地市更改访问地址;2.由于各个地市的实际情况还会出现访问量有明显差异的问题,这样会出现有些服务器经常提供不了服务,有些却很空闲的情况;3.实际访问过程中经常会出现服务器正常,服务却不可用的情况,人工监测不仅效率低下,而且权限外放极为不安全。由于Tuxedo系统应用于营销系统,出现以
3、上问题必然会引起重大损失…问题与可能的解决方法用户最初想到两个解决方案:一是采用集群的方式,但集群聚有配置复杂、不稳定、分配不均匀、不智能等缺陷…;二是采用BEA自带的负载均衡软件包安装在一台服务器上作负载均衡,但也会出现负载不均衡、性能不够、扩展性不强的问题…1.F5解决方案设计目标从用户实际情况出发,与用户沟通后,确定最终解决方案需要达到如下目标:l全省采用统一服务地址;l某台服务器宕机的情况下可自动分配新建连接至其他服务器;l可以监测到服务实际状态,在服务不可用的情况下可自动分配新建连接至其他服务器;l尽量使流量分配均匀;方案拓扑图15F5Networks,Inc.服务器1服务器2
4、。。。服务器4服务器5服务器6服务器3。。。ClientClientClientBIGIPLTM6800–1BIGIPLTM6800–2CoreSwitch由于用户不希望改变网络拓扑,所以采用旁路方式接入,两台6800旁挂在核心交换机上。配置VS解决统一服务地址问题,配置源地址会话保持解决tuxedo系统每次连接wsh端口变化的问题。采用F5独有的EAV功能为tuxedo做IDLE数智能判断,并以此作为服务状态判断依据。15F5Networks,Inc.TuxedoWithF5应用访问流程分析SourceIP:ClientIP;port:randomlike1111DestIP:VIP;
5、port:WSLlike6667SourceIP:ClientIP;port:randomlike1111DestIP:Server01;port:WSLlike6667SourceIP:server01;port:6667DestIP:ClientIP;port:1111TCP内容通知Client可以连接一个WSH端口,在规定范围内随机产生一个;例如8888SourceIP:VIP;port:6667DestIP:ClientIP;port:1111TCP内容通知Client可以连接一个WSH端口,在规定范围内随机产生一个;例如8888Client受到回应后发起对WSL的访问Sourc
6、eIP:ClientIP;port:randomlike1112DestIP:VIP;port:WSH8888SourceIP:ClientIP;port:randomlike1112DestIP:Server01;port:WSH8888Server01在8888的WSH端口接收到用户的访问,真正建立访问连接15F5Networks,Inc.1.配置说明3.1网络基本配置根据拓扑结构,配置基本的网络层信息,vlan,selfip,route,snat15F5Networks,Inc.15F5Networks,Inc.3.2编辑EAV脚本(perl)#!/usr/bin/perluses
7、trict;useNet::Telnet;require5.005;#my($node,$port,$users,$passwd,$pool_name,$port_all)=@ARGV;my$node=$ARGV[2];my$port=$ARGV[3];my$users=$ARGV[4];my$passwd=$ARGV[5];my$pool_name=$ARGV[6];my$port_all=$ARGV[7];if($ENV{"NO