设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 4994|回复: 16

[lvs] 求高手解答~困惑好久了。关于ipvsadm的实时性? [复制链接]

Rank: 1

签到
0
注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-14 15:29:36 |显示全部楼层
大家好~有一个问题,困惑了很久。搭建了一个LVS/DR,VIP=192.168.1.200 rs2=192.168.1.101 rs3=192.168.1.102。
假定初始时:
ipvsadm -a -t $vip:80 -r $rs2:80 -g -w 0
ipvsadm -a -t $vip:80 -r $rs3:80 -g -w 8
用Apache ab 进行测试,结果:
-> 192.168.1.101:80 Route 0 0 0
-> 192.168.1.102:80 Route 8 50 28183
在压力测试进行中,接着使用:
ipvsadm -a -t $vip:80 -r $rs2:80 -g -w 4
修改rs2权值:
-> server2:http Route 4 0 0
-> server3:http Route 8 2 28231
可见,权值已经改变,却依然没有连接分配过去,求高手讲解?

Rank: 8Rank: 8

注册时间
2009-5-27
最后登录
2019-1-18
在线时间
5005 小时
阅读权限
90
积分
14230
帖子
1883
主题
1744
精华
0
UID
3279
发表于 2011-4-14 16:11:38 |显示全部楼层
你压力测试来自一台机器,也就是一个固定的IP,同一个IP肯定是分配到同一台机器的
http://www.howtocn.org——HowTo中文站

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-14 16:42:58 |显示全部楼层
回复 qzao22 的帖子

谢谢你的回复~不过还是有问题,上面的前提不变,我将两个初始权值都变成了80,还是同一台机器作压力测试,结果如下:
-> 192.168.1.101:80             Route   80     312        14129     
-> 192.168.1.102:80             Route   80     22         13770  
TCP 01:56  FIN_WAIT    192.168.1.103:53761 192.168.1.200:80   192.168.1.102:80
TCP 01:56  FIN_WAIT    192.168.1.103:51252 192.168.1.200:80   192.168.1.102:80
TCP 01:56  FIN_WAIT    192.168.1.103:51190 192.168.1.200:80   192.168.1.101:80
TCP 01:56  FIN_WAIT    192.168.1.103:50741 192.168.1.200:80   192.168.1.101:80
TCP 01:55  FIN_WAIT    192.168.1.103:49766 192.168.1.200:80   192.168.1.101:80
TCP 01:55  FIN_WAIT    192.168.1.103:47672 192.168.1.200:80   192.168.1.101:80
TCP 01:59  FIN_WAIT    192.168.1.103:41703 192.168.1.200:80   192.168.1.102:80
TCP 01:58  FIN_WAIT    192.168.1.103:35893 192.168.1.200:80   192.168.1.101:80
TCP 01:58  FIN_WAIT    192.168.1.103:34069 192.168.1.200:80   192.168.1.102:80
TCP 01:57  FIN_WAIT    192.168.1.103:57533 192.168.1.200:80   192.168.1.101:80
由此可见,访问的是两台机器,而不是您前面所说的一台阿。我现在的问题是:我用ipvsadm改变了某个节点权值后,它的连接数并没有受到影响。如图:
-> 192.168.1.101:80             Route   29     222        13699     
-> 192.168.1.102:80             Route   48     71         14241
由于第一台,负载过重,我使用ipvsdam将它的权值,动态修改为1,我原想着,改为1后,给这个节点分配的连接数将非常少,可是结果却是这样,ipvs并没有依据权值,分配连接。(我用的是wlc)
   TCP  192.168.1.200:80 wlc
  -> 192.168.1.101:80             Route   1      216        13705     
  -> 192.168.1.102:80             Route   48     4          14308     
另一时刻:
-> 192.168.1.101:80             Route   1      323        13598     
-> 192.168.1.102:80             Route   48     92         14220
何解?谢谢了。

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-14 16:44:36 |显示全部楼层
回复 make1314 的帖子

为什么要RR?我做这个实验的目的就是想动态改变wlc的权值后,看看是否能改变连接的分配比例。谢谢了

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-5-27
最后登录
2019-1-18
在线时间
5005 小时
阅读权限
90
积分
14230
帖子
1883
主题
1744
精华
0
UID
3279
发表于 2011-4-14 18:05:35 |显示全部楼层
回复 _剑在手边_ 的帖子

你用 ipvsadm -Lcn | sort -k4 | more看一下同一个IP是不是始终到一台rs,你发的都是FIN_WAIT状态的连接,这些连接是还没有完全关闭的连接,没什么意义的,看看ESTABLISHED状态的
http://www.howtocn.org——HowTo中文站

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-9-20
最后登录
2019-9-2
在线时间
489 小时
阅读权限
100
积分
38065
帖子
2202
主题
48
精华
0
UID
307

LT元老

发表于 2011-4-14 18:23:49 |显示全部楼层
qzao22 发表于 2011-4-14 18:05
回复 _剑在手边_ 的帖子

你用 ipvsadm -Lcn | sort -k4 | more看一下同一个IP是不是始终到一台rs,你发的 ...

正解。

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-15 11:08:18 |显示全部楼层
回复 qzao22 的帖子

您好,谢谢很多人的帮助加为好友,才能回复您的帖子。我看过了,确实是来自一个IP的连接都被发到了一个rs。这样就很奇怪了:1. 为什么两个RS都有ActiveConn呢?不是只有一台建立连接了么?
2. 我用一台机器测试(相当于一个IP),只给一个RS建立了连接,那么我再用一台做测试,也是只跟另一个RS建立连接而已,那么我到底需要多少台,才能看到我动态改变权值后的结果呢?3台?

昨晚研究了一晚上,LVS资料好少啊,期盼着您的解答,谢谢了。

我毕业论文想做LVS的动态反馈,自己目前已经实现了权值的动态变化,并且根据ipvsadm可以动态修改当前的权值,可是修改后的权值似乎完全不起作用。一下是我的配置文件:
LB端:
vip=192.168.1.200
rs3=192.168.1.102
rs2=192.168.1.101
wg=192.168.1.1
/sbin/ifconfig eth0:0 $vip netmask 255.255.255.0 broadcast $vip up
/sbin/route add -host $vip dev eth0:0
echo "1" >/proc/sys/net/ipv4/ip_forward
# Clear ipvs table
ipvsadm -C
ipvsadm -A -t $vip:80 -s wlc
ipvsadm -a -t $vip:80 -r $rs3:80 -g -w 4
ipvsadm -a -t $vip:80 -r $rs2:80 -g -w 2
/etc/rc.d/init.d/ipvsadm save
/etc/rc.d/init.d/ipvsadm start
ipvsadm -l
exit 0


RS端
vip=192.168.1.200
/sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

谢谢啦。

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-15 11:09:58 |显示全部楼层
回复 源泉星火 的帖子

谢谢了,我看过了,确实是来自一个IP的连接都被发到了一个rs。这样就很奇怪了:1. 为什么两个RS都有ActiveConn呢?不是只有一台建立连接了么?
2. 我用一台机器测试(相当于一个IP),只给一个RS建立了连接,那么我再用一台做测试,也是只跟另一个RS建立连接而已,那么我到底需要多少台,才能看到我动态改变权值后的结果呢?3台?

昨晚研究了一晚上,LVS资料好少啊,期盼着您的解答,谢谢了。

我毕业论文想做LVS的动态反馈,自己目前已经实现了权值的动态变化,并且根据ipvsadm可以动态修改当前的权值,可是修改后的权值似乎完全不起作用。一下是我的配置文件:
LB端:
vip=192.168.1.200
rs3=192.168.1.102
rs2=192.168.1.101
wg=192.168.1.1
/sbin/ifconfig eth0:0 $vip netmask 255.255.255.0 broadcast $vip up
/sbin/route add -host $vip dev eth0:0
echo "1" >/proc/sys/net/ipv4/ip_forward
# Clear ipvs table
ipvsadm -C
ipvsadm -A -t $vip:80 -s wlc
ipvsadm -a -t $vip:80 -r $rs3:80 -g -w 4
ipvsadm -a -t $vip:80 -r $rs2:80 -g -w 2
/etc/rc.d/init.d/ipvsadm save
/etc/rc.d/init.d/ipvsadm start
ipvsadm -l
exit 0


RS端
vip=192.168.1.200
/sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
/sbin/route add -host $vip dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

谢谢啦。

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-5-27
最后登录
2019-1-18
在线时间
5005 小时
阅读权限
90
积分
14230
帖子
1883
主题
1744
精华
0
UID
3279
发表于 2011-4-15 12:38:24 |显示全部楼层
回复 _剑在手边_ 的帖子

1、LVS/DR模式中的ActiveConn数目对于负载均衡器来说是一个猜想的值,因为你的请求发送到后端后会由后端直接发送到客户端,所以负载均衡器并不知道有多少连接处于活动状态,它会根据超时时间去猜测处于活动的连接数,你看到的活动连接数有可能还没有过这个超时时间,不要纠结于这个数字,看看真实服务器的真实连接数吧。2、这个根据你的权重比例来,比如你设为权重1:2,那么只要3台(3个IP),而设为48:1,那么最少需要49台(49个IP)
http://www.howtocn.org——HowTo中文站

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-3-28
最后登录
2015-5-14
在线时间
151 小时
阅读权限
90
积分
27465
帖子
375
主题
18
精华
0
UID
12570
发表于 2011-4-15 13:04:15 |显示全部楼层
你设为权重1:2,那么只要3台

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-15 13:24:47 |显示全部楼层
回复 qzao22 的帖子

懂了,谢谢您~再问下,有没有测试工具可以模拟多个IP发送连接,因为实验室环境不可能有这么台机器供测试使用,如果权值只能是1,2的话(实验室只有三台客户机),我动态改变的权值,想测试提高整个集群的吞吐率,就没有办法做测试了。

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-15 13:25:49 |显示全部楼层
回复 c3a3o3 的帖子

懂了,谢谢您~再问下,有没有测试工具可以模拟多个IP发送连接,因为实验室环境不可能有这么台机器供测试使用,如果权值只能是1,2的话(实验室只有三台客户机),我动态改变的权值,想提高整个集群的吞吐率,就没有办法做测试了。

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-5-27
最后登录
2019-1-18
在线时间
5005 小时
阅读权限
90
积分
14230
帖子
1883
主题
1744
精华
0
UID
3279
发表于 2011-4-15 13:55:57 |显示全部楼层
回复 _剑在手边_ 的帖子

你可以给一台机器配置多个同网段IP试试,这种测试我也没有做过
http://www.howtocn.org——HowTo中文站

使用道具 举报

Rank: 1

注册时间
2011-4-14
最后登录
2011-4-19
在线时间
6 小时
阅读权限
1
积分
19
帖子
9
主题
1
精华
0
UID
12800
发表于 2011-4-15 14:37:47 |显示全部楼层
回复 qzao22 的帖子

好的,谢谢您~那个权重应该是比值关系吧,而不是1,2就是要3个IP,应该是按1:2分配IP吧。

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-3-28
最后登录
2015-5-14
在线时间
151 小时
阅读权限
90
积分
27465
帖子
375
主题
18
精华
0
UID
12570
发表于 2011-4-15 16:46:44 |显示全部楼层
你没有 外网的ip

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-10-1 23:28 , Processed in 0.029512 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部