PVE8.0保姆级AIO安装教程 开启网卡SRIOV,跳过虚拟交换机提高网络性能,减少CPU负载

接有偿搭建如有需要进群联系群主

QQ群:113254209

一些博通的网卡也支持具体可以自行搜索

可图片对照网口名称 这是没开的时候

使用本命令列出网卡id

lspci -k | grep -i ethernet

root@pve:~# lspci -k | grep -i ethernet
08:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
08:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
0a:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

然后0000:08:00.0替换成自己的

比如0000:08:00.0

cat /sys/bus/pci/devices/0000:08:00.0/sriov_totalvfs

这里8 显示这个网口能开7个VF网口

这种就是不支持

开启网卡sriov代码

cd /etc/systemd/system

新建文件 wksriov.service

enp8s0f0修改成自己对应的网卡

[Unit]
Description=Script to enable SR-IOV on boot

[Service]
Type=simple

start SR-IOV

ExecStartPre=/usr/bin/bash -c '/usr/bin/echo 7 > /sys/class/net/enp8s0f0/device/sriov_numvfs'

set VF MAC

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 0 mac 00:80:00:00:00:00'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 1 mac 00:80:00:00:00:01'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 2 mac 00:80:00:00:00:02'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 3 mac 00:80:00:00:00:03'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 4 mac 00:80:00:00:00:04'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 5 mac 00:80:00:00:00:05'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp8s0f0 vf 6 mac 00:80:00:00:00:06'

set PF up

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0 up'

set VF up

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v0 up'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v1 up'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v2 up'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v3 up'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v4 up'
ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v5 up'
ExecStart=/usr/bin/bash -c '/usr/bin/ip link set enp8s0f0v6 up'

Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload

systemctl enable wksriov.service

reboot

cd /home

新建文件 sr-iov-registermacaddr.sh

防止VF网络和主机网络不能互相访问

enp10s0修改成自己pve管理网口名字

11月1日更新

可以看到我这里是pve

如果你的不是pve那就把这两个pve都改成你节点的名称

CTCONFDIR=/etc/pve/nodes/pve/lxc

VMCONFDIR=/etc/pve/nodes/pve/qemu-server

就像这样

#!/usr/bin/bash
#
# vf_add_maddr.sh Version 1.1
# Script is based on kriss35
# Update by Rama: Added vmbridge macaddress itself, simplified, systemd-service(RestartOnFailure) Compatible and speeded up with a tmpfile(one readout).
# Usage: execute directly without arguments, make an systemd-service or add it to crontab to run every x Minutes.
#
CTCONFDIR=/etc/pve/nodes/pve/lxc
VMCONFDIR=/etc/pve/nodes/pve/qemu-server
IFBRIDGE=enp10s0
LBRIDGE=vmbr0
TMP_FILE=/tmp/vf_add_maddr.tmp
 
C_RED='\e[0;31m'
C_GREEN='\e[0;32m'
C_NC='\e[0m'
 
if [ ! -d $CTCONFDIR ] || [ ! -d $VMCONFDIR ]; then
        echo -e "${C_RED}ERROR: Not mounted, self restart in 5s!${C_NC}"
        exit 1
else
        MAC_LIST_VMS=" $(cat ${VMCONFDIR}/*.conf | grep bridge | grep -Eo '([[:xdigit:]]{1,2}[:-]){5}[[:xdigit:]]{1,2}' | tr '[:upper:]' '[:lower:]') $(cat ${CTCONFDIR}/*.conf | grep hwaddr | grep -Eo '([[:xdigit:]]{1,2}[:-]){5}[[:xdigit:]]{1,2}' | tr '[:upper:]' '[:lower:]')"
        MAC_ADD2LIST="$(cat /sys/class/net/$LBRIDGE/address)"
        MAC_LIST="$MAC_LIST_VMS $MAC_ADD2LIST"
        /usr/sbin/bridge fdb show | grep "${IFBRIDGE} self permanent" > $TMP_FILE
 
        for mactoregister in ${MAC_LIST}; do
                if ( grep -Fq $mactoregister $TMP_FILE ); then
                        echo -e "${C_GREEN}$mactoregister${C_NC} - Exists!"
                else
                        /usr/sbin/bridge fdb add $mactoregister dev ${IFBRIDGE}
                        echo -e "${C_RED}$mactoregister${C_NC} - Added!"
                fi
        done
        exit 0
fi

chmod +x sr-iov-registermacaddr.sh

./sr-iov-registermacaddr.sh

如果你VF网卡有直通给Ubuntu 那记得在控制台修改网卡名字

sudo -i

nano /etc/netplan/00-installer-config.yaml

群晖docker安装iperf 服务端命令 一次性

docker run -it –rm –name=iperf-srv –network=host clearlinux/iperf -s

apt-get install iperf3

iperf3 -c 192.168.3.191 -i1 -t60 -P8

评论

  1. catalyst
    Windows Chrome 119.0.0.0
    5月前
    2023-11-16 22:33:36

    如果多个网口需要sr-iov需要怎么做?

    • xjunny
      catalyst
      Windows Chrome 121.0.0.0
      2月前
      2024-2-21 16:52:55

      举一反三照样子做就可以了

  2. 以铭生
    Macintosh Edge 119.0.0.0
    5月前
    2023-11-17 11:41:11

    点赞,教程更新了

  3. hug
    Windows Edge 122.0.0.0
    2月前
    2024-3-08 3:33:43

    请问这段:mac 00:80:00:00:00:00 里面的80要不要改?例如网卡是00:01的。

  4. wintsa
    Windows Edge 122.0.0.0
    1月前
    2024-3-12 11:11:38

    好像要先把网卡直通和网桥的先卸载下来。不然/sys/class/net/目录没有网卡名称的文件夹。另外我尝试卸载下来重启后手动执行echo 7 > /sys/class/net/enp8s0f0/device/sriov_numvfs,提示错误,无法写入,用vim也无法写入。不知道哪里错了

  5. llids
    Windows Chrome 122.0.0.0
    1月前
    2024-3-14 22:33:54

    你好,发现配置不生效,请问在手动执行echo 7 > /sys/class/net/enp8s0f0/device/sriov_numvfs 这一步的时候提示 write error: No such file or directory 这种应该怎么处理?enp8s0f0已经修改为自己的网卡,且有目录。

    • xc
      博主
      llids
      Windows Chrome 122.0.0.0
      1月前
      2024-3-16 21:51:55

      可能是网卡不支持

      • llids
        xc
        Windows Chrome 122.0.0.0
        1月前
        2024-3-17 0:53:36

        网卡是Mellanox CX314A 40G 使用cat /sys/bus/pci/devices/0000:08:00.0/sriov_totalvfs(pcie地址已替换成自己的)命令查看,提示是8.应该是支持的,我看有说Mellanox的网卡要使用官网驱动。但是我使用的是PVE7.4的系统 debian版本是11.3了。英伟达官网支持这个网卡的的驱动最多到debian10 导致没法装。

        • xc
          博主
          llids
          Windows Chrome 122.0.0.0
          1月前
          2024-3-17 17:58:13

          Mellanox的网卡应该是用这个网卡的工具开的,用这个脚本不行

          • llids
            xc
            Linux Chrome 122.0.0.0
            1月前
            2024-3-18 9:30:27

            好的,谢谢了

          • llids
            xc
            Windows Chrome 123.0.0.0
            1月前
            2024-3-24 0:27:36

            官网找到mft工具安装后,查看固件是否开启sriov,已经开启的话,如果网卡是cx3网卡 新建文件 /etc/modprobe.d/mlx4_core.conf 在里面输入options mlx4_core port_type_array=2,2 num_vfs=8 probe_vf=8,这样可以开启

  6. hug
    Windows Edge 122.0.0.0
    1月前
    2024-3-15 1:45:19

    把新建立的文件名改其他,我这样就能运行命令了。PVE7.4

  7. Douson
    Android Chrome 122.0.0.0
    3周前
    2024-4-03 8:46:21

    群需要验证,有偿解决问题

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇