-
将网卡插在主板上。
-
BIOS中开启CPU虚拟化支持(Intel VT-d或者AMD AMD-Vi)
在我测试的PC中,进入BIOS界面后,依次选择
Advanced
->CPU Setup
进入CPU配置界面,然后将该界面下的Intel Virtual Technology
和VT-d Feature
设置为Enabled
。网上有人说BIOS中还需要开启SR-IOV
选项卡,但是在我的机器上没找到。 -
保存BIOS配置,重启PC进入Ubuntu 18.04系统。
-
安装
libvirt
,并查看是否开启相关服务。# 安装 sudo apt-get install libvirt-dev libvirt-daemon libvirt-clients libvirt-bin # 查看服务是否开启 sudo systemctl is-active libvirtd
-
打开
iommu
# 查看在/proc/cmdline中是否有intel_iommu=on cat /proc/cmdline # 如果没有,则修改/etc/default/grub文件 sudo vim /etc/default/grub
在
/etc/default/grub
中查找GRUB_CMDLINE_LINUX=""
字样,在其中添加intel_iommmu=on iommu=pt pci=assign-busses
,保存退出。# 执行命令使/etc/default/grub文件生效 sudo update-grub
重启PC,查看
iommu
是否成功开启。# 重启系统 sudo reboot # 查看在/proc/cmdline中是否有intel_iommu=on cat /proc/cmdline # 查看启动过程中是否有iommu开启的信息 dmesg | grep -e DMAR -e IOMMU
-
执行
ifconfig
指令确认Intel网卡的名字,比如我的网卡是enp1s0f0
-
切换到网卡配置目录:
cd /sys/class/net/enp1s0f0/device/
-
变更
sriov_numvfs
文件的属性:sudo chmod 666 sriov_numvfs
-
确定该网卡最大能支持几个VF:
cat sriov_totalvfs
-
开启SR-IOV(注意,配置的VF数量要小于等于刚才
sriov_totalvfs
的值)echo '7' > sriov_numvfs
-
执行
lspci
命令,查看是否开启。lspci
Ubuntu系统开启Intel千兆网卡SR-IOV
于 2021-01-29 15:01:56 首次发布