找回密码
 加入我们
搜索
      

请教用OP的链路聚合突破千兆带宽的问题

查看数: 13867 | 评论数: 39 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-29 13:24

正文摘要:

原来的讨论贴被归档了, 外站机器人抓的页面 https://machbbs.com/chiphell/472280 上海电信, 没有在局端开桥接, 自己买了华为的8546Q, 刷回原版固件并补全了shell, 改成epon模式, 按照帖子的说法, 这个光猫默认支 ...

回复

flow 发表于 2022-9-7 10:54
更新一下, 换了一种链路聚合的方式, 方法来源 https://www.wyr.me/post/709

结果更惨, 只有20多M的速度了, 然后还有环路风暴产生...
flow 发表于 2022-9-2 13:58
jcojjbzc 发表于 2022-9-2 10:32
我也是遇到了一样的问题,你可以先试试用爱快能不能突破。

实在不行也只能装个ikuai试一下,关键是比较折腾,要起个新的虚拟机,ikuai之前也没玩过不知道是不是方便...
jcojjbzc 发表于 2022-9-2 10:32
我也是遇到了一样的问题,你可以先试试用爱快能不能突破。
flow 发表于 2022-9-1 15:11
greney 发表于 2022-9-1 14:24
我记得 eth1 eth2 br0 这三个mac会变成一样的 才算成功

是的,现在的状况就是bonding确实成功,但是成功的代价就是网速非但没有提升反而比单拨少了大概至少20%...
我在网上看到过有人有同样的问题,但并没有给出解决方案
greney 发表于 2022-9-1 14:24
flow 发表于 2022-9-1 14:23
我测试过了,bond_slave的参数加不加没啥区别,一旦两个口都被绑定在一起以后,slave自动被加上了,ip li ...

我记得 eth1 eth2 br0 这三个mac会变成一样的 才算成功
flow 发表于 2022-9-1 14:23
greney 发表于 2022-9-1 13:29
RR模式不设置slave  因为两个口都是同时工作
modprobe bonding mode=0 miimon=100
ip link set eth1 master ...

我测试过了,bond_slave的参数加不加没啥区别,一旦两个口都被绑定在一起以后,slave自动被加上了,ip link show的结果都是自动变成
eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>
greney 发表于 2022-9-1 13:29
RR模式不设置slave  因为两个口都是同时工作
modprobe bonding mode=0 miimon=100
ip link set eth1 master bond0
ip link set eth2 master bond0
这三行放到rc.local里 就行了
翰墨留香 发表于 2022-9-1 12:27
Roselle 发表于 2022-9-1 12:15
哦哦,,这种模式如果两条网线不一样是不是有可能导致包频繁重发降低速度呢? ...

有这种可能,不过我没试过
Roselle 发表于 2022-9-1 12:15
翰墨留香 发表于 2022-9-1 12:00
华为这个猫只能支持balance-rr(bond0)模式的聚合,这种聚合不需要在猫端做设置,路由器设置好了猫端会 ...

哦哦,,这种模式如果两条网线不一样是不是有可能导致包频繁重发降低速度呢?
翰墨留香 发表于 2022-9-1 12:00
Roselle 发表于 2022-9-1 11:34
是否两端链路聚合的模式没有匹配?下面是部分文档摘抄

华为这个猫只能支持balance-rr(bond0)模式的聚合,这种聚合不需要在猫端做设置,路由器设置好了猫端会自动启用
Roselle 发表于 2022-9-1 11:34
是否两端链路聚合的模式没有匹配?下面是部分文档摘抄

维度 手工模式 LACP模式
定义 Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。 Eth-Trunk的建立是基于LACP协议的,LACP为交换数据的设备提供一种标准的协商方式,以供系统根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,负责维护链路状态。在聚合条件发生变化时,自动调整或解散链路聚合。
设备是否需要支持LACP协议 不需要 需要
数据转发 一般情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量。 一般情况下,部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。
是否支持跨设备的链路聚合 不支持 支持
检测故障 只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路故障、链路错连等故障。 不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。


Eth-Trunk的工作模式根据以下两种情况选择:

如果两端设备均支持LACP协议,推荐使用LACP模式链路聚合。

如果对端设备不支持LACP协议,必须使用手工模式链路聚合。

服务器和接入设备的链路聚合模式要匹配。
这里以Intel网卡为例,服务器一般采用静态链接聚合和IEEE 802.3ad动态链接聚合两种。当服务器选择静态链接聚合方式,对应接入设备应该选择手工模式;当服务器选择IEEE 802.3ad动态链接聚合方式,对应接入设备应该选择LACP模式。

flow 发表于 2022-9-1 11:22
翰墨留香 发表于 2022-9-1 10:50
我觉得你在设置BOND之前要把所有的WAN相关的网口删除掉,然后再配置……

而且你这个MTU感觉不大对劲

MTU的问题研究出来了,其实也是因为bond没有生效导致的,默认每个网口的MTU都是1500, 然后wan口是设置成1460了,这些都是OP默认的数值,然后wan绑定bondwan,bondwan绑定了eth2,但是绑定eth1的操作实际上是失败了,所以会出现eth2的MTU是1460,eth1还保持了默认的1500

结论就是实际上bonding还没成功,并且没找到原因...
翰墨留香 发表于 2022-9-1 10:50
flow 发表于 2022-9-1 10:43
这个是逻辑接口的配置,不是物理网口的设置,这个我之前也看了, 里面相关的就是一个WAN口的配置,
confi ...

我觉得你在设置BOND之前要把所有的WAN相关的网口删除掉,然后再配置……

而且你这个MTU感觉不大对劲

你可以参考https://zhidao.baidu.com/question/181630483611080324.html自己测试一下
flow 发表于 2022-9-1 10:49
greney 发表于 2022-9-1 09:07
根本就是OP BONDING没设置对 正确的方法是
modprobe bonding mode=0 miimon=100
ip link set eth1 master b ...

我用的完整的rc.local里面是这样的,第二句话我都不记得是怎么来的,不过反正bond0也不用,应该影响也不大,剩下的部分应该都ok?你给的那三句话应该不完整,都没有指定bond mode以及绑定的端口是slave还是master
modprobe bonding mode=0 miimon=100
ifconfig bond0 10.10.10.222 netmask 255.255.255.0 up
ip link add bondwan type bond mode balance-rr
ip link set eth1 type bond_slave
ip link set eth2 type bond_slave
ip link set eth1 master bondwan
ip link set eth2 master bondwan
ip link set bondwan up
exit 0
flow 发表于 2022-9-1 10:43
翰墨留香 发表于 2022-9-1 08:47
设置网口参数 的文件是/etc/config/network

(印象中是这个,你看看)

这个是逻辑接口的配置,不是物理网口的设置,这个我之前也看了, 里面相关的就是一个WAN口的配置,
config interface 'wan'
        option proto 'pppoe'
        option metric '40'
        option username '马赛克'
        option password '马赛克'
        option keepalive '5 5'
        option mtu '1460'
        option ipv6 '0'
        option delegate '0'
        option _orig_ifname 'bondwan'
        option _orig_bridge 'false'
        option ifname 'eth1'
因为昨天晚上重启以后bond失效,所以现在是用eth1单口拨号中
precipitation 发表于 2022-9-1 09:24
op聚合我始终就没搞定,换了爱快,直接界面勾上就可以聚合了,测速1200
greney 发表于 2022-9-1 09:07
根本就是OP BONDING没设置对 正确的方法是
modprobe bonding mode=0 miimon=100
ip link set eth1 master bond0
ip link set eth2 master bond0
翰墨留香 发表于 2022-9-1 08:47
flow 发表于 2022-8-31 22:01
是有问题,结果就是我重启了一下op,bond居然失效了... 我也百思不得其解,明天继续查资料看看怎么解决, ...

设置网口参数 的文件是/etc/config/network

(印象中是这个,你看看)
okango 发表于 2022-9-1 06:47
flow 发表于 2022-8-31 22:01
是有问题,结果就是我重启了一下op,bond居然失效了... 我也百思不得其解,明天继续查资料看看怎么解决, ...

之前试群晖的bond,端口汇聚,bug很多,汇聚实际使用也没有想象中舒爽,老实搞万兆wan口
flow 发表于 2022-8-31 22:01
翰墨留香 发表于 2022-8-31 17:06
还有,你的eth1竟然有一个单独的IPv6地址,是不是哪里设置错了?

怎么感觉你在openwrt里 ...

是有问题,结果就是我重启了一下op,bond居然失效了... 我也百思不得其解,明天继续查资料看看怎么解决,你提到的这些问题我都注意到了,但是没找到哪里可以修改,我winscp连接上去全局查找ifcfg*的文件,愣是没找到每个单独网口的设置文件,也真是见鬼了
翰墨留香 发表于 2022-8-31 17:09
我看你1L给的张大妈的链接是用命令做的bond,实际上完全可以在luci网页里面设置的,更直观简单
翰墨留香 发表于 2022-8-31 17:06
还有,你的eth1竟然有一个单独的IPv6地址,是不是哪里设置错了?

怎么感觉你在openwrt里面对两条线路的聚合有问题呢……
翰墨留香 发表于 2022-8-31 17:05
flow 发表于 2022-8-31 16:09
实际的场景就有点奇怪,我的两个wan口是eth1 和 eth2,bondwan绑了eth1和eth2以后,用在WAN口上做pppoe拨 ...

理论上bondwan和pppoewan的流量应该一致或者没多少差别才对,但是你这个bondwan多了70%以上,显然是有问题的,而且eth1和eth2加起来的流量应该和bondwan一样。


建议检查线缆,两个WAN口的网线用一样长度的成品六类以上线看看。还有,你的eth1和eth2的参数有区别,需要改成一样的MTU。
翰墨留香 发表于 2022-8-31 15:54
flow 发表于 2022-8-31 15:23
我猜也是,关键是怎么排查,luci上看不出什么特别的地方

根据这个帖子的说法https://s.v2ex.com/t/82217 ...

你创建Bond网卡之后两个WAN口应该就没有单独的IP了,然后Bond虚拟网卡本身会获取一个IP,PPPoE连接是基于Bond虚拟网卡的,获取到外网的IP。之后你可以查看到,两个物理网卡的流量是基本一致的。
flow 发表于 2022-8-31 15:23
翰墨留香 发表于 2022-8-31 14:01
光猫设置好绑定的接口就行,不用其他设置……

问题很有可能出在OP这一边 ...

我猜也是,关键是怎么排查,luci上看不出什么特别的地方

根据这个帖子的说法https://s.v2ex.com/t/822174

我查了一下ip addr 以及ifconfig,两个wan口状态看着都挺正常的
翰墨留香 发表于 2022-8-31 14:01
光猫设置好绑定的接口就行,不用其他设置……

问题很有可能出在OP这一边
Narsil 发表于 2022-8-31 13:56
浙江电信,千兆宽带双拨完变600了

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-5-21 19:52 , Processed in 0.013539 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表