Führen Sie die folgenden Schritte aus, um den SR-IOV-Modus auf KVM zu aktivieren.
Voraussetzungen
Eine bestimmte Netzwerkkarte ist erforderlich. Die folgenden Chipsätze werden von VMware für die Verwendung mit dem SD-WAN Gateway und SD-WAN Edge zertifiziert.
- Intel 82599/82599ES
- Intel X710/XL710
Hinweis: Stellen Sie vor der Verwendung der Intel X710/XL710-Karten im SR-IOV-Modus auf KVM sicher, dass die unterstützten Firmware- und Treiber-Versionen, die im Abschnitt
Bereitstellungsvoraussetzungen angegeben werden, ordnungsgemäß installiert sind.
Hinweis: Der SR-IOV-Modus wird nicht unterstützt, wenn der virtuelle KVM-Edge mit einer Hochverfügbarkeitstopologie bereitgestellt wird. Stellen Sie für Hochverfügbarkeitsbereitstellungen sicher, dass SR-IOV für dieses KVM-Edge-Paar nicht aktiviert ist.
So aktivieren Sie SR-IOV auf KVM:
- Aktivieren Sie SR-IOV im BIOS. Dies hängt von Ihrem BIOS ab. Melden Sie sich bei der BIOS-Konsole an und suchen Sie nach SR-IOV-Unterstützung/DMA. Sie können die Unterstützung an der Eingabeaufforderung überprüfen, indem Sie sicherstellen, dass Intel das korrekte CPU-Flag verwendet.
cat /proc/cpuinfo | grep vmx
- Fügen Sie die Optionen in Bboot (in /etc/default/grub) hinzu.
GRUB_CMDLINE_LINUX="intel_iommu=on"
- Führen Sie folgende Befehle aus: update-grub und update-initramfs -u.
- Neustarten
- Stellen Sie sicher, dass IOMMU aktiviert ist.
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:~$
- Fügen Sie einen Treiber basierend auf dem verwendeten NIC-Chipsatz folgendermaßen hinzu:
- Für Karten vom Typ Intel 82599/82599ES im SR-IOV-Modus:
- Laden Sie den ixgbe-Treiber von der Intel-Website herunter und installieren Sie ihn.
- Konfigurieren Sie die ixgbe-Datei (tar- und sudo-Installation).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Wenn die ixgbe-Konfigurationsdatei nicht vorhanden ist, müssen Sie die Datei wie folgt erstellen.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- Führen Sie den Befehl update-initramfs -u aus und starten Sie den Server neu.
- Verwenden Sie den Befehl modinfo, um sicherzustellen, dass die Installation erfolgreich verlaufen ist.
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
- Für Karten vom Typ Intel X710/XL710 im SR-IOV-Modus:
- Laden Sie den i40e-Treiber von der Intel-Website herunter und installieren Sie ihn.
- Erstellen Sie die virtuellen Funktionen (VFs).
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- Um die VFs nach dem Neustart dauerhaft zu übernehmen, fügen Sie den Befehl aus dem vorherigen Schritt zur Datei
"/etc/rc.d/rc.local"
hinzu. - Deaktivieren Sie den VF-Treiber.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- Führen Sie den Befehl update-initramfs -u aus und starten Sie den Server neu.
- Für Karten vom Typ Intel 82599/82599ES im SR-IOV-Modus:
Validieren von SR-IOV (optional)
Sie können schnell feststellen, ob SR-IOV auf der Hostmaschine aktiviert ist, indem Sie folgenden Befehl ausführen:
lspci | grep -i Ethernet
Überprüfen Sie, ob virtuelle Funktionen verfügbar sind:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)