要在 KVM 上启用 SR-IOV 模式,请执行以下步骤。
必备条件
需要特定的网卡。以下芯片组已通过 VMware 认证,可以与 SD-WAN Gateway 和 SD-WAN Edge 一起使用。
- Intel 82599/82599ES
- Intel X710/XL710
注: 在 KVM 上以 SR-IOV 模式使用 Intel X710/XL710 卡之前,请确保正确安装了
部署必备条件部分中指定的支持的固件和驱动程序版本。
注: 如果 KVM 虚拟 Edge 部署了高可用性拓扑,则不支持 SR-IOV 模式。对于高可用性部署,请确保没有为该 KVM Edge 对启用 SR-IOV。
要在 KVM 上启用 SR-IOV,请执行以下操作:
- 在 BIOS 中启用 SR-IOV。这将取决于您的 BIOS。登录到 BIOS 控制台并查找“SR-IOV Support/DMA”。您可以在提示符下检查 Intel 是否具有正确的 CPU 标记以验证支持情况。
cat /proc/cpuinfo | grep vmx
- 在 Bboot 上添加选项(在 /etc/default/grub 中)。
GRUB_CMDLINE_LINUX="intel_iommu=on"
- 运行以下命令:update-grub 和 update-initramfs -u。
- 重新引导 (Reboot)
- 确保已启用 iommu。
velocloud@KVMperf3:~$ dmesg | grep -i IOMMU [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.13.0-107-generic root=/dev/mapper/qa--multiboot--002--vg-root ro intel_iommu=on splash quiet vt.handoff=7 [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.13.0-107-generic root=/dev/mapper/qa--multiboot--002--vg-root ro intel_iommu=on splash quiet vt.handoff=7 [ 0.000000] Intel-IOMMU: enabled …. velocloud@KVMperf3:~$
- 根据使用的网卡芯片组,添加驱动程序,如下所示:
- 对于处于 SR-IOV 模式的 Intel 82599/82599ES 卡:
- 从 Intel 网站中下载并安装 ixgbe 驱动程序。
- 配置 ixgbe 配置文件(使用 tar 和 sudo 进行安装)。
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- 如果 ixgbe 配置文件不存在,您必须按以下方式创建该文件。
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- 运行 update-initramfs -u 命令,然后重新引导服务器。
- 使用 modinfo 命令验证安装是否成功。
velocloud@KVMperf1:~$ modinfo ixgbe and ip link filename: /lib/modules/4.4.0-62-generic/updates/drivers/net/ethernet/intel/ixgbe/ixgbe.ko version: 5.0.4 license: GPL description: Intel(R) 10GbE PCI Express Linux Network Driver author: Intel Corporation, <[email protected]> srcversion: BA7E024DFE57A92C4F1DC93
- 对于处于 SR-IOV 模式的 Intel X710/XL710 卡:
- 从 Intel 网站中下载并安装 i40e 驱动程序。
- 创建虚拟功能 (VF)。
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- 要使 VF 在重新引导后成为永久功能,请将上一步中的命令添加到
"/etc/rc.d/rc.local"
文件中。 - 禁用 VF 驱动程序。
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- 运行 update-initramfs -u 命令,然后重新引导服务器。
- 对于处于 SR-IOV 模式的 Intel 82599/82599ES 卡:
验证 SR-IOV(可选)
您可以使用以下命令快速验证主机是否启用了 SR-IOV:
lspci | grep -i Ethernet
验证您是否具有虚拟功能:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)