




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
F5 Networks, Inc.F5 BIGIP v9 WITH BEA TUXEDO典型案例研究与配置文档 Ver 1.0DIGITALCHINA刘浩目 录1.用户现状3拓扑结构3现状分析42.F5解决方案4设计目标4方案拓扑图4Tuxedo With F5 应用访问流程分析63.配置说明73.1网络基本配置73.2 编辑EAV脚本(perl)93.3 配置Local Traffic121. 用户现状拓扑结构ClientClientClientV l a nTuxedoServer1TuxedoServer2 现状分析 xxx用户采用BEA的Tuxedo系统作为营销系统的中间件系统。目前共两台服务器各负担1个地市的访问量,各地市访问的服务地址由总公司统一进行行政通知.日后还将采购4台服务器作为其他地市访问服务器。目前方案的局限性与潜在威胁:1. 需要人工监测服务器状态,如果某台服务器宕机,必须手工更改访问服务器,之后还需再行政通知相关地市更改访问地址;2. 由于各个地市的实际情况还会出现访问量有明显差异的问题,这样会出现有些服务器经常提供不了服务,有些却很空闲的情况;3. 实际访问过程中经常会出现服务器正常,服务却不可用的情况,人工监测不仅效率低下,而且权限外放极为不安全。由于Tuxedo系统应用于营销系统,出现以上问题必然会引起重大损失问题与可能的解决方法用户最初想到两个解决方案:一是采用集群的方式,但集群聚有配置复杂、不稳定、分配不均匀、不智能等缺陷;二是采用BEA自带的负载均衡软件包安装在一台服务器上作负载均衡,但也会出现负载不均衡、性能不够、扩展性不强的问题2. F5解决方案 设计目标 从用户实际情况出发,与用户沟通后,确定最终解决方案需要达到如下目标:l 全省采用统一服务地址;l 某台服务器宕机的情况下可自动分配新建连接至其他服务器;l 可以监测到服务实际状态,在服务不可用的情况下可自动分配新建连接至其他服务器;l 尽量使流量分配均匀; 方案拓扑图服务器1服务器2。服务器4服务器5服务器6服务器3。ClientClientClientBIGIP LTM6800 1BIGIP LTM6800 2CoreSwitch 由于用户不希望改变网络拓扑,所以采用旁路方式接入,两台6800旁挂在核心交换机上。配置VS解决统一服务地址问题,配置源地址会话保持解决tuxedo系统每次连接wsh端口变化的问题。采用F5独有的EAV功能为tuxedo做IDLE数智能判断,并以此作为服务状态判断依据。 Tuxedo With F5 应用访问流程分析Source IP: Client IP ; port : random like 1111Dest IP : VIP ; port : WSL like 6667Source IP: Client IP ; port : random like 1111Dest IP : Server 01 ; port : WSL like 6667Source IP: server 01 ; port : 6667Dest IP : Client IP ; port : 1111TCP 内容通知Client 可以连接一个WSH 端口, 在规定范围内随机产生一个; 例如8888Source IP: VIP ; port : 6667Dest IP : Client IP ; port : 1111TCP 内容通知Client 可以连接一个WSH 端口, 在规定范围内随机产生一个; 例如8888Client 受到回应后发起对WSL的访问Source IP: Client IP ; port : random like 1112Dest IP : VIP ; port : WSH 8888Source IP: Client IP ; port : random like 1112Dest IP : Server 01 ; port : WSH 8888Server 01在8888的WSH端口接收到用户的访问, 真正建立访问连接3. 配置说明3.1 网络基本配置 根据拓扑结构,配置基本的网络层信息,vlan,self ip,route ,snat3.2 编辑EAV脚本(perl)#!/usr/bin/perluse strict;use Net:Telnet;require 5.005;#my ($node, $port, $users, $passwd, $pool_name, $port_all) = ARGV;my $node = $ARGV2;my $port = $ARGV3;my $users = $ARGV4;my $passwd = $ARGV5;my $pool_name = $ARGV6;my $port_all = $ARGV7;if( $ENVNODE_IP ) $node = $ENVNODE_IP;if( $ENVNODE_PORT ) $port = $ENVNODE_PORT;$node = s/:+A-Za-z+:/;$port = 23;# Derive and untaint programname.my $programname = / . $0;$programname = m/.*/(/+)$/;$programname = $1;$node = m/(d+.d+.d+.d+)$/;$node = $1;$port = m/(d+)$/;$port = $1;# Process ID and file where its to be stored. The format# is significant.my $pidfile = /var/run/$programname.$node.$port.pid;my $pid = $;# Maintenence. Clean up any existing EAV.if (-f $pidfile ) open(PID,$pidfile); my $pid = ; close(PID); if ( $pid ) chomp $pid; $pid = m/(d+)$/; $pid = $1; if ( $pid ) kill 9, $pid; unlink($pidfile);# Create a new maintenence file.open(PID, $pidfile);print PID $pid, n;close(PID);# Connect to the tuxedo server.my $telnet = Net:Telnet-new(Timeout=30, Errmode=die, Prompt =/$%#$/);$telnet-open($node);$telnet-waitfor(/login: $/i); login后面有个空格,这里根据实际情况修改,如果遇到的操作系统telnet上去后没有空格,则取消。$telnet-print($users);$telnet-waitfor(/Password: $/i); 同上$telnet-print($passwd);$telnet-waitfor(/)$/i); 注意实际的操作系统是否为该提示符,根据实际情况修改my lines = $telnet-cmd(/home/moni/yyy |grep queryserver |grep IDLE | wc -l);注意上行中的/home/moni/yyy 为在tuxedo服务器上编写的一个脚本,后面会给出范例。my $idle_num = lines6; line(6)定义的实际行数,以回车为标示,根据实际情况定义真实“IDLE”所在的行数。chop($idle_num);print upn;#Clean up.$telnet-close();#Disable pool member by tuxedo IDLE NO.my $node_tmp = $node;$node_tmp = s/././g;my $get_pool_status = b pool $pool_name show | awk $0 /.*POOL MEMBER .$pool_name . / . $node_tmp . .*/ print $7;my $pool_status = $get_pool_status;chop($pool_status);if ($idle_num 1) 本次用户要求IDLE数为0时不在对该服务器进行分配,根据实际情况修改。 if ($pool_status eq ENABLED) my $disable_cmd = b pool $pool_name member $node:$port_all session disable; exec($disable_cmd); else if ($pool_status eq DISABLED) my $enable_cmd = b pool $pool_name member $node:$port_all session enable; exec($enable_cmd); unlink($pidfile);exit(0);脚本简介:本脚本会调用telnet.pm的包,之后登陆tuxedo服务器,在服务器上执行yyy这个文件,执行后会调用这个文件的输出行里的第6行“IDLE”数量,如果IDLE数为0,则disable pool,如果IDLE数大于0则enable pool。注:Telnet.pm文件请在网上下载,下载后放到BIGIP的/usr/lib/perl5/5.8.0/NET目录下。“yyy”这个文件用vi编辑后保存在tuxedo服务器根目录下。Yyy文件示例:tmadmin !psrq!3.3 配置Local Traffic配置pool ,monitor采用gateway-icmp:配置VS注意:在创建完上面这些后,我们还需要创建另一个pool,这个pool同我们之前的pool里包含的IP地址一样,但需要我们定义一个具体端口,例如23。之后在这个pool里关联我们新建的external monitor。配置external monitors,在external program里添上pl文件的路径,下一栏里填上tuxedo服务器地址、端口号(23)、用户名密码、pool name。10.124.86.17 23 moni day2day App_pool在pool中关联external monitor注意,虽然在创建external monitor的时候添加了针对某个IP的检查,但是在脚本有声明,如果存在NODE_IP和NODE_PORT的环境变量将使用它们的值,在F5 BIGIP v9中当你把该健康检查关联pool的时候,脚本在对pool member检查时,对脚本来说,NODE_IP和NODE_PORT这两个环境变量就是你添加的pool member的IP和端口;所以不必担心你的参数设置了具体IP。创建一个新的pool,并关联extern
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国际环保项目经理资格考试试题及答案解析
- 普通话教学课件效果
- 2025年公务员面试国际发展合作问题与答案
- 2025年安全员应急响应试题
- 2025年安全生产安全应急处理题库及答案
- 同坡屋面画法教学课件
- 2025年工程管理试题及答案解析
- 2025年应急救援员面试精讲题库
- 2025年瑜伽教练进阶实战模拟题与答案详解
- 2025年电子商务运营管理师考试试题及答案解析
- GA 1800.6-2021电力系统治安反恐防范要求第6部分:核能发电企业
- 办公室主任竞聘报告课件
- 行为金融学案例
- 万科集团财务管理制度手册207
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
- 锚杆支护技术规范正式版本
- 隐形眼镜经营管理制度
- 下一代互联网技术
- 皮肤知识与问题性皮肤分析(入行必看)
- 单位消防安全评估报告(模板)
评论
0/150
提交评论