Pour activer le mode SR-IOV sur KVM, procédez comme suit.
Conditions préalables
Cela nécessite une carte réseau spécifique. Les chipsets suivants sont certifiés par VMware pour être compatibles avec SD-WAN Gateway et SD-WAN Edge.
- Intel 82599/82599ES
- Intel X710/XL710
Note : Avant d'utiliser les cartes Intel X710/XL710 en mode SR-IOV sur KVM, vérifiez que les versions de microprogrammes et de pilotes prises en charge spécifiées dans la section
Conditions préalables au déploiement sont installées correctement.
Note : Le mode SR-IOV n'est pas pris en charge si le dispositif Edge virtuel KVM est déployé avec une topologie haute disponibilité. Pour les déploiements à haute disponibilité, assurez-vous que SR-IOV n'est pas activé pour cette paire de dispositifs Edge KVM.
Pour activer SR-IOV sur KVM :
- Activez SR-IOV dans le BIOS. Cette opération dépend de votre BIOS. Connectez-vous à la console du BIOS et recherchez la prise en charge/l'accès direct à la mémoire (DMA, Direct Memory Access) SR-IOV. Vous pouvez vérifier la prise en charge à l'invite en vérifiant qu'Intel dispose de l'indicateur de CPU approprié.
cat /proc/cpuinfo | grep vmx
- Ajoutez les options sur Bboot (dans /etc/default/grub).
GRUB_CMDLINE_LINUX="intel_iommu=on"
- Exécutez les commandes suivantes : update-grub et update-initramfs -u.
- Redémarrage (Reboot)
- Vérifiez que l'unité de gestion de mémoire des entrées/sorties (IOMMU, Input/Output Memory Management Unit) est activée.
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:~$
- En fonction du chipset de la carte réseau utilisé, ajoutez un pilote comme suit :
- Pour les cartes Intel 82599/82599ES en mode SR-IOV :
- Téléchargez et installez le pilote ixgbe sur le site Web Intel.
- Définissez le fichier de configuration ixgbe (tar et sudo make install).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Si le fichier de configuration ixgbe n'existe pas. Vous devez créer le fichier comme suit.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- Exécutez la commande update-initramfs -u et redémarrez le serveur.
- Utilisez la commande modinfo pour vérifier si l'installation a réussi.
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
- Pour les cartes Intel X710/XL710 en mode SR-IOV :
- Téléchargez et installez le pilote i40e sur le site Web Intel.
- Créez les fonctions virtuelles (VF).
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- Pour rendre les fonctions virtuelles persistantes après un redémarrage, ajoutez la commande de l'étape précédente au fichier
"/etc/rc.d/rc.local"
. - Désactivez le pilote VF.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- Exécutez la commande update-initramfs -u et redémarrez le serveur.
- Pour les cartes Intel 82599/82599ES en mode SR-IOV :
Validation de SR-IOV (facultatif)
Vous pouvez vérifier rapidement si SR-IOV est activé sur votre machine hôte à l'aide de la commande suivante :
lspci | grep -i Ethernet
Vérifiez que vous disposez de fonctions virtuelles :
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)