V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
linyuhang24

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

  •  
  •   linyuhang24 · Aug 15, 2021 · 7006 views
    This topic created in 1727 days ago, the information mentioned may be changed or developed.
    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 replies    2024-02-10 17:35:21 +08:00
    feather12315
        1
    feather12315  
       Aug 15, 2021 via Android
    一个提议:
    用 vhost-user 试试改善 virtio 的延迟,参考:
    https://www.redhat.com/en/blog/virtio-devices-and-drivers-overview-headjack-and-phone
    jim9606
        2
    jim9606  
       Aug 15, 2021
    好像 USB 重定向无论兼容性还是性能都是很不好看的,如果要直通,通常建议整个 USB xHCI 控制器通进去而不是单通一个 USB 设备,或者就直接用 macvlan 软网卡求稳。

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





    我的做法是在 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  
       Aug 16, 2021 via iPhone
    同样用法,刚刚跑废了一个绿联的 2.5G usb 网卡
    linyuhang24
        9
    linyuhang24  
    OP
       Aug 16, 2021
    @onion83 左一同款:)
    linyuhang24
        10
    linyuhang24  
    OP
       Aug 16, 2021
    @onion83 才意识到有 OVS 桥接模式,我用的都是 linux bridge……感谢大佬回复,我再研究研究
    linyuhang24
        11
    linyuhang24  
    OP
       Aug 17, 2021
    ovs bridge 没发现差别,还是延时高……不知道啥情况。
    linyuhang24
        12
    linyuhang24  
    OP
       Aug 18, 2021
    各种排查后,我觉得还是 PVE 下的驱动问题。驱动安装提示报错。
    linyuhang24
        13
    linyuhang24  
    OP
       Aug 18, 2021
    报错信息——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  
       May 11, 2023 via Android
    @onion83 目前一台二代笔记本,加了一个 usb 8153 网卡。用虚拟机装了 ros ,请问网卡类型 virtio 和你这个 ovs 有什么区别吗?
    onion83
        15
    onion83  
       May 13, 2023
    @loxlblade #14 virtio 是 linux 下的虚拟网卡,ovs/bridge 是 linux 下的虚拟交换机

    它们的关系是:虚拟 /物理网卡,插在虚拟交换机上,组成虚拟网络。
    linyuhang24
        16
    linyuhang24  
    OP
       Feb 10, 2024
    routeros 新版本支持 2.5G 网卡,问题容易解决
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   971 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 977ms · UTC 19:50 · PVG 03:50 · LAX 12:50 · JFK 15:50
    ♥ Do have faith in what you're doing.