谈谈 Linux 与 LACP 链路聚合,简单举例讲一下 Linux 是如何拆东墙补西墙,造成用户困扰的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
hjc4869
V2EX    Linux

谈谈 Linux 与 LACP 链路聚合,简单举例讲一下 Linux 是如何拆东墙补西墙,造成用户困扰的

 2  
  •   hjc4869 2020-04-03 15:03:06 +08:00 5842 次点击
    这是一个创建于 2024 天前的主题,其中的信息可能已经有所发展或是发生改变。
    26 条回复    2022-02-17 14:52:28 +08:00
    wysnylc
        1
    wysnylc  
       2020-04-03 15:11:44 +08:00
    先把博客优化好再来吧
    hjc4869
        2
    hjc4869  
    OP
       2020-04-03 15:13:07 +08:00 via Android
    @wysnylc 博客在 Vultr 美国东部,没啥好优化的,反正大陆地区肯定打不开。
    alpacabrother
        3
    alpacabrother  
       2020-04-03 15:13:57 +08:00 via Android
    @hjc4869 好像能打开……
    putaozhenhaochi
        4
    putaozhenhaochi  
       2020-04-03 15:18:31 +08:00 via Android
    能打开
    hjc4869
        5
    hjc4869  
    OP
       2020-04-03 15:33:15 +08:00 via Android   1
    补充图片版
    //i.v2ex.co/5J53dgr2.jpeg
    Lax
        6
    Lax  
       2020-04-03 15:58:20 +08:00
    分析的不错,可以写邮件去邮件列表骂
    xingzw
        7
    xingzw  
       2020-04-03 16:01:28 +08:00 via iPhone
    写的不错!
    stcheng
        8
    stcheng  
       2020-04-03 16:04:02 +08:00 via iPhone
    LACP drIver 不难修改 可以试着打一个 local 补丁做一个 workaround 试试
    AFuture
        9
    AFuture  
       2020-04-03 17:23:58 +08:00 via iPhone
    大佬啊!
    wtks1
        10
    wtks1  
       2020-04-03 17:26:18 +08:00 via Android
    是能打开的
    minami
        11
    minami  
       2020-04-03 17:46:03 +08:00
    看完了,所以就是 Google 开发人员天才操作的锅了(#°Д°)
    Unclev21x
        12
    Unclev21x  
       2020-04-03 18:11:54 +08:00
    虽然看的迷迷糊糊,不是很懂,但也看明白了楼主意思,确实很用心,给楼主点赞。
    momocraft
        13
    momocraft  
       2020-04-03 18:16:49 +08:00
    好有趣
    HEROic
        14
    HEROic  
       2020-04-03 19:08:47 +08:00 via Android
    为啥不试试 bond0 或者 bond6 配置呢。。
    ryncsn
        15
    ryncsn  
       2020-04-03 19:35:51 +08:00
    不太了解 LACP,不过比较好奇为什么这么久这个 bug 才有人发现...
    如果第一个引入绑定到偶数端的优化可有可无的话,为什么没人提出将其作为一个可选参数?这样是否需要这个优化用户可以自己决定,比如只有用户确认自己所有设备都是支持这个优化没有坑的时候再开启。
    hjc4869
        16
    hjc4869  
    OP
       2020-04-03 19:56:07 +08:00
    @HEROic balance-rr 会导致数据包出现一些乱序,TCP 不喜欢这种。alb 模式只能对不同 host 进行负载均衡,对同一 host 上的不同连接无法均衡,并且我的 NAS 网卡不支持这种模式。
    @ryncsn 我个人猜测关注两台 Linux 机器多连接互相通讯时的总带宽大小的客户可能比较少,可能双口网卡服务器的客户更多的是关注多 VM 之类的负载均衡的性能,或者是很多个 client 的并发性能,也就是使用 layer2/3 的 hash 或者干脆不用 LACP 的人大概比较多。
    wsy2220
        17
    wsy2220  
       2020-04-03 21:25:21 +08:00 via Android
    这个问题本质是 2 层设备 too smart, 依赖 4 层软件的行为。做了破坏抽象的事就要承受破坏抽象的后果
    realpg
        18
    realpg  
    PRO
       2020-04-03 22:20:00 +08:00
    @ryncsn #15
    因为这个根本就不算是 bug 算是一个小问题
    而且只有楼主这种实际上是比较不普遍的且不典型的场景才有这个问题
    hjc4869
        19
    hjc4869  
    OP
       2020-04-04 12:31:48 +08:00
    @realpg 服务器与服务器之间的大带宽通讯也算是一个比较现实的需求了,如果是用 Windows 做 NAS 还会自动开启 SMB multil channel,自动创建多个连接在多个链路之间负载均衡。连微软这种在 server 技术上相对比较保守的企业都有实现相关的功能,我觉得这个场景不能算不普遍不典型。
    realpg
        20
    realpg  
    PRO
       2020-04-04 12:58:26 +08:00
    @hjc4869 #19
    其实就是不普遍不典型。
    因为你能看到的需求和场合太有限。

    说的不是 LACP 技术,这只是链路聚合的一部分。
    你遇到的这个问题是链路聚合的普遍问题,不只是 LACP 和 linux 内核网络处理
    我确信你说的完全正确,而且是你所在场合里所遇到的,你感觉会很多的问题

    你有没有深入想过,为什么只有 LINUX 的处理机制才会这么魔改导致你更麻烦的问题,而所有的网络设备都不处理这种问题?因为只有你站在 linux 简单内部模型这一端,这才是个像你认为的那样的比例很大的问题,他们才会在不能碰标准的情况下自己魔改优化自己的小问题


    而做网络结构设计,链路聚合( PC ET LA )都不是你这么用的,也不是考虑你这种需求而做的。不会为了适应你这种乐观估计连百万分之一都不够的需求场景。

    喝了点酒,有点迷糊,表述不太清晰,可能没太说明白…… 要不等我清醒了 TG 你加我一对一我给你多说说。
    realpg
        21
    realpg  
    PRO
       2020-04-04 13:00:52 +08:00   2
    现在迷迷糊糊,绞尽脑汁总结细一点 你试着理解一下

    链路聚合技术

    在微观领域的设计只能用于链路可靠性保障和 HA 报障,不要考虑叠加带宽

    在宏观领域应用可考虑叠加带宽,但是要充分结合业务模型用最保守的方式设计分担数

    甚至需要采样设计
    pmispig
        22
    pmispig  
       2020-04-04 21:15:15 +08:00
    @realpg 我也觉得你这种观念比较正确,通过聚合来叠加带宽感觉不是很靠谱
    qxwxintu
        23
    qxwxintu  
       2020-04-16 16:32:51 +08:00
    @hjc4869 加一层免费的 cdn 就行了
    noli
        24
    noli  
       2020-04-26 15:38:16 +08:00
    只看懂了一小部分,无法发表有建设性评论。

    只好来撺掇楼主转投 TrueNAS (即将和 FreeNAS 合并),BSD 内核才是 Unix 正统(又来 troll )
    放弃 Linux 吧 (doge)
    hjc4869
        25
    hjc4869  
    OP
       2020-05-04 21:40:42 +08:00
    @noli 已转投,果然 FreeBSD 的 LACP 就没这种破事,随手配一下就能跑满 20G,好评。

    lizenghui
        26
    lizenghui  
       2022-02-17 14:52:28 +08:00
    是的 我也是 PVE 到群晖,聚合是单向的。。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2547 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:19 PVG 10:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86