免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 独孤九贱
打印 上一主题 下一主题

一次菜鸟的多ADSL负载均衡尝试失败经历 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-06-15 16:27 |只看该作者
均衡路由要通过 iproute2 来做

  1. ip route add default equalize dev ppp0 weight 1 \
  2.                       nexthop dev ppp1 weight 1 \
  3.                       nexthop dev ppp2 weight 1 \
  4.                       nexthop dev ppp3 weight 1 \
  5.                       nexthop dev ppp4 weight 1
复制代码

NAT 要用 MASQUERADE 来做

  1. iptables -t nat -A POSTROUTING -s x.x.x.x/xx -o ppp+ -j MASQUERADE
复制代码

[ 本帖最后由 platinum 于 2006-6-15 16:29 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2006-06-15 16:42 |只看该作者
原帖由 platinum 于 2006-6-15 16:27 发表
均衡路由要通过 iproute2 来做
[code]
ip route add default equalize dev ppp0 weight 1 \
                      nexthop dev ppp1 weight 1 \
                      nexthop dev ppp2 weight 1 \
       ...


是啊,我的方法与你是一样的……,只不过我是把这条路由专门放在了一个路由表里边,但是因为cache的原因,需要不停地ip route flush cache,所以我的意思是说:
不停地ip route flush cache,在流量较大的时候,会不会影响路由查找的效率;

另,现在另一个头痛的问题是,如何保存/恢复这些配置,有没有像类似于iptables-save,iptables-restore这样的东东,我有一个思路,不过实现不了,水平太差了……
http://bbs.chinaunix.net/viewthr ... &extra=page%3D2

论坛徽章:
0
13 [报告]
发表于 2006-06-15 16:49 |只看该作者
原帖由 独孤九贱 于 2006-6-15 16:42 发表


是啊,我的方法与你是一样的……,只不过我是把这条路由专门放在了一个路由表里边,但是因为cache的原因,需要不停地ip route flush cache,所以我的意思是说:
不停地ip route flush cache,在流量较 ...

呵呵,这是另一个 BUG 了,需要打一个针对 equalize 的补丁,你可以上网找找,具体名称我忘记了
那个补丁是 for 2.4.18-3 内核的,不过其他 2.4.x 也适用,我测试过
用了这个内核后,就不需要反复 ip route flush cache 了,否则路由一旦选定,就再也不会变了,那个补丁就是解决这个问题的
用了这个补丁后,即使从同一个服务器下载同一个文件,即使一个 session,也可以实现自动负载均衡
可以说,未 patch 前是基于 link 的负载均衡,patch 后是基于 packet 的,效果非常好

btw: 打过那个 patch 后,网络协议栈路由部分不支持 SMP 内核,会莫名其妙死机,怀疑是内核锁的问题,有时间我研究一下

至于那个 iproute 的问题,我也没研究过用 shell 实现,帮不了你了:)

[ 本帖最后由 platinum 于 2006-6-15 16:56 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2006-06-15 17:04 |只看该作者
原帖由 platinum 于 2006-6-15 16:49 发表

呵呵,这是另一个 BUG 了,需要打一个针对 equalize 的补丁,你可以上网找找,具体名称我忘记了
那个补丁是 for 2.4.18-3 内核的,不过其他 2.4.x 也适用,我测试过
用了这个内核后,就不需要反复 ip route f ...


算了,基本满意了,偷个懒,呵呵,如果需要的话,可以在:
http://www.ssi.bg/~ja/

上面下载

保存/恢复脚本还是挺有实用价值的,我争取写一个出来……

论坛徽章:
0
15 [报告]
发表于 2006-06-16 13:44 |只看该作者
原帖由 platinum 于 2006-6-15 16:49 发表

呵呵,这是另一个 BUG 了,需要打一个针对 equalize 的补丁,你可以上网找找,具体名称我忘记了
那个补丁是 for 2.4.18-3 内核的,不过其他 2.4.x 也适用,我测试过
用了这个内核后,就不需要反复 ip route f ...

这个补丁我以前在2.4.20试过,运行正常,但打到2.4.30上之后系统马上down掉了(我的环境一直是单cpu的环境),估计这个补丁是比较老的,并且没有根据内核版本的提高进行更新,有些遗撼。

[ 本帖最后由 liyanux 于 2006-6-16 14:08 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2006-06-16 17:05 |只看该作者
原帖由 liyanux 于 2006-6-16 13:44 发表

这个补丁我以前在2.4.20试过,运行正常,但打到2.4.30上之后系统马上down掉了(我的环境一直是单cpu的环境),估计这个补丁是比较老的,并且没有根据内核版本的提高进行更新,有些遗撼。


我是2.4.31 ,没有问题……

论坛徽章:
0
17 [报告]
发表于 2006-06-16 17:28 |只看该作者
原帖由 独孤九贱 于 2006-6-16 17:05 发表


我是2.4.31 ,没有问题……

谢谢楼上的信息,不知道是不是与当时内核编译有错误或者可能与打的其它补丁相关,有兴趣的朋友可以测试一下,想想关于equalize补丁的信息还是platinum告诉自己的,当时自己才开始学习linux,才开始上chinaunix,^_^。
caifu21cn 该用户已被删除
18 [报告]
发表于 2006-06-23 13:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
19 [报告]
发表于 2006-07-13 02:32 |只看该作者
问一下,在实施了这样的负载均衡后,我访问一个需要session的站点,比如一个asp论坛,php论坛(当然目前大部分的是cookie保存在客户端,但是有的是session保存在服务器端的)。。。 会不会因为我的ip随时在2条线之间切换,导致出现提示没有登陆,或者被算做重复登陆的可能呢?

另外,在使用bt,emule等软件的时候,是否会由于使用双线而出现一些异常呢?


好奇ing。。。

论坛徽章:
0
20 [报告]
发表于 2006-07-13 02:35 |只看该作者
还有,这样一来,是否表示在长时间的连接情形下,iptables的track记录可能倍增了(随负载的线路增加而成倍增加track记录)。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP