<aside> 💡
设备直通技术(vfio passthrough)对于提升虚拟机I/O性能起到了极大的作用,但是如果我们设备上只有一台设备(比如说只剩下一个网口留给VM使用),想要直通给多个vm使用该怎么做呢?这就是SR-IOV技术的使用场景。
</aside>
lspci | grep $devname
查看pci号lspci -vvv -s 98:00.0
查看pci设备信息:是否支持SR-IOV以及最大VF数目,对应的驱动这里可以知道设备上的Mellanox网卡的一个网口(98:00.0)支持 SR-IOV 且最大 VF 数目为 8,驱动为mlx5_core,这意味着我们最多可以吧这个网口直通给 8 台 vm 使用。
ip link
echo ${num_vf} > /sys/class/net/*enp14s0f0*/device/sriov_numvfs
vim /etc/udev/rules.d/ens6vf.rules
ATTR{address}=="10:70:fd:79:90:9[89]", ATTR{device/sriov_numvfs}="3"
同一般的passthrough配置方法类似,并且使用<interface type='hostdev'>
而非<hostdev>
以便修改MAC地址。修改 libvrit domain 配置文件,添加如下内容: