关于 N5105/N6005+i225/i226 系列软路由搭配 OpenWrt 在高连接数条件下崩溃/软重启的问题和解决思路汇总

2022-09-12 02:30:31 +08:00
 wangyuyang3

一、本人设备:

  某品牌 N6005+四网口 i226-v ( 2.5Gbps )软路由(第四版),作主路由。
  家宽速率:下行 1000M ,上行 230M ;内网速率:软路由网卡接口均自动协商至 1Gbps ,因为交换机和主要客户端设备均未升级 2.5G 网卡)

二、实际可能的问题设备和环境:

  N5095/N5105/N6005 可能都有问题,i225 或 i226 各版本也可能都有问题,产品版本可能横跨厂商定义的第 1 版-第 4 版。
  软路由系统不一定限于 OpenWrt ,爱快可能也有问题。pfsense 等 FreeBSD 版本系统是否有问题也不清楚。
主路由必然有问题,旁路由和单臂路由是否有问题不清楚。
  但本文讨论对象以笔者以及大部分网上相关帖子贴主使用的OpenWrt 主路由使用环境为主。

三、问题描述 /触发条件:

  在** [物理机直装 /ESXi/PVE ] 条件下使用 [不同内核 /不同版本的定制 /自编译固件] 时,使用其他设备连接至 op 网关,挂 qbittorrent 跑 PT (包括任何跑满带宽的多线程下载 /上传行为),①高负载状态下,OpenWrt 主路由系统必定在15 分钟-48 小时内,发生②“软重启”或③“使用特定固件在 PVE 环境中报错崩溃”。** 触发错误所需要的时间,实测 PVE 条件下最快只需 15 分钟,ESXi 通常发生在 24 小时-48 小时。

  (①所谓高负载,是指:下载速度通常跑在 60MB/s 以上,极限在 110MB/s 左右,上传速度可以跑至 28MB/s 左右,上下行可以同时跑满带宽,活动连接数从 4000-17000 不等;实际触发问题所需要的速率和连接数可能不需要如此极限,但如果使用者操作强度太低,有很大概率没有能力触发 bug 。很多人可能误以为“没有能力触发问题=没问题”,导致网上出现大量无效的解决方案,使得深陷泥潭的求助者误入歧途,浪费很多时间精力。)

  (②所谓“软重启”,是指:在物理机直装或 PVE/ESXi 虚拟化环境下,即便实现在 op 开启系统日志自动转储,崩溃发生时也不会有任何异常日志记录,而是直接显示自动重新执行系统引导的过程日志; 而在 ESXi 或 pve 虚拟化环境中,软路由自动重启的同时,ESXi/pve 宿主机控制面板本身不会检测到 op 虚拟机发生的任何错误或重新引导状态,虚拟化宿主机操作系统安然无恙,且控制面板内记载的 op 虚拟机运行时间压根不会归零重新计算,日志亦无明显异常。)

  (③所谓“在 PVE 环境中报错崩溃”,是指:使用特定固件时,重复上述触发条件,op 虚拟机控制面板直接失灵,pve 系统日志报 KVM internal error ,此时只能通过 shell 命令行 kill 虚拟机子进程或重启 pve 才能重新控制 op 虚拟机。)

四、描述了类似问题的相关帖子,供参考:

1 、《 N5105 软路由环境下,电脑使用 IDM 同时下载超过 100 个文件,会随机触发软路由重启》
https://www.v2ex.com/t/860850

2 、《 N6005 主机反复不定时自动重启》
https://github.com/coolsnowwolf/lede/issues/8781

3 、《[openwrt(x86)] [已解决] 虚拟机软路由,迅雷下载流量一大 OpenWRT 就自动重启》
https://www.right.com.cn/forum/thread-8236555-1-1.html
(这个贴主的 OpenWrt 并非主路由,而是旁路由,他的解决方案颇有些掩耳盗铃:将负责多线程下载的群晖操作系统直连主路由,避免流量经过会出问题的 op 旁路由设备。这个案例没有借鉴价值。)

4 、《[虚拟机相关] 发现 5.15 的 Openwrt 内核在 PVE 上必然软重启》
https://www.right.com.cn/forum/thread-8240769-1-1.html

5 、《[虚拟机相关] N5105 第四版 PVE+爱快 不定时重启问题》
https://www.right.com.cn/forum/thread-8250514-1-1.html

6 、《[虚拟机相关] pve 安装的 openwrt,经常自己重启什么原因?》
https://www.right.com.cn/forum/thread-8236555-1-1.html

五、结合上述帖子进行的无效尝试:

1 、清热去火:放弃解锁功耗墙版 BIOS ,回滚至旧版 BIOS ,锁 CPU 频率维持在 0.8Ghz ,双暴力风扇散热。PVE 控制面板显示温度长期低于 55°C ,最低可低至三十多度;

2 、柳暗花明又一村:替换 /尝试不同 linux 内核及 op 版本的固件;

3 、奥卡姆剃刀:编译时去除 Turbo ACC 插件,调整任何与软件加速 /流量分载相关的功能,禁止启用除基本网络功能外的所有插件和可能引发稳定性问题的功能(包括 IPv6 );

4 、瞎猫撞死耗子:更换 PVE 内核 /ESXi 版本,调整各种与硬件相关的设置碰运气(可参考以上帖子提及的任何关于虚拟机配置的修改选项);
包括某博客文章《解决 PVE 下虚拟机自动重启 / Kernel Panic 》(链接: https://blog.mbrjun.cn/archives/412 )提及的 PVE 配置方案。

六、有趣的发现:

1 、多因一果:
  **在 PVE 环境下,即便不做高连接数,不开任何多线程下载,单纯压测 CPU ,人为提高 CPU 温度至 75°C-83°C 之间维持不变,大约经过 30 分钟仍然会出现软重启(此时虚拟化宿主机操作系统依旧不会崩溃)。
  大概可以断定:温控不到位可能会导致表面上一模一样的软重启问题,应该和网卡温度高于 70°C 操作温度有关。但高温触发条件和上述多线程下载的触发条件并无紧密关联(基于 CPU 降频条件下多线程下载的“极寒试验”),可能分别为独立的诱因。

2 、就“ESXi 可否解决问题”而提出的截然矛盾的答案:
  ESXi 比 PVE 有明显更为出色的稳定性,但绝对无法避免软重启问题;部分帖子中少数网友提到 ESXi 不再出现软重启问题,与本人实际情况截然不同,至少有以下 4 种可能:
( 1 )硬件设备压根不相关,误以为自己用的同系列 CPU 或网卡;
( 2 )由于 ESXi 软重启频率相比 PVE 显得过低,误以为情况改善=问题解决,放松警惕;
( 3 )根据不同使用条件,软重启可能引发的连锁反应严重程度大不相同。感知不到软重启余波的群体大概率没遇到以下情况:
  a. 在特定 bug 固件中,软重启有概率导致 Passwall 或 openclash 插件崩溃,导致断连外网访问,不会自动恢复;
  b. 对拨号获取的公网 IP 地址网段高度敏感:这就是为啥我一开始用 ESXi 就敏锐地发觉了问题,因为我 tm 开了电信精品网,好不容易播到的 58.32 网段,一软重启直接梦回 163 网段,就得不停人工或依赖 shell 脚本重播。播频繁了还会触发短期风控(禁止拨号,提示认证失败),气死。
( 4 )压根不搞高负载 /多线程下载的使用行为;或即便搞多线程,但由于购买的宽带套餐速率不高,或运营商有连接数限制,导致其能力范围内的极端“高负载”远不及千兆带宽用户以及 PT 玩家的极端使用习惯,因此没有能力触发上述问题。

3 、议题混淆
  本文及上述帖子提到的软重启或 PVE 虚拟机崩溃,与此前 i225 系列网卡出现的断流情况无关,后者可以在 op 系统日志中轻易探查到接口 down & up 的情况,而前者则显得尤其诡异,难以判断问题根源;很多讨论往往混淆了这两个相互独立的问题。

七、目前行之有效的妥协方案(已实测):

  改用 Windows Server 搭配 Hyper-v 网卡直通给 op ,直通前对网卡配置做调整(教程提供的调整方法意义不明,是否存在性能影响暂无感知)

  《[openwrt(x86)] 疑似可解决 N5105 、i225v 网关虚拟机软重启的问题》
  https://www.right.com.cn/forum/thread-8248900-1-1.html

  《 [ N5105 软路由(后传)] Hyper-V 网卡直通完整版 进阶教程新手小白勿入 i 》 8 分 35 秒起
  https://www.bilibili.com/video/BV1TS4y1873Q

  《[虚拟机相关] [ 7.30 更新] WinServer_2022@R86S&CW-N5105_Hyper-V 集成 i225 网卡驱动及网卡直通》
  https://www.right.com.cn/forum/thread-8223928-1-1.html

八、可能有效的备用方案(未实测)

  继续使用 PVE ,但换用 LXC 容器

  《[openwrt(x86)] PVE-LXC 搭建 Openwrt (同时解决 5105 重启)》
  https://www.right.com.cn/forum/thread-8252802-1-1.html

九、启示和疑问:

  软路由小厂商技术实力和产品可靠性实在堪忧,他们估计压根不知道自己卖的 N5105/N6005+i225/i226 产品出现的软重启问题,且很大可能具有普遍性、固有性,而和设备温度 /物理机直装或虚拟化方案的选择 /op 固件版本几乎没有紧密联系。
  或者换个角度说,目前搭载该系列赛扬 CPU 和同系列及衍生的 2.5Gbps 网卡产品的设备仍然需要谨慎入手,intel 自己产品存在问题,或目前虚拟化操作系统兼容性不足。特定群体,尤其是 PT 玩家和日常高负载玩家,并且极度厌恶上述提及的解决方案的(例如不喜欢 hyper-v 虚拟化方案或 pve-LXC 容器),请三思而后行。
  从原理并不明朗的解决方案看,怀疑软重启问题很可能和硬件、驱动或 BIOS 有关。
  发此贴,单纯是为了将该问题做一个阶段性归纳总结,以便为后续讨论和解决问题提供参考。

  关于 Windows 环境下网卡高级选项卡属性的配置(主要为禁用几种功能或技术特征?),想咨询各位大佬前述帖子修改的选项所对应的含义,解读为啥禁用这些选项能解决软重启问题,进而倒推分析出软重启的问题根源。同时兼分析禁用下述选项是否对性能或稳定性产生负面影响。
  禁用的功能包括:

  1 、IPv4 校验和卸载
  2 、TCP 校验和卸载( IPv4 )
  3 、TCP 校验和卸载( IPv6 )
  4 、UDP 校验和卸载( IPv4 )
  5 、UDP 校验和卸载( IPv6 )
  6 、大量发送卸载 V2 ( IPv4 )
  7 、大量发送卸载 V2 ( IPv6 )
  8 、流控制(笔者注:i226 网卡对应的时“流量控制)
  9 、中断裁决(笔者注:实测不禁用它也不妨碍问题解决)

16517 次点击
所在节点    OpenWrt
97 条回复
HFX3389
2022-09-12 14:37:53 +08:00
怪不得现在 J4125 的价格还是降不下来,原因是这个....
hellskof
2022-09-13 16:48:39 +08:00
所以为什么不直接买 J4125 版本
ZYMah
2022-09-19 14:32:36 +08:00
LXC 容器安装 OpenWRT 暂时稳定: https://zhaiyiming.com/archives/openwrt-lxc-on-r86s.html
yamabu
2022-09-20 10:15:48 +08:00
你如果有办法抓到崩溃时的内核日志,譬如硬件串口,可以很清楚的看到发生了什么。直接说结论,可以使用 5.19 以上内核,openwrt 如果没有这么高的内核版本,可以放在 5.19 内核宿主机的虚拟机里。
DhhhhhhL
2022-09-20 14:41:51 +08:00
老哥这个行文逻辑真不错
465456
2022-09-21 18:43:19 +08:00
大佬写的小作文厉害,千兆网卡用官方 op 稳如狗
FabricPath
2022-09-30 15:55:08 +08:00
这个 CPU ,即使裸机跑 debian ,也会经常性报 traps 、乱七八糟的内存访问异常。
楼主检查一下 dmesg 看看有没有类似的错误。
我现在就只剩内存一个怀疑点了,其他都换过了,如果大家的 dmesg 里面都有乱七八糟的内存访问异常,那就锁定 CPU 的问题了。
ungrown
2022-10-01 11:53:24 +08:00
楼主的小标题太逗了,我只看小标题就好开心
MeDeath
2022-10-06 15:28:54 +08:00
我之前用 4125 225VB3 和 4105 螃蟹 8111 用的 EISR 的 OP 5.10 和 5.15 和 SIRPD 的 5.15 PC 下 BT 和迅雷这些,1W+连接数就开始断流,(此时迅雷队列 50 个,BC 队列 100 多个 下行跑在 120MB/S 上行 10MB/S 左右)最后试了下 esir 的 op5.4 内核又没啥问题,但是端口回流有问题,最后还是看群友推荐上了爱快,问题都解决了
ZYMah
2022-10-08 18:26:51 +08:00
已持续运行 21 天,当然由于使用的 LXC 容器,OpenWRT 的内核已经完全不起作用了,Turbo ACC 无法启用,但是不影响使用。https://zhaiyiming.com/archives/openwrt-lxc-on-r86s.html
blues9
2022-10-10 13:14:04 +08:00
赞严谨。所以目前最稳的还是 j4125 ?
Melodyer
2022-10-13 11:21:02 +08:00
@ZYMah 大佬,问一下,LXC 下的 OpenWrt 软重启(指直接在 OpenWrt 系统内 reboot 重启)后能正常 PPPoe 拨号吗?我的不行,必须得在 pve 控制面板下重启 OpenWrt 实例才行。
Motionall
2022-10-14 09:02:13 +08:00
所以说这些小厂的硬件还是不稳定。自用的华硕 PN41 ,一个 5105 ,一个 6005 ,Hyper 正常配置很稳定

gujiangjiang
2022-10-14 10:40:08 +08:00
刚才差点就买了,还好刷到这篇文章,给力
yry0008
2022-10-17 17:49:00 +08:00
feirisu
2022-10-19 15:04:08 +08:00
我畅网的 N5105 第五版,单装 op 用 esir 的精品小包已经跑了俩月没问题了。
lexin132
2022-10-19 17:16:48 +08:00
这两天想搞一台,然后就看到 i225 翻车了,后来看人说 i225b3 也翻车了,现在 i226 也翻车了,黄鱼里 j4125+i210 比现在的新款都贵,我还有什么选择。。
yujincheng08
2022-10-23 00:19:03 +08:00
在 PVE 论坛有个讨论:
https://forum.proxmox.com/threads/vm-freezes-irregularly.111494/

似乎 5.19 有改善。
yujincheng08
2022-10-23 00:20:10 +08:00
@yry0008 我更新试过一段时间,似乎有改善。但是也有人报告 5.19 会死。
FabricPath
2022-10-26 13:08:01 +08:00
@yujincheng08
可以试试 6.0 ,我跑了一周多了,稳定,网心云也稳定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/879368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX