Para ativar o modo SR-IOV no KVM, execute os seguintes passos.
Pré-requisitos
Requer um cartão NIC específico. Os chipsets seguintes são certificados pelo VMware para funcionarem com o SD-WAN Gateway e o SD-WAN Edge.
- Intel 82599/82599ES
- Intel X710/XL710
Nota: Antes de utilizar os cartões Intel X710/XL710 no modo SR-IOV no KVM, certifique-se de que as versões do firmware e do controlador suportadas especificadas na secção
Pré-requisitos de implementação são instaladas corretamente.
Nota: O modo SR-IOV não é suportado se o Edge Virtual KVM estiver implementado com uma topologia de alta disponibilidade. Para implementações de alta disponibilidade, certifique-se de que o SR-IOV não está ativado para o par de Edges KVM.
Para ativar o SR-IOV no KVM:
- Ative o SR-IOV no BIOS. Isto dependerá do BIOS. Inicie sessão na consola BIOS e procure o suporte SR-IOV/DMA. Pode verificar o suporte na solicitação verificando se a Intel tem a sinalização correta da CPU.
cat /proc/cpuinfo | grep vmx
- Adicione as opções em Bboot (em /etc/default/grub).
GRUB_CMDLINE_LINUX="intel_iommu=on"
- Execute os seguintes comandos: update-grub e update-initramfs -u.
- Reiniciar (Reboot)
- Certifique-se de que iommu está ativado.
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:~$
- Com base no chipset NIC utilizado, adicione um controlador da seguinte forma:
- Para os cartões Intel 82599/82599ES no modo SR-IOV:
- Transfira e instale o controlador ixgbe a partir do site da Intel.
- Configure ixgbe config (tar e sudo tratam da instalação).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Se o ficheiro ixgbe config não existir, terá de criar o ficheiro da seguinte forma.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- Execute o comando update-initramfs -u e reinicie o servidor.
- Utilize o comando modinfo para verificar se a instalação foi bem-sucedida.
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 os cartões Intel X710/XL710 no modo SR-IOV:
- Transfira e instale o controlador i40e a partir do site da Intel.
- Crie as funções virtuais (VFs).
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- Para tornar as VFs persistentes após uma reinicialização, adicione o comando do passo anterior ao ficheiro
"/etc/rc.d/rc.local"
. - Desative o controlador da VF.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- Execute o comando update-initramfs -u e reinicie o servidor.
- Para os cartões Intel 82599/82599ES no modo SR-IOV:
Validação de SR-IOV (opcional)
Pode verificar rapidamente se computador anfitrião tem o SR-IOV ativado utilizando o seguinte comando:
lspci | grep -i Ethernet
Verifique se tem funções virtuais:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)