设备是 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 。
但均无法解决问题,难道只有硬改网卡了吗?
![]() | 1 Kinnice 262 天前 via Android 换个驱动 |
![]() | 2 mengyx 262 天前 没有特殊情况的话,用 VirtIO 性能最好 |
![]() | 7 ysc3839 261 天前 via Android 千兆掉到百兆可能是信号完整性问题,建议换根网线试试。 不然也有可能是网卡过热,但印象中 Intel 网卡过热不会调速,可以用排除法试试。 |