lvs+heartbeat实验完成也有几天的时间了,由于lvs是基于4层交换的,只能对于来源ip进行持续的投递,对于7层的ipvs就无能为力了,于是认真看了lvs官方网站,发现了ktcpvs(Kernel TCP Virtual Server)
可以在这里获得基于2.6内核的版本下载
下载后按照网站上的说明进行编译安装
cd ktcpvs && make install
这时还需要cd userspace/ && make install
这样退回到ktcpvs目录后执行./start就可以正常启动了
编辑config文件进行ktcpvs的配置,首先说下我的测试想法吧
3台电脑(安装redhat 4.5)
其中一个做ktcpvs
另外两台我用作了web
ktcpvs
(2.187)
| |
| |
| |
(2.188) (2.189)
web01 web02
|
我的目的,所以对于\.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查看
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 192.168.2.187:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:625 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:619 0.0.0.0:*
udp 0 0 0.0.0.0:622 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
|
然后分别两台webserver上启动lighttpd
经过测试已经实现,确实达到了html的投到2.189上,gif投递到2.188上
以上实验只是实现了ktcpvs简单的功能,等有时间再进行深入的研究
阅读(1974) | 评论(0) | 转发(0) |