PVE7.1-7开启X540T2网卡开启SR-IOV

硬件环境:

CPU:I3 8100

主板:矿板B360自带6个minisas那种。

网卡:浪潮X540T2

软件环境:

PVE7.1.7

最终效果

参考网络上的一些教程,自己实操以后,成功。特别分享出来,以下是具体步骤:

BIOS中打开硬件直通相关选项(VT-d & VMX)

开启直通

nano /etc/default/grub

修改文件内容
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pci=assign-busses pcie_acs_override=downstream iommu=pt"


同时按下“Ctrl+X”键盘,然后按"Y"键,然后回车保存修改

更新grub

update-grub

编辑modules

nano /etc/modules

在/etc/modules文件里添加如下内容

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

同时按下“Ctrl+X”键盘,然后按"Y"键,然后回车保存修改

更新

update-initramfs -u -k all

重启

reboot

检查IOMMO功能是否开启

dmesg | grep -e DMAR -e IOMMU -e AMD-Vi

注册系统服务

cd /etc/systemd/system

nano sriov.service

填入内容
[Unit]

Description=Script to enable SR-IOV on boot

[Service]

Type=simple

start SR-IOV

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

[echo 12 ]中的12为需要虚拟的网卡数量 [enp1s0f0]为需要虚拟的网卡

set VF MAC

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 0 mac 00:54:00:00:00:00'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 1 mac 00:54:00:00:00:01'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 2 mac 00:54:00:00:00:02'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 3 mac 00:54:00:00:00:03'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 4 mac 00:54:00:00:00:04'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 5 mac 00:54:00:00:00:05'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 6 mac 00:54:00:00:00:06'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 7 mac 00:54:00:00:00:07'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 8 mac 00:54:00:00:00:08'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 9 mac 00:54:00:00:00:09'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 10 mac 00:54:00:00:00:10'

ExecStartPre=/usr/bin/bash -c '/usr/bin/ip link set dev enp1s0f0 vf 11 mac 00:54:00:00:00:11'

set PF up

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

set VF up

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

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

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

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

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

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

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

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

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

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

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

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

ExecStart=/usr/bin/bash -c '/usr/bin/ip link set enp1s0f0v11 up'

Restart=on-failure

[Install]

WantedBy=multi-user.target
Also=sriov.service

同时按下“Ctrl+X”键盘,然后按"Y"键,然后回车保存修改

如图


注册开机启动服务

systemctl daemon-reload

systemctl enable sriov.service

重启

reboot

查看SR-IOV网卡

使用命令“ip a”查看网卡信息,查看MAC地址是否绑定正确

如果成功就可以正常使用了,如果不成功检查哪里有问题。

posted @ 2023-05-05 10:17  心梦无痕。  阅读(3914)  评论(0编辑  收藏  举报