Para habilitar el modo SR-IOV en KVM, realice los siguientes pasos.
Requisitos previos
Esto requiere una tarjeta NIC específica. Los siguientes conjuntos de chips están certificados por VMware para trabajar con SD-WAN Gateway y SD-WAN Edge.
- Intel 82599/82599ES
- Intel X710/XL710
Nota: Antes de usar las tarjetas X710/XL710 de Intel en el modo SR-IOV en KVM, asegúrese de que estén instaladas correctamente las versiones de firmware y de controladores compatibles especificadas en la sección
Requisitos previos de implementación.
Nota: El modo SR-IOV no se admite si se implementa Virtual Edge de KVM con una topología de alta disponibilidad. Para las implementaciones de alta disponibilidad; asegúrese de que SR-IOV no esté habilitado para ese par de Edge de KVM.
Para habilitar SR-IOV en KVM:
- Habilite SR-IOV en el BIOS. Esto dependerá del BIOS. Inicie sesión en la consola del BIOS y busque compatibilidad con SR-IOV y DMA. Puede verificar la compatibilidad de la solicitud si comprueba que Intel tiene la marca de CPU correcta.
cat /proc/cpuinfo | grep vmx
- Agregue las opciones en Bboot (en /etc/default/grub).
GRUB_CMDLINE_LINUX="intel_iommu=on"
- Ejecute los siguientes comandos: update-grub y update-initramfs -u.
- Reiniciar (Reboot)
- Asegúrese de que la IOMMU esté habilitada.
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:~$
- Según el conjunto de chips de NIC utilizado, agregue un controlador de la siguiente manera:
- Para las tarjetas Intel 82599/82599ES en el modo SR-IOV:
- Descargue e instale el controlador ixgbe en el sitio web de Intel.
- Configure ixgbe config (tar y sudo make install).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Si el archivo ixgbe config no existe, deberá crearlo de la siguiente manera.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- Ejecute el comando update-initramfs -u y reinicie el servidor.
- Utilice el comando modinfo para comprobar si la instalación se realizó correctamente.
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
- Para las tarjetas Intel X710/XL710 en el modo SR-IOV:
- Descargue e instale el controlador i40e en el sitio web de Intel.
- Cree las funciones virtuales (Virtual Functions, VF).
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- Para que las VF sean persistentes después de un reinicio, agregue el comando del paso anterior al archivo
"/etc/rc.d/rc.local"
. - Desactive el controlador de VF.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- Ejecute el comando update-initramfs -u y reinicie el servidor.
- Para las tarjetas Intel 82599/82599ES en el modo SR-IOV:
Validación de SR-IOV (opcional)
Puede comprobar rápidamente si su máquina host tiene SR-IOV habilitado mediante el siguiente comando:
lspci | grep -i Ethernet
Compruebe si tiene funciones virtuales:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)