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地址是否绑定正确
如果成功就可以正常使用了,如果不成功检查哪里有问题。