qemu-kvm安装and配置桥接和SR-IOV (2)

查看当前设备的VFS数量(三种方式结果一样)

cat /sys/class/infiniband/mlx5_0/device/mlx5_num_vfs cat /sys/class/net/ib0/device/sriov_numvfs cat /sys/class/net/ib0/device/mlx5_num_vfs

0

注意:如果命令执行失败,可能意味着未加载驱动程序。

注意:mlx5_num_vfs和sriov_numvfs的区别在于,即使操作系统未加载虚拟化模块(未向grub文件添加intel_iommu=on),mlx5_num_vfs也存在;sriov_numvfs 仅在将intel_iommu=on添加到grub文件时才适用。因此,如果没有sriov_numvfs文件,请检查是否已将Intel_iommu=on添加到grub文件中。

注意:因内核版本不同,可能没有部分选项。

设置VFS的数量(三种方式,任选其一)

echo 4 > /sys/class/infiniband/mlx5_0/device/mlx5_num_vfs cat /sys/class/infiniband/mlx5_0/device/mlx5_num_vfs echo 4 > /sys/class/net/ib0/device/sriov_numvfs cat /sys/class/net/ib0/device/sriov_numvfs echo 4 > /sys/class/net/ib0/device/mlx5_num_vfs cat /sys/class/net/ib0/device/mlx5_num_vfs

4

如出现错误信息:

echo: write error: Cannot allocate memory

修改 /etc/default/grub并重新生成/boot/grub2/grub.cfg:

vim /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet intel_iommu=on iommu=pt pci=realloc"

grub2-mkconfig -o /boot/grub2/grub.cfg

更新配置后,重启。

注意:

1.更改VFS的数量是临时的,服务器重新启动后,设置的值会丢失。

2.写入sysfs文件时,适用以下规则:

如果未分配VFS,则VFS的数量可以更改为任何有效值(0-固件设置步骤中设置的最大VFS);

如果有分配给虚拟机的VFS,则无法更改VFS的数量;

如果在未分配VFS的情况下,管理员在PF上卸载驱动程序,则驱动程序将卸载并禁用SRI-OV;

如果在卸载PF驱动程序时分配了VFS,则不会禁用SR-IOV。这意味着VF在VM上可见,但它们将无法运行。这适用于使用pci_stub而非vfio内核的操作系统。

VF驱动程序将发现这种情况并关闭其资源;

重新加载PF上的驱动程序后,VF可以运行。 VF的管理员将需要重新启动驱动程序才能继续使用VF。

查看PCI设备

lspci -D | grep Mellanox

0000:02:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]

0000:02:00.1 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]

0000:02:00.2 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]

0000:02:00.3 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]

0000:02:00.4 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]

0000:81:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]

注意:带 Virtual Function 的四个PCI设备就是通过SR-IOV虚拟化出来的RDMA网卡。

ibdev2netdev -v

0000:02:00.0 mlx5_0 (MT4119 - MCX555A-ECAT) CX555A - ConnectX-5 QSFP28 fw 16.26.4012 port 1 (ACTIVE) ==> ib0 (Up)

0000:81:00.0 mlx5_1 (MT4119 - MCX555A-ECAT) CX555A - ConnectX-5 QSFP28 fw 16.27.2008 port 1 (ACTIVE) ==> ib1 (Up)

0000:02:00.1 mlx5_2 (MT4120 - NA) fw 16.26.4012 port 1 (DOWN ) ==> ib2 (Down)

0000:02:00.2 mlx5_3 (MT4120 - NA) fw 16.26.4012 port 1 (DOWN ) ==> ib3 (Down)

0000:02:00.3 mlx5_4 (MT4120 - NA) fw 16.26.4012 port 1 (DOWN ) ==> ib4 (Down)

0000:02:00.4 mlx5_5 (MT4120 - NA) fw 16.26.4012 port 1 (DOWN ) ==> ib5 (Down)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywfpy.html