SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。
注意并不是所有网卡都能支持SR-IOV,在这里能够看到具体哪些英特尔以太网适配器和控制器支持 SR-IOV以及相应的驱动:
Intel 82599ES对应的驱动是ixgbe,下面是SR-IOV VF在KVM下Intel 82599ES的应用步骤,宿主机以CentOS7为例。
有些厂商没有显示SR-IOV选项,但可能还是支持的,可以试一下。
如果是intel cpu:intel_iommu=on.
如果是amd cpu: iommu=pt iommu=1.
编辑启动配置文件/etc/grub2.cfg
重启系统,查看IOMMU是否正常支持
编辑/lib/modprobe.d/dist-blacklist.conf文件,把ixgbevf驱动加入黑名单
#查看PCI
#查看网卡可支持的最大VF数
#加载驱动,举例每个网卡创建两个VF
modprobe ixgbe max_vfs=2
#若需要重新加载驱动,先移除驱动,再加载
modprobe -r ixgbe
#查看创建出的VF
#对VF添加MAC地址
如果添加完PCI,启动虚拟机的时候报以下错误,可能是硬件平台不支持,建议换台设备。
可看到82599ES创建出的VF成功透传到虚拟机。
参考链接:
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/sr-iov-architecture
如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880