V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lx01xsz
V2EX  ›  问与答

Intel E1000E 网卡高负载断流

  •  
  •   lx01xsz · 2 天前 · 969 次点击

    设备是 NUC8beki5 ,装了 PVE 。网卡在网络 IO 高负载时会发生问题,syslog 如下。

    现象 1: NUC 网络连接中断,等待几十秒-几分钟后恢复

    现象 2: 协商速率由 1000MB/s 变为 100MB/s ,手动设置为 1000MB/s 后恢复 (网卡和路由器都支持千兆)

    Jan 27 23:35:35 pve kernel: e1000e 0000:00:1f.6 eno1: NIC Link is Down
    Jan 27 23:35:35 pve kernel: vmbr0: port 1(eno1) entered disabled state
    Jan 27 23:35:42 pve kernel:  connection1:0: ping timeout of 5 secs expired, recv timeout 5, last rx 10254116869, last ping 10254121984, now 10254127104
    Jan 27 23:35:42 pve kernel:  connection1:0: detected conn error (1022)
    Jan 27 23:35:48 pve pvestatd[1233]: status update time (19.582 seconds)
    Jan 27 23:36:12 pve kernel: e1000e 0000:00:1f.6 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
    Jan 27 23:36:12 pve kernel: vmbr0: port 1(eno1) entered blocking state
    Jan 27 23:36:12 pve kernel: vmbr0: port 1(eno1) entered forwarding state
    Jan 27 23:36:14 pve iscsid[3627392]: connection1:0 is operational after recovery (3 attempts)
    Jan 27 23:36:37 pve pvestatd[1233]: status update time (19.299 seconds)
    Jan 27 23:36:38 pve kernel: sd 4:0:0:0: Power-on or device reset occurred
    

    驱动版本信息:

    root@pve:~# ethtool -i eno1 
    driver: e1000e
    version: 6.8.12-4-pve
    firmware-version: 0.4-4
    expansion-rom-version: 
    bus-info: 0000:00:1f.6
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: yes
    

    已经尝试更换网线并按照下面两个帖子的建议关闭了 tso

    https://forum.proxmox.com/threads/e1000e-network-issue-on-proxmox.139141/

    https://forum.proxmox.com/threads/e1000-driver-hang.58284/page-8#post-390709

    但在持续高负载时还会出现上述问题,这个问题是在用 Rsync 恢复备份的时候发现的,尝试用 --bwlimit 限制 Rsync 到 50M, 40M, 30M 。

    但均无法解决问题,难道只有硬改网卡了吗?

    7 条回复    2025-01-28 04:36:30 +08:00
    Kinnice
        1
    Kinnice  
       2 天前 via Android
    换个驱动
    mengyx
        2
    mengyx  
       2 天前
    没有特殊情况的话,用 VirtIO 性能最好
    LaoLeyuan
        3
    LaoLeyuan  
       2 天前
    @mengyx 楼主说的是硬件的问题吧,不是虚拟机上的。
    lx01xsz
        4
    lx01xsz  
    OP
       2 天前
    @mengyx
    @LaoLeyuan
    是的,是宿主机上的,虚拟机用的都是 VirtIO
    lx01xsz
        5
    lx01xsz  
    OP
       2 天前
    @Kinnice 现在的驱动是和 PVE 内核绑定的,手动编译 Intel 官方驱动的话,和 PVE 的兼容会不会有问题?
    Kinnice
        6
    Kinnice  
       2 天前 via Android
    @lx01xsz pve 是基于 debian 的,兼容性很好的
    ysc3839
        7
    ysc3839  
       1 天前 via Android
    千兆掉到百兆可能是信号完整性问题,建议换根网线试试。
    不然也有可能是网卡过热,但印象中 Intel 网卡过热不会调速,可以用排除法试试。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   703 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:59 · PVG 03:59 · LAX 11:59 · JFK 14:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.