利用MBLB解决TCP长连接负载均衡测试方案.docx
《利用MBLB解决TCP长连接负载均衡测试方案.docx》由会员分享,可在线阅读,更多相关《利用MBLB解决TCP长连接负载均衡测试方案.docx(40页珍藏版)》请在三一办公上搜索。
1、F5 BIGIP MBLB测试记录F5北京杨明非2009年8月目录1. 测试环境31.1测试环境准备31.2测试网络拓扑31.3 BIGIP MBLB 工作原理: 42. V10 MBLB测试过程52.1 TCP连接测试52.2交易分发测试62.3启动第二个客户端的连接建立过程及Timeout82.4加入新的客户端观察负载均衡算法102.5手工Disable服务器测试122.6关闭服务器测试132.7 V10 MBLB 测试总结142.8附:TCPdump数据包分析143. One Connect 工作模式测试163.1 One Connect 模式的工作原理173.2 TCP连接测试173.
2、3交易分发测试193.4 启动第二个客户端的连接203.5启动多个客户端观察负载均衡算法223.6手工Disable服务器测试253.7重新Enable服务器263.8 关闭服务器测试293.9 One Connect 模式测试总结: 304. 附录304.1如何使用iRules来判断交易边界304.2 关于交易定向发送324.3 关于会话保持324.4两种模式的对比334.5还需要研究的部分341. 测试环境1.1测试环境准备PC server 一台,安装 Windows 2003 Server.BIGIP 1台,安装10.0.1版本TCP Client/Server 软件1.2测试网络拓扑
3、所有的IP地址均在同一个网段内,TCP client和Server也运行在同一台设备上。通过 启动多个不同的实例来模拟多台Server和Client。测试用BIGIP配置virtual test_vs snat automappool test_pooldestination 60.247.114.43:9000ip protocol tcp rules mblb-basic profiles mblb tcp tcp_half_openpool test_pool monitor all members 60.247.114.34:9000 60.247.114.34:9001 注意mblb
4、的Profile是手工加入的,在图形界面里没有配置。另外对于这种类型的Server, 最好使用tcp_half_open健康检查模式。rule mblb-basic when CLIENT_ACCEPTED TCP::collectwhen CLIENT_DATA TCP:releaseTCP:notify request#log client_data trigeredTCP:collectwhen SERVER_CONNECTED TCP:collectwhen SERVER_DATA TCP:releaseTCP:notify response#log Server_data trige
5、redTCP:collect1.3 BIGIP MBLB 工作原理:60-247.114,3460.247.114-3450,247,114.34:900060.247,114,34:9001客户端首先与BIGIP建立TCP连接,在客户端发送数据的时候,BIGIP根据交易将客 户端请求发送到不同的服务器,在发送前,BIGIP将与后台服务器建立连接。在这种工作模 式下,可以支持同步阻塞模式交易或者同连接里的异步交易。同步工作模式:Clientl RequestServerl ResponseClient2 RequestServer2 ResponseClientl RequestServer2
6、 Response异步工作模式:Clientl RequestClient2 RequestClientl RequestServerl ResponseServer2 Response-Server3 Response在异步工作模式下,不能用下面测试的简单irules,需要使用iRules来判断每个交易的 边界,以便将每笔交易请求分发到不同的服务器上。下面的测试基于小包状态,也就是每笔交易的长度不超过1个MTU,通常情况下是1460 字节的情况,在这种情况下,在一次CLIENT_DATA事件触发的时候就可以接收到整个的 交易请求或者交易回应。2. V10 MBLB测试过程2.1 TCP连接测
7、试首先启动两台Server,分别侦听9000和9001端口确认在BIGIP里显示两台服务器都是工作的。Cirrent Mernbern匠 | yj Slslus Membert Node NameRalioPriorfTp Groupo1加洞Q60 247 114.4-900011 (Adr-e:!B conn显示没有任何的链接产生rootltm3600:Active config # b conn60.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/0上面的那个连接是我的SSH登录产生的。启动客户端,配置好发送的内容,点
8、击Connect观察BIGIP上的连接状态:rootltm3600:Active config # b conn60.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/060.247.114.34:4933 60.247.114.43:9000 any6 tcp 1/1在客户端没有发送数据之前,在BIGIP上只有一个Client-Any6的连接,此时客户端还 没有发送数据,因此BIGIP与后台并不建立连接。2.2交易分发测试点击客户端上的发送按钮观察客户端的收发状态观察Server端收发状态观察BIGIP上的连接状态root
9、ltm3600:Active config # b connany6 60.247.114.43:9000 60.247.114.34:9000tcp 1/1any6 60.247.114.43:9000 60.247.114.34:9001tcp 1/160.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/0 60.247.114.34:4933 60.247.114.43:9000 any6 tcp 1/1可以看到,在客户端开始发送数据后,BIGIP分别和两台Server建立了连接,并将客 户端的请求以轮询的方式发送到
10、两台服务器上。由于我在这里启用了SNAT,因此可以看到第一个Server连接是使用的客户端源端口和服务器建立连接,第二个客户端连接使用的另 外一个源端口和服务器建立连接。2.3启动第二个客户端的连接建立过程及Timeout启动第二个客户端建立连接观察BIGIP状态rootltm3600:Active config # b conn60.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/060.247.114.34:1088 60.247.114.43:9000 any6 tcp 1/0怎么没有Server端连接了呢?看看Se
11、rver端日志,原来由于俺写文章的时间太长,被BIGIP timeout 了。好,现在就让C2开始发送数据看到Server端又开始建立连接了身cgnticin:T remd datLjfpm the transport connection: An existing connection was forcibly closed by the remote host. Connect: 60.247.114.44:31243Recive: 60.247.114.44:31243: C260.247.114.34:10885 end: S 2 response60.247.114.44:31243
12、S er?erT ailRecive: S2 respors&6a.247.114.44:3124JS&rverT3ilC260.247.114.34:10886 end: S 2 responseG0.247.114.44:312436 erverT ailRecive: S2 resporse6a.24-7.1 14.44:31243ServerTciilC260.247.114.34:1088S end: S 2 response60.247.114.44:31243S erverT ailE.xr:tri:irrT I IrnhlE fn r仅日ri riut目坷m the trans
13、port connection: An enisling connection was forcibly closed bp the remote host.I: Connect: 0.247.114.44:1088J)lTecive: bLl.24/.114.44:lUUy: u560.247.114.34:1088Send: SI Response60.247.11 4.44:10SBRecive; 51 Re?ponse60.247.114.44;1088C260.247.114.34:1 OSSSend: SI Response60.247.114.44:1088Recive: S1
14、Response60.247.114.44:1088C260.247.114.34:1088Send: SI ResponseG0.247.11 4.44:1098BIGIP上的连接状态:rootltm3600:Active config # b conntcp 1/0tcp 1/0any6 60.247.114.43:9000 60.247.114.34:9001any6 60.247.114.43:9000 60.247.114.34:900060.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/060.247.114
15、.34:1088 60.247.114.43:9000 any6 tcp 1/0现在开始启动C1发送数据C1的连接也被断掉了:重新启动C1并连接BIGIP上状况:rootltm3600:Active config # b connany6 60.247.114.43:9000 60.247.114.34:9001tcp1/0any6 60.247.114.43:9000 60.247.114.34:9000tcp1/060.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/060.247.114.34:1088 60.247
16、.114.43:9000 any6tcp1/060.247.114.34:1144 60.247.114.43:9000 any6tcp1/0当C1开始发送数据的时候:rootltm3600:Active config # b connany6 60.247.114.43:9000 60.247.114.34:9001 tcp 1/0any6 60.247.114.43:9000 60.247.114.34:9000 tcp 1/0any6 60.247.114.43:9000 60.247.114.34:9001 tcp 1/0any6 60.247.114.43:9000 60.247.1
17、14.34:9000 tcp 1/060.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/060.247.114.34:1088 60.247.114.43:9000 any6 tcp 1/060.247.114.34:1144 60.247.114.43:9000 any6 tcp 1/0Server上的状态:Recive: S2 resporse60.247.114.44:31243ServerTailC260.247.114.34:1088Send: S2 respone60.247.1U.44:31243Serer
18、TailRecive: S2 resporse60.247.114.44:31245ServerT3ilC1 60.247.114.34:1144Send: S2 re$ponje60.247.114.44:31245Ser/erTailRecife: SI Response60.247.114.44:1088C260.247.114.34:1088Send: SI Re$ponse60.247.114.44:1088Recive: 51 Response60?47.114.44:1144C1 60.247.114.34:1144可以看到BIGIP针对每一个客户端连接,分别在每台Server上
19、建立了同样数量的连接,并将请求在这些连接里进行分发。2.4加入新的客户端观察负载均衡算法我们再启动C3,看看有什么状况?Server IP |GD.2d7.11 d -13Server Fori 5oo|1O3O ms5Ennd(&fi) | Log(81)Data HeadData End tcp Testing ClientBIIGProotltm3600:Active config # b connany6 60.247.114.43:9000 60.247.114.34:9000tcp1/0any6 60.247.114.43:9000 60.247.114.34:9001tcp1/0
20、any6 60.247.114.43:9000 60.247.114.34:9000tcp1/0any6 60.247.114.43:9000 60.247.114.34:9001tcp1/060.247.98.162:14774 60.247.114.44:ssh- 60.247.114.44:ssh tcp 1/0 60.247.114.34:1088 60.247.114.43:9000 any6tcp1/060.247.114.34:1144 60.247.114.43:9000 any6tcp1/060.247.114.34:1231 60.247.114.43:9000 any6t
21、cp1/1当C3开始发送数据的时候:Server IP |dO.241 14.43Server Rzirt 30001100J nis5emd(8) | Log(8d_)Data HeadClear LogCbseC|Data End朝 TCP Testing ClientServer 状态:Connect: 60.247.114.44:1231Recivi: 50.247.114.44:1231: C360.247.114.34:1231 Send S1 Response60.247.114.44:1231ERecive: 51 ResponseeO.247.114.44:1231 C360
22、.247.11 4.34:1231 Send: S1 Response60247.114.44:1231Recive: S1 Response60.247.114.44:1231 C360.247.11 4.34:1231 n . j. r 1 . -rrn 7t r t m h.-i nn-i i Connect: 60.247.114.44:31840Recive: 60.247.114.44:31848: C360.247.114.34:1231 Send: S2 response60.247.114.44:31848ServerTilRecive: S2 response60.247.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 MBLB 解决 TCP 连接 负载 均衡 测试 方案

链接地址:https://www.31ppt.com/p-5044257.html