LVS源码分析小插曲二---一台PC搭建LVS测试环境

版权:自由转载,说明出处,保留原作者名,保留文章的完整性,需要商业用途,请联系作者me.
韩波 yahoo邮箱 GameProgramHack 2010.01.12 深圳市龙岗区坂田镇XXX小山村。

LVS测试环境逻辑上需要3台设备:clinet,LB,RS。
[inline:1]
对于普通的玩家而言,很少有3台设备的。
一般都只用一台PC,因此这里要使用虚拟机virtualbox,这里我使用的安装介质是openSUSE11.2.
我们测试环境大致如下:
clinet: host主机 window xp。
LB:guest主机 linux。
RS:guest 主机linux。

这里需要注意的事:
RS guest主机我启动了一个网卡,virtualbox工作模式是 Internal网络。该模式只能虚拟机间互通,启动后给eth0配置上图ip。
LB guest主机我启动了二个网卡,eth0的工作模式是Internal网络,该模式只能虚拟机间互通,启动后配置上图ip。
eth3的工作模式是host-only,该模式可以和host互通,启动后配置上图ip。
这样整个网络拓朴就和上图等价。

验证测试环境是否正常:
1)在LB上面配置如下ipvs规则:
ipvsadm -A -t 192.168.56.103:5400 -s rr -p 1000 -M 255.255.255.0
ipvsadm -a -t 192.168.56.103:5400 -r 192.168.55.2:22 -m -w 1
2)在host上面使用SecureCRT,连接192.168.56.103:5400,实际上连接的是RS 192.168.55.2:22,可以正常使用。

在搭建这个测试环境的过程中,可能遇到的问题。
1)需要自己编译ip_vs.ko等相关模块,并insmod手工加载。
2)ipvsadm-1.25编译不过。
a.去掉netlink库的依赖:去掉libipvs/Makefile的CFLAGS += -DLIBIPVS_USE_NL,去掉Makefile的LIBS += -lnl。
b.需要popt库解析命令行,在这里下载并安装http://freshmeat.net/projects/popt/.。
3)SecureCRT连接不同,tcpdump发现,RS回包,但是LB没有转发给client。
在LB上echo 1 > /proc/sys/net/ipv4/ip_forward。

测试环境,编译环境都OK,后续可以随意修改ipvs并测试了。

广告过后,精彩等着你... ...

附件大小
Image icon network.JPG9.69 KB
randomness