原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1340809
一、tcpcopy这个软件第一次听说还是在9月份的系统架构师大会上听说的,可一直没时间折腾,前几天弄了一套环境想体验一把,没想到第一次就各种不顺利,在这里特别感谢作者@王斌的细心指导排查,最后找到了问题辅助服务器上开启了路由功能(net.ipv4.ip_forward = 0),真是太坑爹了,tcpcopy的相关介绍请看tcpcopy的介绍、功能,tcpcopy分为tcpcopy client和tcpcopy server,其中tcpcopy client运行在在线服务器上面,用来捕获在线请求数据包;tcpcopy server(监听端口为36524)运行在测试辅助机器(新架构)上面,在测试服务器的响应包丢弃之前截获测试服务器的响应包,并通过tcpcopy client和tcpcopy server之间的tcp连接传递响应包的tcp和ip
头部信息给tcpcopy client,以完成tcp交互。
二、环境
1 2 3 4 |
|
三、部署
1、线上和测试服务器的web服务部署这里就不在描述,本文中web服务跑在80端口上
2、10.10.2.240(tcpcopy client)和10.10.2.242(tcpcopy server)上部署tcpcopy
1 2 3 4 5 6 7 |
|
3、启动线上服务器(10.10.2.240)的tcpcopy client
1 2 |
|
4、启动辅助服务器(10.10.2.242)的tcpcopy server
1 |
|
5、测试服务器上加路由:
1 2 |
|
到此,整个环境已经ok了,你在client上访问线上服务器,测试服务器同样也会收到请求,部署的过程中需要注意的两点:
1、辅助服务器上一定不要开路由功能,开了的话他也会给client回包,导致流量复制失败;
2、启动顺序,先启动tcpcopy server,后启动tcpcopy client
PS:
1、如何复制N倍流量到测试机?有两种方法,举例复制3倍流量的两种方法:
1 2 3 4 5 6 |
|
2、如何把线上流量导入到测试系统LVS中?下面具体介绍:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
实际效果如下:
本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/1340809