最近部署了LVS,有个问题想问问技术大牛们
我这边的服务器应用比较多。使用LVS 创建虚拟地址要指定端口,这样的话,我一个虚拟主机IP,我要配置很多端口。由于应用太多。
可不可以直接IP到IP直接的映射,不指定端口?这样配置会减少很多。硬件负载均衡设备 F5,radware的都用这个功能,端口选择any
不知道lvs 是否也可以这么实现?期待大神们的回复
zhangzq
周一, 2014-05-26 01:57
Permalink
1. 可以直接IP到IP的映射(那就是要开启-p选项,不指定端口即可),当访问LVS的5000端口,会自动转发到RS服务器的5000端口。 2. 但是开启-p选项,表示要启用会话保持,它会在-p指定的一段时间里将同一IP的请求全部转发到同一台RS服务器上,从某种程度上来说负载均衡的能力会减弱。所以要慎重考虑此功能。(当然咯,你将-p后的时间值设置得相当小,也是可以的,但是就失去了会话保持的原本意义) ------------------------------------------------------------------------ 你需要指定-p选项,此时不指定端口,就可以做到IP到IP的映射。 [root@localhost zhangzq]# ipvsadm -A -t 192.168.199.199 -s rr -p 900 [root@localhost zhangzq]# ipvsadm -a -t 192.168.199.199 -r 1.1.1.1 [root@localhost zhangzq]# ipvsadm -a -t 192.168.199.199 -r 2.2.2.2 [root@localhost zhangzq]# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.199.199:0 rr persistent 900 -> 2.2.2.2:0 Route 1 0 0 -> 1.1.1.1:0 Route 1 0 0
zcyzcy198399
周二, 2014-05-27 01:13
ipvsadm -A -t 192.168.199.199 -s rr -p 900
-p 900 是什么意思?这段还是没看明白?-p 不是指定端口吗?900 是端口号?
周二, 2014-05-27 02:03
-p persistent(持续) 900秒;表示会话保持持续900秒的意思。
周二, 2014-05-27 01:14
我看明白了,谢谢,我去测试下,十分感谢
周四, 2014-06-05 03:18
在lvs+keepalive 模式下,是不是也支持这种配置方式呢?直接开keepalive好像不是行
Anonymous (没有被验证)
周五, 2014-06-06 05:07
lvs+keepalived是可以的,只需设置keepalive的配置文件即可。 具体看keepalive里的fwmark方案哈,我就是这么实现的。
xysky
周五, 2014-05-30 12:14
刚好最近我也遇到这个问题,顺利解决了。 F5的any挺好用,有些时间还必须这么搞。 在LVS里有个fwmark的方案,即在lvs上用iptables将到指定端口的包mark一下,然后在写lvs规则的时候-f 参数就行了。 有问题可以联系我,多交流。
There are currently 0 users online.
zhangzq
周一, 2014-05-26 01:57
Permalink
相互鼓励,相互学习
1. 可以直接IP到IP的映射(那就是要开启-p选项,不指定端口即可),当访问LVS的5000端口,会自动转发到RS服务器的5000端口。
2. 但是开启-p选项,表示要启用会话保持,它会在-p指定的一段时间里将同一IP的请求全部转发到同一台RS服务器上,从某种程度上来说负载均衡的能力会减弱。所以要慎重考虑此功能。(当然咯,你将-p后的时间值设置得相当小,也是可以的,但是就失去了会话保持的原本意义)
------------------------------------------------------------------------
你需要指定-p选项,此时不指定端口,就可以做到IP到IP的映射。
[root@localhost zhangzq]# ipvsadm -A -t 192.168.199.199 -s rr -p 900
[root@localhost zhangzq]# ipvsadm -a -t 192.168.199.199 -r 1.1.1.1
[root@localhost zhangzq]# ipvsadm -a -t 192.168.199.199 -r 2.2.2.2
[root@localhost zhangzq]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.199.199:0 rr persistent 900
-> 2.2.2.2:0 Route 1 0 0
-> 1.1.1.1:0 Route 1 0 0
zcyzcy198399
周二, 2014-05-27 01:13
Permalink
ipvsadm -A -t
ipvsadm -A -t 192.168.199.199 -s rr -p 900
-p 900 是什么意思?这段还是没看明白?-p 不是指定端口吗?900 是端口号?
zhangzq
周二, 2014-05-27 02:03
Permalink
编程小牧童-zhangzq
-p persistent(持续) 900秒;表示会话保持持续900秒的意思。
zcyzcy198399
周二, 2014-05-27 01:14
Permalink
我看明白了,谢谢,
我看明白了,谢谢,我去测试下,十分感谢
zcyzcy198399
周四, 2014-06-05 03:18
Permalink
在lvs+keepalive
在lvs+keepalive 模式下,是不是也支持这种配置方式呢?直接开keepalive好像不是行
Anonymous (没有被验证)
周五, 2014-06-06 05:07
Permalink
可以的
lvs+keepalived是可以的,只需设置keepalive的配置文件即可。
具体看keepalive里的fwmark方案哈,我就是这么实现的。
xysky
周五, 2014-05-30 12:14
Permalink
可以的
刚好最近我也遇到这个问题,顺利解决了。
F5的any挺好用,有些时间还必须这么搞。
在LVS里有个fwmark的方案,即在lvs上用iptables将到指定端口的包mark一下,然后在写lvs规则的时候-f 参数就行了。
有问题可以联系我,多交流。