要用 RouterOS,该买官方硬件还是 x86? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HarrisIce
V2EX    宽带症候群

要用 RouterOS,该买官方硬件还是 x86?

  •  
  •   HarrisIce 2024-04-24 17:22:08 +08:00 4952 次点击
    这是一个创建于 534 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要跑 BGP ,需要开 VLAN Filter ,需要做策略路由,需要跑防火墙,不开 fast track (我的场景开了会有 bug )需要拉大概 30 条左右规则。

    最后,考虑这两台机器:

    • RB5009 ,有交换芯片,一定程度上应该能 offloading 掉一部分 VLAN Fiter ,CPU 性能应该也够用,可靠性也可以。
    • x86 的工控,纯软跑,便宜,工控的可靠性应该也不错,而且还便宜。

    我的顾虑:

    1. x86 的 ROSv7 ,现在支持 I226 这类 2.5G 的网卡了吗?稳定吗?
    2. 不考虑功耗,只考虑上边需求,x86 会比 RB5009 的性能更强吗?(这些需求基本都是要拿 CPU 跑的,交换芯片除了 VLAN Filter 可能能帮上一点忙,其他都没用)
    3. 如果选 x86 ,买 tb 的 ROSv7 克隆盘,会有什么 bug 吗?
    4. 大概什么样的 x86 CPU ,靠纯软处理能打平 RB5009 的 64B 小包路由 761Kpps 的性能?

    多谢各路大佬~

    20 条回复    2024-04-28 11:59:34 +08:00
    jmxct520
        1
    jmxct520  
       2024-04-24 17:35:33 +08:00
    5009 可能 cpu 有点吃紧,淘一个 1036 吧
    yyzh
        2
    yyzh  
       2024-04-24 18:20:19 +08:00 via Android
    之前跑路了的某 iplc 老板曾经说过 ros 官方硬路由也没能搞定 qos 和策略路由怎么 offload 的问题,所以他又换回去 x86 力大砖飞了
    HarrisIce
        3
    HarrisIce  
    OP
       2024-04-24 19:57:08 +08:00 via iPhone
    @yyzh 他这个应该用 dpdk+vpp 做,pbr 这个确实不好 offloading 。不过我今天看到 architechs 的一个 presentation ,x86 的 8 核 RouterOS CHR 也就跑到了 900 多 kpps ,CCR 硬件可以直接 3Mpps ,差远了
    HarrisIce
        4
    HarrisIce  
    OP
       2024-04-24 19:57:16 +08:00 via iPhone
    @jmxct520 贵啊
    Ipsum
        5
    Ipsum  
       2024-04-24 22:25:30 +08:00
    我觉得可以先 pve 个开心版,玩熟了再买硬件。5009 的 cpu 确实很弱,开了 nat1 量稍微大点就 100%
    dann73580
        6
    dann73580  
       2024-04-24 22:36:00 +08:00
    Chr 配企业级网卡应该比较好吧?新版 2.5g 网卡支持了,但高负载不好说稳定性的。
    Dzsss
        7
    Dzsss  
    &nbp;  2024-04-25 09:09:07 +08:00
    有 5009*2 1036 1009 2011 等机器在线。

    fast track 的 bug 问题,目前遇到的就是静态路由不生效和 bridge 的 fast path 开启卡顿这俩问题,前者是直接在 mangle 里面 accept 。后者是关掉。

    鉴于 5009 的 ram 和 hdd 跑了几个 docker + 防火墙策略 70-80 条 + OSPF + vrrp * 3 + 2.5 pon stick + FullCone-Nat + ipv6 wireguard + L2TP server 。双运营商三个公网 IP 叠加。目前 CPU 内存占用在正常范围内。

    楼主这个情况应该是属于清楚自己需求的了,所以建议是买 CCR2116 之类的。和散热器选购一样,这个投入不是一次性的,因为 Mikrotik 的硬件本身比较保值。
    kenneth104
        8
    kenneth104  
       2024-04-25 09:39:51 +08:00
    0 ,需要跑 BGP 需要关注多大的,之前遇到过从 AS4809 全收,Ros 官方硬件很慢,要 10 分钟,用思科 10 秒就初步好了
    kenneth104
        9
    kenneth104  
       2024-04-25 09:53:06 +08:00
    1 ,不清楚呢
    2 ,x86 很容易超越 5009
    3 ,我这都是买 key ,价格还好啊
    4 ,不考虑功耗,几十块的洋垃圾 E5 v3

    手里的 ROS 全部用于 QOS ,没有用来跑 BGP 了,因为早期对 ROS 的 BGP 性能印象很差,但后面觉得做 QOS 挺好用,又研究了一下

    大概有 10 台 CHR ,1 台 1009 ,1 台 1036
    FlintyLemming
        10
    FlintyLemming  
       2024-04-25 13:57:20 +08:00
    如果物理机记得买个带 mSATA 的,mSATA 授权克隆盘便宜
    HarrisIce
        11
    HarrisIce  
    OP
       2024-04-25 20:55:42 +08:00
    @Dzsss 我不开 fast track 是因为,做 pbr 之后并且还要再迂回(在 pbr 网关做了一次 masquerade 的)到同一台 ROS v7 机器后,pbr 会有问题(忘了之前测的是不通还是失效了),但是 ROS v6 的没有这个问题,无非是 rp_filter 改到 loose 就行。不过多谢大佬,原来这玩意坑还有这么多,后边我也避免这样用。

    这玩意保值是保值,但是下架的机器有人收吗(笑哭

    另外想问问大佬,你这 5009 跑这么多东西,规则全开的情况下,单流极限(也就是不 offloading ,靠 CPU 软转单核)能有多少来的?
    HarrisIce
        12
    HarrisIce  
    OP
       2024-04-25 20:57:00 +08:00
    @dann73580 是,我看到有人说 ROS 的 i226 拉不满,但是 Linux 发行版系统就可以,可能还是有一些问题。
    HarrisIce
        13
    HarrisIce  
    OP
       2024-04-25 20:57:26 +08:00
    @Ipsum 大概跑到多少速度来的?以及有 pps 参考不
    HarrisIce
        14
    HarrisIce  
    OP
       2024-04-25 21:02:45 +08:00
    @kenneth104 我这里 BGP 条目很少,也就几百条,ROS 的 BGP 我之前参加 MUM 的时候有人说了,就是前缀多的时候接起来特别慢。

    x86 确实容易超过 5009 ,我找了 fd.io VPP 的 performance tuning ,发现 x520 的网卡+1 个 cpu 核心,三层转发就可以到 10Mpps 以上,四层 abr 也能有 6Mpps 多,确实直接秒 5009 。手边正好有几台空的机架服务器和几张 mellanox 、intel 的网卡,在考虑要不要自己做网关了。
    HarrisIce
        15
    HarrisIce  
    OP
       2024-04-25 21:03:42 +08:00
    @FlintyLemming 了解,多谢大佬
    HarrisIce
        16
    HarrisIce  
    OP
       2024-04-25 21:07:57 +08:00
    以及这里补充一下,手边正好有一台 i226 网卡的工控,装完 CHR v7 版本的,开机直接内核 fault ,console 只打出来了最后十几行,看不到前边的 stack trace 信息,暂时也不知道是哪里的问题,看起来 x86 装 ROS 这条路确实不太好走,兼容性和稳定性不太好确定。
    Ipsum
        17
    Ipsum  
       2024-04-26 10:22:28 +08:00
    @HarrisIce 不开 nat1 ,大概 15 万 pps ,开了大概就 3 万左右。
    Dzsss
        18
    Dzsss  
       2024-04-26 19:41:37 +08:00
    @HarrisIce 不是大佬,目前场景正常用也达不到极限,应该也不高吧。

    主要是适合场景就行,性能参数上的东西看看就好。官方硬件不需要考虑兼容性问题,硬盘读写问题、电源问题、散热问题,接口支持这些也更全,故障迁移新机器也得考虑。不恰当的比喻:玩黑苹果的大部分最终都转了白苹果。

    当然,作为学习实验的话,折腾折腾也是极好的。
    HarrisIce
        19
    HarrisIce  
    OP
       2024-04-27 00:35:38 +08:00
    @Dzsss 主要是没有相似场景参考单流实际转发速度能到多少,想保底选 VPP 的方案,但是 DPDK 测 Mellanox CX5 网卡的时候一直有问题,不想折腾了。想问问大佬,你那个配置,RB5009 单流(就是单核处理,不是多流同时的总和速度)能到 1Gbps 吗?能到我就冲了,不纠结了
    HarrisIce
        20
    HarrisIce  
    OP
       2024-04-28 11:59:34 +08:00
    结合我另外一篇帖子中一个大佬的回复,测网卡的问题已经解决,在这里把数据共享给大家做参考。

    **测试环境**

    一台机器,同时装了 Intel X520-DA2 ( 10G 双口)、Mellanox MCX512A ( 25G 双口)两张网卡,32G 内存( 8G hugepage )。设置了 Linux 启动时禁止调度到 2-7 号核心,2-7 专门留给 VPP 、Pktgen 用(并且 worker 核心不重叠),保证测试数据准确。

    CPU 如下。

    ```
    Intel(R) Core(TM) i3-10105 CPU @ 3.70GHz
    analyzing CPU 6:(所有核心统一设置)
    driver: intel_pstate
    CPUs which run at the same hardware frequency: 6
    CPUs which need to have their frequency coordinated by software: 6
    maximum transition latency: 4294.55 ms.
    hardware limits: 800 MHz - 4.40 GHz
    available cpufreq governors: performance, powersave
    current policy: frequency should be within 3.20 GHz and 4.40 GHz.
    The governor "performance" may decide which speed to use
    within this range.
    current CPU frequency is 4.20 GHz.

    # lscpu -e
    CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
    0 0 0 0 0:0:0:0 yes 4400.0000 800.0000 4199.541
    1 0 0 1 1:1:1:0 yes 4400.0000 800.0000 3700.000
    2 0 0 2 2:2:2:0 yes 4400.0000 800.0000 3700.000
    3 0 0 3 3:3:3:0 yes 4400.0000 800.0000 4199.999
    4 0 0 0 0:0:0:0 yes 4400.0000 800.0000 4200.001
    5 0 0 1 1:1:1:0 yes 4400.0000 800.0000 4200.000
    6 0 0 2 2:2:2:0 yes 4400.0000 800.0000 4199.999
    7 0 0 3 3:3:3:0 yes 4400.0000 800.0000 4200.000
    ```

    系统和测试平台如下。

    ```
    Operating System: Ubuntu 22.04.4 LTS
    Kernel: Linux 5.15.0-105-generic
    Architecture: x86-64
    Hardware Vendor: HP
    Hardware Model: HP EliteDesk 880 G6 Tower PC
    ```

    **打流路径**

    Pktgen 打流 -> Mellanox 1 号口 -> Intel 1 号口 -> VPP 用户态转发 -> Intel 2 号口 -> Mellanox 2 号口 -> Pktgen 接收统计

    **测试数据**

    pktgen 测试数据如下

    ```
    \ Ports 0-1 of 2 <Main Page> Copyright(c) <2010-2023>, Intel Corporation
    Port:Flags : 0:P------ Single 1:P------ Single
    Link State : <UP-10000-FD> <UP-10000-FD> ---Total Rate---
    Pkts/s Rx : 0 9,091,196 9,091,196
    Tx : 14,911,104 0 14,911,104
    MBits/s Rx/Tx : 0/9,543 5,818/0 5,818/9,543
    Pkts/s Rx Max : 0 9,408,878 9,408,878
    Tx Max : 15,058,304 0 15,058,304
    Broadcast : 0 0
    Multicast : 0 0
    Sizes 64 : 0 575,707,178,176
    65-127 : 0 0
    128-255 : 0 0
    256-511 : 0 0
    512-1023 : 0 0
    1024-1518 : 0 0
    Runts/Jumbos : 0/0 0/0
    ARP/ICMP Pkts : 0/0 0/0
    Errors Rx/Tx : 0/0 0/0
    Total Rx Pkts : 0 8,993,964,327
    Tx Pkts : 14,541,116,160 0
    Rx/Tx MBs : 0/9,306,314 5,756,137/0
    TCP Flags : .A.... .A....
    TCP Seq/Ack : 74616/74640 74616/74640
    Pattern Type : abcd... abcd...
    Tx Count/% Rate : Forever /100% Forever /100%
    Pkt Size/Rx:Tx Burst: 64 / 64: 64 64 / 64: 64
    TTL/Port Src/Dest : 64/ 1234/ 5678 64/ 1234/ 5678
    Pkt Type:VLAN ID : IPv4 / UDP:0001 IPv4 / TCP:0001
    802.1p CoS/DSCP/IPP : 0/ 0/ 0 0/ 0/ 0
    VxLAN Flg/Grp/vid : 0000/ 0/ 0 0000/ 0/ 0
    IP Destination : 1.1.1.1 192.168.0.1
    Source : 192.168.1.2/24 192.168.2.2/24
    MAC Destination : 94:94:26:00:00:01 ab:cd:ef:aa:bb:52
    Source : ab:cd:ef:aa:bb:52 ab:cd:ef:aa:bb:53
    NUMA/Vend:ID/PCI :-1/15b3:1017/0000:01:0-1/15b3:1017/0000:01:00.1
    -- Pktgen 24.03.1 (DPDK 24.03.0) Powered by DPDK (pid:1690) -----------------
    ```

    VPP 性能数据如下

    ```
    Thread 1 vpp_wk_0 (lcore 3)
    Time 4312.5, 10 sec internal node vector rate 0.00 loops/sec 6899106.25
    vector rates in 8.2346e3, out 0.0000e0, drop 8.2346e3, punt 0.0000e0
    Name State Calls Vectors Suspends Clocks Vectors/Call
    abf-input-ip4 active 138720 35511313 0 1.24e2 255.99
    dpdk-input polling 30192345449 35511318 0 2.86e5 0.00
    drop active 138725 35511318 0 1.52e1 255.98
    error-drop active 138725 35511318 0 6.71e0 255.98
    ethernet-input active 138725 35511318 0 3.62e1 255.98
    ip4-drop active 138720 35511313 0 6.85e0 255.99
    ip4-input-no-checksum active 138720 35511313 0 4.15e1 255.99
    ip4-lookup active 138720 35511313 0 3.07e1 255.99
    ip6-input active 5 5 0 5.31e3 1.00
    ip6-not-enabled active 5 5 0 1.99e3 1.00
    unix-epoll-input polling 29455958 0 0 1.77e3 0.00
    ---------------
    Thread 2 vpp_wk_1 (lcore 4)
    Time 4312.5, 10 sec internal node vector rate 256.00 loops/sec 45554.75
    vector rates in 9.6155e6, out 6.5761e6, drop 3.8843e5, punt 0.0000e0
    Name State Calls Vectors Suspends Clocks Vectors/Call
    TenGigabitEthernet3/0/1-output active 155558090 39791416116 0 4.95e0 255.79
    TenGigabitEthernet3/0/1-tx active 155558090 28359013714 0 8.19e1 182.30
    abf-input-ip4 active 176833510 41466399484 0 8.90e1 234.49
    dpdk-input polling 13167973917 41466399488 0 9.99e1 3.15
    drop active 21398772 1675106720 0 1.15e1 78.28
    error-drop active 21398772 1675106720 0 7.87e0 78.28
    ethernet-input active 176833513 41466399488 0 3.49e1 234.49
    ip4-arp active 3708505 949377021 0 2.51e2 255.99
    ip4-drop active 21398768 1675106716 0 5.87e0 78.28
    ip4-input-no-checksum active 176833510 41466399484 0 2.48e1 234.49
    ip4-load-balance active 159143247 40740669789 0 1.19e1 255.99
    ip4-rewrite active 155434742 39791292768 0 2.10e1 255.99
    ip6-input active 4 4 0 7.03e3 1.00
    ip6-not-enabled active 4 4 0 1.95e3 1.00
    unix-epoll-input polling 12846814 0 0 9.99e2 0.00
    ```

    **测试内容**

    没有拿上边的场景去做同等配置,只是做了几个简单配置了解一下转发率。
    VPP 使用 DPDK 输入,配置了 6 条路由,3 条 ACL 规则,1 条 ABF (等同于 PBR 规则),此时发送打满了 10G 的线速,接收到了接近 6G 的速度,注意这是 64 字节的小包,大包没有太多参考意义。

    **对比**

    对比 CCR2004-16G-2S+的 8260.6kpps 转发率( routing fast path )(即 8.2Mpps )(数据来自官方),VPP 做到了 9Mpps 的转发率,这还是纯软件处理、只靠 2 个 CPU 核心、受到 hyperthreading 没关影响的数据,完全调整后应该还能再高一些(懒得弄了)。这台机器我手边随便拿的,正常买的话应该 1000 多块钱,加上全新的 X520-DA2 在 300 多块钱,你可以拥有比 CCR2004 更高的性能(仅限 L3 )。

    **结论**

    人生苦短,钱包不够,我选 RB5009 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2784 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 14:46 PVG 22:46 LAX 07:46 JFK 10:46
    Do have faith in what you're doing.
    ubao 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