2.5g USB 网卡(RTL8156B)在 PVE 虚拟机下正确的使用方法是什么

2021-08-15 23:27:15 +08:00
 linyuhang24
1.背景:最近在布置家里的 2.5g 网络,核心的 ALLINONE 设备 M93P ( ROS+LEDE+ADGUARDHOME )只有一个 minipcie 接口,用上了 RTL8125B 芯片的扩张网卡,一切正常,额外的网卡选择用 2.5g 的 USB 网卡( RTL8156B )出现 ping 延迟和跑不满速度的问题。
2.问题:买了 2 总不同的都是 RTL8156B 芯片的网卡,在物理机上用着感觉都比较正常,但是在 PVE7.0.11 下通过 VIRTIO 半虚拟化给 ROS ( 7.1beta6 ),ping 的延迟会增加 2-3ms,而且跑不满速度,中间装过驱动,速度有改善,但是延迟还是很大。查了资料,说是 USB 网卡在虚拟机下会有性能损失,最好直通,但是我看了一圈,没有看到有什么办法能让 ROS 直通 2.5G 网卡的办法。
3.求助:2.5g USB 网卡( RTL8156B )在 PVE 下正确的使用方法是什么?如何能让这个 USB 网卡正常工作?
谢谢!
4625 次点击
所在节点    宽带症候群
16 条回复
feather12315
2021-08-15 23:39:44 +08:00
一个提议:
用 vhost-user 试试改善 virtio 的延迟,参考:
https://www.redhat.com/en/blog/virtio-devices-and-drivers-overview-headjack-and-phone
jim9606
2021-08-15 23:49:17 +08:00
好像 USB 重定向无论兼容性还是性能都是很不好看的,如果要直通,通常建议整个 USB xHCI 控制器通进去而不是单通一个 USB 设备,或者就直接用 macvlan 软网卡求稳。

另外 M93P 好像是 4 代 intel,建议去 bios 设置设置 xhci mode 为 enabled,减少 ehci/xhci 切换导致的混乱。
kokutou
2021-08-16 08:13:44 +08:00
直通一个 pcie 转 usb 卡,然后卡上面插 usb 网卡。。
linyuhang24
2021-08-16 09:05:16 +08:00
@feather12315 这个 vhost-user 看起来不错啊,只是不知道在 PVE 里面该如何部署?
linyuhang24
2021-08-16 09:05:36 +08:00
@jim9606 我回去看看 bios 设置有没有问题
linyuhang24
2021-08-16 09:06:44 +08:00
@kokutou 最后末端的 USB 网卡还是没办法直通使用哦……
onion83
2021-08-16 10:27:34 +08:00
很高兴 这点小兴趣和楼主相同





我的做法是在 PVE 主机做桥接而不直通,因为 ROS 的兼容性不好,用 OVS 做桥接性能几乎没损失( i5 以上 CPU ),2.5G 网卡 iperf3 跑满 2.35G/s 是很轻松的。而且因为 pve 本身上游是 debian 驱动非常完善,可以直接玩很多高端设备,你甚至可以将雷电 3 接口双机互联,跑出 13.5Gb/s 的速度:)

关于 r8125 网卡驱动的问题,这里有复制粘帖的方案: https://www.nasge.com/archives/133.html:)
sidkang
2021-08-16 10:55:20 +08:00
同样用法,刚刚跑废了一个绿联的 2.5G usb 网卡
linyuhang24
2021-08-16 14:30:28 +08:00
@onion83 左一同款:)
linyuhang24
2021-08-16 14:44:15 +08:00
@onion83 才意识到有 OVS 桥接模式,我用的都是 linux bridge……感谢大佬回复,我再研究研究
linyuhang24
2021-08-17 20:15:14 +08:00
ovs bridge 没发现差别,还是延时高……不知道啥情况。
linyuhang24
2021-08-18 17:42:09 +08:00
各种排查后,我觉得还是 PVE 下的驱动问题。驱动安装提示报错。
linyuhang24
2021-08-18 17:46:56 +08:00
报错信息——missing 'System.map' file
root@pve:~/r8152-2.15.0# make install
rmmod r8152
make -C /lib/modules/5.11.22-3-pve/build M=/root/r8152-2.15.0 INSTALL_MOD_DIR=kernel/drivers/net/usb modules_install
make[1]: Entering directory '/usr/src/linux-headers-5.11.22-3-pve'
INSTALL /root/r8152-2.15.0/r8152.ko
DEPMOD 5.11.22-3-pve
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-5.11.22-3-pve'
modprobe r8152
但是驱动貌似加载了???
root@pve:~/r8152-2.15.0# lsmod | grep r8152
r8152 237568 0
感觉是驱动没有正确安装导致的使用问题。
loxlblade
353 天前
@onion83 目前一台二代笔记本,加了一个 usb 8153 网卡。用虚拟机装了 ros ,请问网卡类型 virtio 和你这个 ovs 有什么区别吗?
onion83
351 天前
@loxlblade #14 virtio 是 linux 下的虚拟网卡,ovs/bridge 是 linux 下的虚拟交换机

它们的关系是:虚拟 /物理网卡,插在虚拟交换机上,组成虚拟网络。
linyuhang24
78 天前
routeros 新版本支持 2.5G 网卡,问题容易解决

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

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

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

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

© 2021 V2EX