若要在 KVM 上啟用 SR-IOV 模式,請執行下列步驟。
必要條件
這需要特定的 NIC 卡。下列晶片組已通過 VMware 認證,可與 SD-WAN 閘道 和 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 支援/DMA。您可以檢查 Intel 是否有正確的 CPU 旗標,以確認提示上的支援。
cat /proc/cpuinfo | grep vmx
- 在 Bboot 上新增選項 (在 /etc/default/grub 中)。
GRUB_CMDLINE_LINUX="intel_iommu=on"
- 執行下列命令:update-grub 和 update-initramfs -u。
- 重新開機
- 確定 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:~$
- 根據使用的 NIC 晶片組,依照下列方式新增驅動程式:
- 對於 SR-IOV 模式下的 Intel 82599/82599ES 卡:
- 從 Intel 網站下載並安裝 ixgbe 驅動程式。
- 設定 ixgbe 組態 (tar 和 sudo make install)。
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)