找回密码
 加入我们
搜索
      
查看: 8611|回复: 30

[NAS] 折腾sriov的时候发现个诡异的问题

[复制链接]
发表于 2023-9-15 19:49 | 显示全部楼层 |阅读模式
最近挂网心云发现cpu占用太高想着开着sriov可以降低一点cpu占用

网上找了个教程,却发现开启失败,我很疑惑我的x550明明是支持的啊,是哪步出错了呢

教程都有个修改  /sys/class/net/(网卡设备名称)/device/sriov_numvfs 这个步骤

我复制好改好教程之后重启发现啥都没发生....


然后查看了一下  /sys/class/net/下的目录,发现个诡异的事情

我的网卡设备名不见了 多了十二个不知道啥东西(之前的教程曾经尝试创建过12个不叫这名的虚拟网卡  正确的网卡名字在主机的设备里可以看到)

还能救一救嘛,目前设备运行还是正常,就是三块硬盘频繁启动我怕他出事就暂时没敢再试了
屏幕截图 2023-09-15 194225.png
屏幕截图 2023-09-15 194316.png
发表于 2023-9-15 19:53 来自手机 | 显示全部楼层
用如下命令看一下pcie设备
lshw -businfo -c netwrok
发表于 2023-9-15 19:57 来自手机 | 显示全部楼层
summerq 发表于 2023-9-15 19:53
用如下命令看一下pcie设备
lshw -businfo -c netwrok

IMG_4708.jpeg
发表于 2023-9-15 20:41 | 显示全部楼层
virtual function就是sriov的虚拟网卡。不过sriov好像跟cpu占用率没啥关系
 楼主| 发表于 2023-9-15 20:43 | 显示全部楼层

这个命令pve里好像没有,我手动用包管理器安装之后 一个设备都没显示出来
 楼主| 发表于 2023-9-15 20:47 | 显示全部楼层

后续我简化了一下命令能显示了

您给看看,就很奇怪

我网卡是已经挂载给ikuai了,是这个原因不显示的吗
屏幕截图 2023-09-15 204550.png
屏幕截图 2023-09-15 204557.png
屏幕截图 2023-09-15 204604.png
 楼主| 发表于 2023-9-15 21:09 | 显示全部楼层
我好像明白了,那些莫名其妙的网卡文件是我虚拟机的虚拟网卡.....
发表于 2023-9-15 22:11 | 显示全部楼层
本帖最后由 ksong 于 2023-9-15 22:23 编辑

可能看的老教程,或者你amdcpu,在grub里面的用了intel的参数?
 楼主| 发表于 2023-9-15 22:22 | 显示全部楼层

大佬有没有好用的教程?

我查看了一下在pve里 8-13行是有东西的

并且pci那里是有sriov的

应该能开启,但是按照几个教程的来搞,第一个是会报错,第二个无事发生,都找不到vf设备
发表于 2023-9-15 22:24 | 显示全部楼层
建议用脚本把MAC地址固定下来,只改vf数量的话,MAC会跳变
发表于 2023-9-15 22:25 | 显示全部楼层
大头吃小头 发表于 2023-9-15 22:22
大佬有没有好用的教程?

我查看了一下在pve里 8-13行是有东西的

lshw -businfo -c NETWORK 结果看(ps:network大写),你的550并没有开启sriov
发表于 2023-9-15 22:26 | 显示全部楼层
老饭 发表于 2023-9-15 20:41
virtual function就是sriov的虚拟网卡。不过sriov好像跟cpu占用率没啥关系

设计出来就是为了降低CPU和内存占用率,提高IO的
发表于 2023-9-15 22:45 | 显示全部楼层
sriov要求还是比较高的,各种软硬件的兼容都必须做到
 楼主| 发表于 2023-9-15 22:46 | 显示全部楼层
ksong 发表于 2023-9-15 22:25
lshw -businfo -c NETWORK 结果看(ps:network大写),你的550并没有开启sriov

那么大佬这个怎么开启呢?

去BIOS开吗?

我查到的教程是写个服务注册进去,我照着写了开机闪红字报错,然后啥事都没发生
发表于 2023-9-15 22:46 来自手机 | 显示全部楼层
ksong 发表于 2023-9-15 22:25
lshw -businfo -c NETWORK 结果看(ps:network大写),你的550并没有开启sriov

是的 没开起来
 楼主| 发表于 2023-9-15 22:55 | 显示全部楼层
ksong 发表于 2023-9-15 22:11
可能看的老教程,或者你amdcpu,在grub里面的用了intel的参数?

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"


我的grub里是这么写的,应该没啥问题吧,我的6600都已经直通了.....

大佬有可以参考的教程吗?
发表于 2023-9-15 22:57 | 显示全部楼层
本帖最后由 summerq 于 2023-9-15 23:01 编辑
大头吃小头 发表于 2023-9-15 22:55
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction ...


我给你个开启的教程吧。你修改这个脚本即可。
0. 首先grub里开启iommu,编辑 /etc/default/grub,内容如下。之后更新grub并且重启: update-grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="intel_pstate=disable amd_iommu=on iommu=pt mitigations=off"
GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX pci=assign-busses pcie_acs_override=downstream,multifunction pci=noaer"

1. 创建一个文件 /etc/init.d/net-sriov
其中enp2s0f0要根据你的x550两个网口的名称进行修改。mac地址也可以改掉。


#! /bin/sh
### BEGIN INIT INFO
# Provides:          sriov_script
# Required-Start:    $network $named $remote_fs $syslog $sriov_scripts
# Required-Stop:     $remote_fs $sriov_scripts
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SR-IOV initialization.
#Description:       Initializing VM's network with sriov support.
### END INIT INFO

start () {
    # enable SRIOV
    # 8 vf for LAN
    echo 8 > /sys/class/net/enp2s0f0/device/sriov_numvfs

    # 2 vf for WAN
    # echo 2 > /sys/class/net/enp2s0f1/device/sriov_numvfs
    # sleep 2

    # set up mac addresses
    ip link set dev enp2s0f0 vf 3 trust on mac 20:00:11:01:02:00 spoofchk off
    ip link set dev enp2s0f0 vf 1 trust on mac 20:00:11:01:02:01 spoofchk off
    ip link set dev enp2s0f0 vf 2 trust on mac 20:00:11:01:02:02 spoofchk off
    ip link set dev enp2s0f0 vf 0 trust on mac 20:00:11:01:02:03 spoofchk off
    ip link set dev enp2s0f0 vf 4 trust on mac 20:00:11:01:02:04 spoofchk off
    ip link set dev enp2s0f0 vf 5 trust on mac 20:00:11:01:02:05 spoofchk off
    ip link set dev enp2s0f0 vf 6 trust on mac 20:00:11:01:02:06 spoofchk off
    ip link set dev enp2s0f0 vf 7 trust on mac 20:00:11:01:02:07 spoofchk off

    # setup wan mac addresses
    # ip link set dev enp2s0f1 vf 0 trust on mac 20:00:11:88:88:01 spoofchk off
    # ip link set dev enp2s0f1 vf 1 trust on mac 20:00:11:88:88:02 spoofchk off

    # turn off HT for cores 5,6,7, reserved for DPDK
    # echo 0 > /sys/devices/system/cpu/cpu13/online
    # echo 0 > /sys/devices/system/cpu/cpu14/online
    # echo 0 > /sys/devices/system/cpu/cpu15/online
}

stop () {
    [ "$READ_INTERFACES" != "no" ] && network_interfaces ifdown
}

case $1 in
    start)
        start
        ;;
    stop | force-stop)
        stop
        ;;
    *)
        echo "Usage: $0 {start|stop}" >&2
        exit 1
        ;;
esac

exit 0

2. 给与此文件可执行属性
chmod +x /etc/init.d/net-sriov

3. 添加默认systemd启动
systemctl enable net-sriov

4. 重启看效果。别问我是谁,我就是步步高点读机
 楼主| 发表于 2023-9-15 23:17 | 显示全部楼层
summerq 发表于 2023-9-15 22:57
我给你个开启的教程吧。你修改这个脚本即可。
0. 首先grub里开启iommu,编辑 /etc/default/grub,内容如 ...

感谢大佬
发表于 2023-9-15 23:26 来自手机 | 显示全部楼层
大头吃小头 发表于 2023-9-15 23:17
感谢大佬

最后要注意的是看一下有无这个文件,如果没有就说明网卡不支持sriov。
sriov_numvfs
 楼主| 发表于 2023-9-15 23:52 | 显示全部楼层
summerq 发表于 2023-9-15 23:26
最后要注意的是看一下有无这个文件,如果没有就说明网卡不支持sriov。
sriov_numvfs ...


是这样的,我现在一楼那个路径里到net那个文件夹里就没有我的网卡设备名称了(enp6s0

所以我有点奇怪
发表于 2023-9-16 00:39 | 显示全部楼层
大头吃小头
后续我简化了一下命令能显示了

您给看看,就很奇怪

我网卡是已经挂载给ikuai了,是这个原因不显 ...

ikuai不支持sriov
发表于 2023-9-16 00:46 | 显示全部楼层
主板要支持,网卡要支持,系统要支持~一堆的要支持,我都折磨到把主板搞坏了,新换的主板居然不支持了,行吧,就这样吧。
 楼主| 发表于 2023-9-16 00:54 | 显示全部楼层
fangl2002 发表于 2023-9-16 00:46
主板要支持,网卡要支持,系统要支持~一堆的要支持,我都折磨到把主板搞坏了,新换的主板居然不支持了,行 ...

可太惨了
发表于 2023-9-16 08:14 | 显示全部楼层
马克一下,这里有高手出没。。。
发表于 2023-9-16 08:16 | 显示全部楼层
网心不是因为你桥接消耗cpu是因为它里面自己在干别的计算,我挂了那么多家,没有哪家说传输数据会把cpu吃得那么多,以前有人进去检查过,也有人爆料过,它自己在里面除了跑数据还在运算或者说是挖
发表于 2023-9-16 10:19 | 显示全部楼层
本帖最后由 vvvsrx 于 2023-9-16 10:20 编辑

爱快支持sriov的网卡,但是一旦使用upnp就失效了....无论是intel还是bcm我都试过了....有点莫名其妙...
如果你是NAT1就无所谓upnp了
还有一点,爱快不支持vlan pppoe,搞得我没办法把数据压力转移到交换机,真的拉~
 楼主| 发表于 2023-9-16 13:52 来自手机 | 显示全部楼层
vvvsrx 发表于 2023-9-16 10:19
爱快支持sriov的网卡,但是一旦使用upnp就失效了....无论是intel还是bcm我都试过了....有点莫名其妙...
如果 ...

非高峰期也是100%占用啊 不知道在跑啥,一天只有几毛钱我都怀疑能不能赚回来电费……  CPU有负载的情况下怎么也得一百来瓦了
发表于 2023-9-16 14:18 | 显示全部楼层
大头吃小头 发表于 2023-9-16 13:52
非高峰期也是100%占用啊 不知道在跑啥,一天只有几毛钱我都怀疑能不能赚回来电费……  CPU有负载的情况下 ...

我是12500跑的.....一台机器一根宽带,一共3根宽带,没用sriov,cpu常年60%把...不过我不是网心,是小公司,一根200M上行,工作日4-7块,节假日7-11块....我觉得还行...
发表于 2023-9-17 01:04 | 显示全部楼层
esxi7.0亲测X550网卡插在第二条PICE插槽可以开sriov,插在第一条PCIE就无法开sriov,两块主板都是这样的情况,B365跟Z390
发表于 2023-10-20 17:02 | 显示全部楼层

root@pve12:/etc/init.d# systemctl enable net-sriov
net-sriov.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable net-sriov

实在搞不定重装后,这个命令无法执行。

换到https://blog.csdn.net/Jackykxy/article/details/120585563这个教程
cd /etc/systemd/system
vi sriov.service
开机回卡红色报错,[FAILED] Failled to Strart sriov.service --- Script to enable SR-IOV on boot
但进系统后lspci又能看到PF存在
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-26 20:22 , Processed in 0.016503 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表