lvs+heartbeat实验完成也有几天的时间了,由于lvs是基于4层交换的,只能对于来源ip进行持续的投递,对于7层的ipvs就无能为力了,于是认真看了lvs官方网站,发现了ktcpvs(Kernel TCP Virtual Server)
可以在http://kb.linuxvirtualserver.org/wiki/Compiling_KTCPVS这里获得基于2.6内核的版本下载
下载后按照网站上的说明进行编译安装 cd ktcpvs && make install
这时还需要cd userspace/ && make install
这样退回到ktcpvs目录后执行./start就可以正常启动了
编辑config文件进行ktcpvs的配置,首先说下我的测试想法吧
3台电脑(安装redhat 4.5)
其中一个做ktcpvs
另外两台我用作了web
|
我的目的,所以对于/.gif$的都投递到web01上,所有/.html$都投递到web02上
下面是我的config的配置文件内容
Virtual web1 { listen = 192.168.2.187:80 scheduler = phttp startservers = 8 maxclients = 256 minspareservers = 6 maxspareservers = 18 #redirect = localhost:80 server = 192.168.2.188:80 1 server = 192.168.2.189:80 1 rule = pattern "/.gif$" match 1 use server 192.168.2.188:80 rule = pattern "/.html$" match 1 use server 192.168.2.189:80 } |
然后在2.187上执行./start命令,如果没有报错就说明已经正常启动了,可以使用netstat -ln查看
|
然后分别两台webserver上启动lighttpd
经过测试已经实现,确实达到了html的投到2.189上,gif投递到2.188上
以上实验只是实现了ktcpvs简单的功能,等有时间再进行深入的研究