V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linyuhang24
V2EX  ›  宽带症候群

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

  •  
  •   linyuhang24 · 2021-08-15 23:27:15 +08:00 · 4495 次点击
    这是一个创建于 956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 网卡正常工作?
    谢谢!
    16 条回复    2024-02-10 17:35:21 +08:00
    feather12315
        1
    feather12315  
       2021-08-15 23:39:44 +08:00 via Android
    一个提议:
    用 vhost-user 试试改善 virtio 的延迟,参考:
    https://www.redhat.com/en/blog/virtio-devices-and-drivers-overview-headjack-and-phone
    jim9606
        2
    jim9606  
       2021-08-15 23:49:17 +08:00
    好像 USB 重定向无论兼容性还是性能都是很不好看的,如果要直通,通常建议整个 USB xHCI 控制器通进去而不是单通一个 USB 设备,或者就直接用 macvlan 软网卡求稳。

    另外 M93P 好像是 4 代 intel,建议去 bios 设置设置 xhci mode 为 enabled,减少 ehci/xhci 切换导致的混乱。
    kokutou
        3
    kokutou  
       2021-08-16 08:13:44 +08:00 via Android
    直通一个 pcie 转 usb 卡,然后卡上面插 usb 网卡。。
    linyuhang24
        4
    linyuhang24  
    OP
       2021-08-16 09:05:16 +08:00
    @feather12315 这个 vhost-user 看起来不错啊,只是不知道在 PVE 里面该如何部署?
    linyuhang24
        5
    linyuhang24  
    OP
       2021-08-16 09:05:36 +08:00
    @jim9606 我回去看看 bios 设置有没有问题
    linyuhang24
        6
    linyuhang24  
    OP
       2021-08-16 09:06:44 +08:00
    @kokutou 最后末端的 USB 网卡还是没办法直通使用哦……
    onion83
        7
    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
        8
    sidkang  
       2021-08-16 10:55:20 +08:00 via iPhone
    同样用法,刚刚跑废了一个绿联的 2.5G usb 网卡
    linyuhang24
        9
    linyuhang24  
    OP
       2021-08-16 14:30:28 +08:00
    @onion83 左一同款:)
    linyuhang24
        10
    linyuhang24  
    OP
       2021-08-16 14:44:15 +08:00
    @onion83 才意识到有 OVS 桥接模式,我用的都是 linux bridge……感谢大佬回复,我再研究研究
    linyuhang24
        11
    linyuhang24  
    OP
       2021-08-17 20:15:14 +08:00
    ovs bridge 没发现差别,还是延时高……不知道啥情况。
    linyuhang24
        12
    linyuhang24  
    OP
       2021-08-18 17:42:09 +08:00
    各种排查后,我觉得还是 PVE 下的驱动问题。驱动安装提示报错。
    linyuhang24
        13
    linyuhang24  
    OP
       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
        14
    loxlblade  
       323 天前 via Android
    @onion83 目前一台二代笔记本,加了一个 usb 8153 网卡。用虚拟机装了 ros ,请问网卡类型 virtio 和你这个 ovs 有什么区别吗?
    onion83
        15
    onion83  
       321 天前
    @loxlblade #14 virtio 是 linux 下的虚拟网卡,ovs/bridge 是 linux 下的虚拟交换机

    它们的关系是:虚拟 /物理网卡,插在虚拟交换机上,组成虚拟网络。
    linyuhang24
        16
    linyuhang24  
    OP
       47 天前
    routeros 新版本支持 2.5G 网卡,问题容易解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5377 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:40 · PVG 16:40 · LAX 01:40 · JFK 04:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.