Per abilitare la modalità SR-IOV in KVM, eseguire i passaggi seguenti.
Prerequisiti
Questa operazione richiede una scheda NIC specifica. I seguenti chipset sono certificati da VMware per l'utilizzo con SD-WAN Gateway e SD-WAN Edge.
- Intel 82599/82599ES
- Intel X710/XL710
Nota: Prima di utilizzare le schede Intel X710/XL710 in modalità SR-IOV in KVM, verificare che le versioni supportate di firmware e driver specificate nella sezione
Prerequisiti di distribuzione siano installate correttamente.
Nota: La modalità SR-IOV non è supportata se l'Edge virtuale KVM viene distribuito con una topologia ad alta disponibilità. Per le distribuzioni ad alta disponibilità, assicurarsi che SR-IOV non sia abilitato per la coppia di Edge KVM.
Per abilitare SR-IOV in KVM:
- Abilitare SR-IOV nel BIOS. Questa operazione dipende dal BIOS. Accedere alla console del BIOS e cercare SR-IOV Support/DMA. È possibile verificare il supporto nel prompt controllando che Intel abbia il flag di CPU corretto.
cat /proc/cpuinfo | grep vmx
- Aggiungere le opzioni in Bboot (in /etc/default/grub).
GRUB_CMDLINE_LINUX="intel_iommu=on"
- Eseguire i seguenti comandi: update-grub e update-initramfs -u.
- Riavvia (Reboot)
- Assicurarsi che IOMMU sia abilitato.
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:~$
- In base al chipset NIC utilizzato, aggiungere un driver come indicato di seguito:
- Per le schede Intel 82599/82599ES in modalità SR-IOV:
- Scaricare e installare il driver ixgbe dal sito Web Intel.
- Configurare il file di configurazione di ixgbe (tar e sudo consentono di eseguire l'installazione).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Se il file di configurazione di ixgbe non esiste, è necessario creare il file come indicato di seguito.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- Eseguire il comando update-initramfs -u e riavviare il server.
- Utilizzare il comando modinfo per verificare se l'installazione è stata eseguita correttamente.
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
- Per le schede Intel X710/XL710 in modalità SR-IOV:
- Scaricare e installare il driver i40e dal sito Web Intel.
- Creare le funzioni virtuali.
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- Per rendere persistenti le funzioni virtuali dopo un riavvio, aggiungere il comando dal passaggio precedente al file
"/etc/rc.d/rc.local"
. - Disattivare il driver VF.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- Eseguire il comando update-initramfs -u e riavviare il server.
- Per le schede Intel 82599/82599ES in modalità SR-IOV:
Convalida di SR-IOV (facoltativa)
È possibile verificare rapidamente se nella macchina host è abilitato SR-IOV utilizzando il comando seguente:
lspci | grep -i Ethernet
Verificare di disporre delle funzioni virtuali:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)