Detaillierte Erläuterung der SRIOV-Passthrough-Konfiguration und Leistungstests basierend auf KVM

Detaillierte Erläuterung der SRIOV-Passthrough-Konfiguration und Leistungstests basierend auf KVM

SRIOV-Einführung, VF-Passthrough-Konfiguration und Leistungstest der Paketweiterleitungsrate

Inhaltsverzeichnis

  • 1. Einführung in SRIOV
  • 2. Umgebungsbeschreibung
  • 3. Aktivieren Sie SRIOV
  • 4. VF generieren
  • 5. VF-Durchgang
  • 6. Aktivieren Sie irqbalance
  • 7. VM-Migration
  • 8. Bandbreitenbeschränkung
  • 9. Sicherheit
  • 10. Sonstige Nutzungsbeschränkungen
  • 11. Leistungstests
  • 12. Verwenden von VF in virtuellen Windows-Maschinen
  • 13. Betriebs- und Wartungsbefehle
  • 14. Host blockiert VF-Treiber
  • Anhang. Testmethode für die Paketweiterleitungsrate
  • Anhang. Referenzdokumente

1. Einführung in SRIOV

▷ Engpass der herkömmlichen Methode: Die herkömmliche Methode der Netzwerkkarte von Qemu besteht darin, eine Tap-Netzwerkkarte zum Überbrücken der Brücke des Hosts zu verwenden. Allerdings ist die Leistung sehr schlecht, insbesondere die Paketweiterleitungsrate ist sehr niedrig, was es schwierig macht, Szenarien mit hohen Leistungsanforderungen zu erfüllen. Der Hauptgrund für die schlechte Leistung ist, dass der Pfad zu lang ist und durch zu viele Kernelgeräte führt. Der grundlegende Grund ist, dass der Linux/Unix-Kernel selbst nicht für hohe Leistung ausgelegt ist. Linux/Unix eignet sich eher für Kontrollebenen als für Weiterleitungsebenen.
▷ Lösung: Reduzieren Sie die Zwischenpfade. Der einfachste und effektivste Weg ist, den Kernel zu umgehen. Die Rolle von SRIOV besteht darin, den Host-Kernel zu umgehen.
▷ PF und VF: Jede physische Netzwerkkarte (z. B. p1p1) ist eine PF. Nachdem SRIOV aktiviert wurde, kann jede PF eine feste Anzahl von VFs generieren. Jede VF kann direkt als Netzwerkkarte auf dem Host verwendet oder direkt als Netzwerkkarte in der virtuellen Maschine mit der virtuellen QEMU-Maschine verbunden werden, wodurch der Host-Kernel umgangen wird.

Zunächst wird das Fazit des Leistungstests gegeben. Im Vergleich zur herkömmlichen Tap+Bridge-Lösung weist SRIOV VF Pass-Through eine verbesserte Leistung auf:

▷ Paketweiterleitungsrate erhöht: 677%
▷ Paketweiterleitungsrate erhöht: 171%

2. Umgebungsbeschreibung

Modell: Dell PowerEdge R620
Netzwerkkarte: Intel X520 (82599ES)
Host-Betriebssystem: CentOS 7
VM-Betriebssystem: CentOS 7

3. Aktivieren Sie SRIOV

Aktivieren Sie SRIOV im BIOS, wie in der Abbildung gezeigt

Hinweis: Auch wenn globales SRIOV im BIOS aktiviert ist, kann die Netzwerkkarte weiterhin als normale Netzwerkkarte verwendet werden

Sie müssen VT-d im BIOS aktivieren

Grub-Konfiguration iommu

iommu=pt intel_iommu=ein

4. VF generieren

# Starten Sie die Netzwerkkarte IP Link Set p1p1 up

# Zeigen Sie die PCI-Nummer von pf lshw -c network -businfo an

# Zeigen Sie die Anzahl der von der Netzwerkkarte unterstützten VFS an cat /sys/bus/pci/devices/0000:41:00.0/sriov_totalvfs

# VF generieren, es wird empfohlen, Start-Echo 63 > /sys/bus/pci/devices/0000:41:00.0/sriov_numvfs hinzuzufügen.

Hinweis: Wenn der VF-Treiber des Hosts nicht blockiert ist, müssen Sie nach der Generierung des VF eine Weile warten, bis alle benannten Netzwerkkarten auf dem Host angezeigt werden (andernfalls werden Ihnen eine Reihe von ethX-Netzwerkkarten angezeigt). Je mehr VFS vorhanden sind, desto länger ist die Wartezeit. Bei 63 VFS dauert es etwa 10 Sekunden.

5. VF-Durchgang

Wenn qemu von libvirt verwaltet wird, gibt es drei Konfigurationsmethoden:

▷ Methode 1 (Schnittstelle): Im Gerätebereich hinzufügen

<Schnittstellentyp='Hostdev' verwaltet='Ja'>
 <mac-Adresse='52:54:00:ad:ef:8d'/>
 <Quelle>
 <Adresstyp='pci' Domäne='0x0000' Bus='0x41' Steckplatz='0x10' Funktion='0x0'/>
 </Quelle>
 <vlan>
 <tag id='4010'/>
 </vlan>
</Schnittstelle>

Die Adresse in <source> oben kann beispielsweise gemäß "lshw -c network -businfo" konfiguriert werden.

pci@0000:41:10.0 p1p1_0

▷ Methode 2 (Hostdev): Im Gerätebereich hinzufügen

<hostdev-Modus='Subsystem' Typ='PCI' verwaltet='Ja'>
 <Quelle>
 <Adresse Domäne='0x0000' Bus='0x41' Steckplatz='0x10' Funktion='0x0'/>
 </Quelle>
</hostdev>

Die Adresse in <source> oben wird auch gemäß „lshw -c network -businfo“ konfiguriert.

▷ Methode 3 (Nettopool)

Definieren Sie für jede PF-Netzwerkkarte einen Net-Pool, d. h. bearbeiten Sie jeweils eine XML-Datei. Hier wird nur ein PF angezeigt, editiere sriov-int.xml

<Netzwerk>
 <name>sriov-int</name>
 <Weiterleitungsmodus='Hostdev' verwaltet='Ja'>
 <pf dev='p1p1'/>
 </weiter>
</Netzwerk>

Zum libvirt-Netpool hinzufügen, aktivieren und so einrichten, dass es beim Booten startet

virsh net-define sriov-int.xml
virsh net-start sriov-int
virsh net-autostart sriov-int

Obwohl net-autostart konfiguriert ist, funktioniert es nicht, da beim Starten der physischen Maschine libvirt häufig vor der Generierung von vf gestartet wird (vorausgesetzt, vf wird in rc.local generiert) und net-pool (sriov-int) nach der Generierung von vf gestartet werden sollte. Daher wird empfohlen, den folgenden Inhalt in rc.local hinzuzufügen, um den Start sicherzustellen

IP-Verbindung einrichten, P1P2 einrichten
echo 63 > /sys/bus/pci/devices/0000:41:00.0/sriov_numvfs
virsh net-start sriov-int

Fügen Sie dann die XML-Datei der VM hinzu

<Schnittstellentyp='Netzwerk'>
 <mac-Adresse='52:54:00:ad:ef:8d'/>
 <Quellennetzwerk='sriov-int'/>
 <vlan>
 <tag id='4010'/>
 </vlan>
</Schnittstelle>

So wählen Sie zwischen den drei Methoden

▷ Methode 1: Mehrere Funktionen, kann Mac und VLAN konfigurieren
▷ Methode 2: Mac und VLAN müssen durch Eingabe des IP-Befehls auf dem Host eingestellt werden
▷ Methode 3: Es gibt 2 Probleme

Es liegt ein Fehler vor. Wenn die Gesamtzahl der von allen VMs auf diesem Host verwendeten VFs die VF-Obergrenze überschreitet, wird kein Fehler gemeldet und die VM kann gestartet werden, es können jedoch Ausnahmen auftreten. Wenn die VM durch Destroy heruntergefahren wird, treten bei der entsprechenden VF Probleme auf. Wenn Sie beispielsweise ip link set p1p1 vf 0 mac 00:00:00:00:00:00 verwenden, um sie zurückzusetzen, wird Ihnen „RTNETLINK antwortet: Speicher kann nicht zugewiesen werden“ angezeigt. Es ist schwierig zu reparieren, und selbst wenn es repariert wird, wissen Sie nicht, ob es unsichtbare Ausnahmen gibt.

Es gibt keine Möglichkeit herauszufinden, welches virtuelle Flash-Laufwerk eine bestimmte VM verwendet. Wenn Sie also ein Geschwindigkeitslimit für ein virtuelles Flash-Laufwerk festlegen oder Spoofchk ein- oder ausschalten möchten, können Sie die virtuelle Flash-Laufwerk-Nummer auf dem Host nur mit „ip link show dev p1p1 | grep MAC address“ abrufen, bevor Sie das Geschwindigkeitslimit und andere Vorgänge festlegen können.

Zusammenfassend lässt sich sagen: Methode 3 ist die bequemste, weist jedoch einen Fehler auf. Sie benötigen daher eine gute Logik, um zu verhindern, dass die Gesamtzahl der von der VM verwendeten VFS die Obergrenze überschreitet.

6. Aktivieren Sie irqbalance

x520 hat 2 Warteschlangen, x710 hat 4 Warteschlangen und der Interrupt-Balancing-Dienst (irqbalance) muss in der VM gestartet werden, da sonst nur eine CPU das Datenpaket verarbeitet.

Dies hat auch nichts mit query_rss des vf auf dem Host zu tun.

7. VM-Migration

Die Pass-Through-Netzwerkkarte ist ein PCI-Gerät, aber libvirt und qemu unterstützen keine Migration von VMs mit Nicht-USB-PCI-Geräten, einschließlich Kaltmigration und Hotmigration. Daher kann keine Hotmigration erreicht werden.

Für die Kaltmigration gibt es zwei Lösungen:

▷ Trennen Sie die vf-Netzwerkkarte, verwenden Sie dann libvirt zum Migrieren und schließen Sie die vf-Netzwerkkarte nach der Migration an den neuen Host an
▷ VM aufheben, dann erneut rendern und VM auf dem neuen Host definieren

Hinweis: Sie können die Migrationsfunktion von libvirt nicht verwenden, wenn die VM heruntergefahren ist. Dies kann dazu führen, dass die virtuelle Maschine einschließlich des ursprünglichen Hosts und des neuen Hosts verschwindet.

8. Bandbreitenbeschränkung

Es kann nur die ausgehende Bandbreite begrenzt werden, nicht die eingehende Bandbreite.

IP-Link-Satz p1p1 vf 0 max_tx_rate 100

Gibt an, dass die ausgehende Bandbreite auf 100 Mbit/s begrenzt ist. Diese Grenze ist bei verschiedenen Netzwerkkarten unterschiedlich:

▷ Die Mindestgeschwindigkeitsbegrenzung der x520-Netzwerkkarte beträgt 11 Mbit/s und die Höchstgeschwindigkeitsbegrenzung 10.000 Mbit/s. Die Einstellung auf 0 bedeutet keine Geschwindigkeitsbegrenzung. Wenn der Wert kleiner als 11 oder größer als 10000 ist, wird ein Fehler gemeldet.
▷ Die Mindestgeschwindigkeitsbegrenzung der x710-Netzwerkkarte beträgt 50 Mbit/s und die Höchstgeschwindigkeitsbegrenzung 10.000 Mbit/s. Die Einstellung auf 0 bedeutet keine Geschwindigkeitsbegrenzung. Wenn er kleiner als 50 ist, wird er automatisch auf 50 gesetzt. Wenn er größer als 10000 ist, wird ein Fehler gemeldet.

Hinweis: Das Bandbreitenlimit von vf wird nach dem Herunterfahren der VM nicht zurückgesetzt

9. Sicherheit

Es werden nur Quell-MAC-Filterung und Netzwerkkarten-MAC-Manipulationsschutz unterstützt. Andere Sicherheitsvorkehrungen werden nicht unterstützt (Anti-ARP-Spoofing kann nicht erreicht werden).

Quell-Mac-Filterung

IP-Link-Set p1p1 vf 0 Spoofchk ein

Gibt an, dass das Datenpaket nicht passieren darf, wenn die Quell-MAC des von der VM gesendeten Pakets nicht die angegebene MAC ist. Hinweis: Der Spoofchk von vf wird nach dem Herunterfahren der VM nicht zurückgesetzt.

Manipulationsschutz für Netzwerkkarten auf dem Mac

▷ Wenn Sie den Mac auf dem Host ändern, wird der Mac in der VM nicht geändert. Wenn Sie den Mac in der VM ändern, sind die Änderungen auf dem Host sichtbar.
▷ Wenn die Mac-Adresse beim Herunterfahren der VM geändert wird, wird sie beim Einschalten der VM auf die Mac-Adresse der VM geändert. Wenn die VM wieder heruntergefahren wird, wird sie wieder auf die ursprüngliche Mac-Adresse geändert.
▷ Die MAC-Adresse kann in der VM nur geändert werden, wenn die MAC-Adresse des aktuellen VF auf dem Host ganz aus 0 besteht, auch wenn der Spoofchk des VF ausgeschaltet ist. Es gibt jedoch eine Ausnahme. Wenn Sie die obige Methode 2 zum Konfigurieren von XML verwenden, kann der auf dem Host angezeigte Mac von vf zwar nicht 0 sein, kann aber in der VM geändert werden
▷ Sobald der Mac auf dem Host eingerichtet ist, kann der Mac in der virtuellen Maschine nicht mehr manipuliert werden
▪ Methode 1 (Schnittstelle) zum Konfigurieren von XML. Es wird geschätzt, dass beim Starten der VM automatisch dabei geholfen wird, den Mac auf dem Host einzurichten, sodass die Manipulationsschutzfunktion direkt implementiert wird
▪ Methode 2 (Hostdev) zur Konfiguration von XML, Sie müssen die Mac-Adresse auf dem Host erneut manuell festlegen, um Manipulationssicherheit zu erreichen

Ändern Sie die Mac-Methode auf dem Host manuell (kann geändert werden, wenn die VM aus- oder eingeschaltet ist):

IP-Link-Set p1p1 vf 0 mac aa:bb:cc:dd:ee:ff

Anregung:

▷ VF zurücksetzen, bevor VM gestartet wird
▷ VF zurücksetzen, nachdem VM undefiniert wurde

10. Sonstige Nutzungsbeschränkungen

▷ Die vf-Netzwerkkarte in der VM kann nicht mit der Linux-Brücke in der VM verbunden werden, was auch ebtables unbrauchbar macht, aber iptables kann verwendet werden
▷ Die direkt mit der VM verbundene VF-Netzwerkkarte kann zur OVS-Brücke hinzugefügt werden
▷ Eine VM kann nur bis zu 32 VFs unterstützen. Wenn die Anzahl den Grenzwert überschreitet, wird ein Fehler gemeldet.

11. Leistungstests

Testmethode:

▷ Mehrere VMs senden gleichzeitig Pakete und eine VM empfängt Pakete. Beobachten Sie die Leistung beim Senden und Empfangen von Paketen.
▷ Die sendende VM befindet sich auf demselben Host und die empfangende VM auf einem anderen Host
▷ Testtool: modprobe pktgen
▷ Testpaketgröße: UDP-Paket, Größe ist 64 Bytes

Konfiguration:

▷ VM-Konfiguration besteht aus 4 Kernen und 8G
▷ Alle physischen Netzwerkkarten sind x520 (vf-Warteschlange standardmäßig auf 2)
▷ Sowohl auf dem Host als auch auf der VM ist Irqbalance aktiviert und Numad deaktiviert.
▷ Konfigurieren Sie keine CPU-Bindung oder Numa-Bindung
▷ Große Seite öffnen

Testergebnisse:

Testfazit:

Die Verwendung von SR-IOV+VF-Passthrough kann die Paketweiterleitungsrate erheblich verbessern. Die 1:1-Testergebnisse zeigen, dass das Senden von Paketen im Kernelstatus 3,5 Mpps und der Paketempfang 1,9 Mpps erreichen kann.

▷ Die Paketsenderate ist 1196 % höher als die von vxlan und 677 % höher als die von vlan. Dieses Ergebnis bezieht sich auf 1 zu 1 (1 sendende VM, 1 empfangende VM)
▷ Die Paketempfangsrate ist 363 % höher als die von vxlan und 171 % höher als die von vlan. Dieses Ergebnis bezieht sich auf 3 zu 1 (3 sendende VMs, 1 empfangende VM)

veranschaulichen:

▷ Die Verarbeitungskapazität für Single-Core-Datenpakete (64B) im Kernel-Zustand beträgt 2 Mpps
▷ 2 Mpps liegt daran, dass der Kernel-Engpass 2 Mpps beträgt. Wenn dpdk im Benutzermodus verwendet wird, kann es größer als 2 M sein. Der Grund dafür ist, dass das Paketempfangsende die Paketunterbrechungen auf verschiedene CPUs verteilen muss. Die Methode besteht darin, mehrere Warteschlangen zu verwenden, um jede Warteschlange einer separaten CPU zuzuweisen (irqbalance gleicht automatisch aus). Dann entsprechen unterschiedliche Quell-IPs unterschiedlichen Warteschlangen, d. h. unterschiedlichen Unterbrechungen. Das heißt, 1 VF, 2 Warteschlangen und die VM hat mindestens 2 Kerne. Wenn die Lastausgleichsbedingungen erfüllt sind (MAC und IP sind unterschiedlich), beträgt die maximal theoretisch mögliche Geschwindigkeit 4 Mpps.

Weitere Testergebnisse:

Die im folgenden Test verwendete Paketgröße beträgt 64B

▷ Kernelstatus, Layer 3-Weiterleitungsleistung: Der Paketsender verwendet unterschiedliche Quell-IPs

▪ BCM57800: 2 Mpps
▪ Intel X520: 10 Mpps
▪ Intel X710: 12 Mpps

▷ Kernelstatus, Layer 2-Weiterleitungsleistung: Der Paketsender verwendet eine andere Quell-MAC

▪ BCM57800: 2 Mpps
▪ Intel X520: 7,3 Mpps
▪ Intel X710: 7,8 Mpps

▷ VXLAN-Kapselungsfähigkeit im Kernelstatus

▪ Die innere Schicht von vxlan verwendet verschiedene Quell-IPs zum Senden von Paketen
▪ Paketempfang bei: 1,1-1,2 Mpps

▷ DPDK-Benutzermodus, Layer 2-Weiterleitungsleistung: Der Paketsender verwendet unterschiedliche Quell-IP

▪ BCM57800: Nicht unterstützt
▪ Intel X520: 14,8 Mpps
▪ Intel X710: 14,8 Mpps

SR-IOV-Modus

▪ X520 insgesamt 11,2 Mpps, jede VM ist 11,2 Mpps/Gesamt-VM (d. h. VF-Anzahl)

Zusammenfassen:

▷ Der Interrupt-Ausgleich im Kernelstatus basiert auf den folgenden Faktoren: Schicht 2 basiert auf der Quell-MAC und Schicht 3 basiert auf der Quell-IP
▷ Die Single-Core-Weiterleitungskapazitätsgrenze bei Verwendung des herkömmlichen Interrupt-Modus im Kernel-Zustand beträgt 2 Mpps

Beachten:

▷ Im Kernelzustand führt die Verwendung des Multi-Queue-RSS-Interrupt-Balancing zur Verbesserung des Durchsatzes zu einer sehr hohen CPU-Auslastung
▷ Im Benutzermodus liegt der Durchsatz grundsätzlich nahe der Geschwindigkeitsbegrenzung von 14,8 Mpps, selbst wenn die Quell-Mac oder die Quell-IP festgelegt ist
▷ VXLAN kann nicht mehrere Kerne verwenden, um den Durchsatz zu verbessern, hauptsächlich weil nicht genügend externe Quell-IPs vorhanden sind

12. Verwenden von VF in virtuellen Windows-Maschinen

Gehen Sie zur offiziellen Website der Netzwerkkarte, laden Sie den entsprechenden Treiber herunter und installieren Sie ihn. Nach dem Testen verfügt win2012 standardmäßig über den Treiber 82599 (x520), aber die Version ist alt.

13. Betriebs- und Wartungsbefehle

# Zeigen Sie die Anzahl der von der Netzwerkkarte unterstützten VFS an cat /sys/bus/pci/devices/0000:41:00.0/sriov_totalvfs

# Nachdem der Host den VF-Treiber blockiert hat, überprüfen Sie die Entsprechung zwischen vf und pf https://github.com/intel/SDN-NFV-Hands-on-Samples/blob/master/SR-IOV_Network_Virtual_Functions_in_KVM/listvfs_by_pf.sh
Führen Sie nach dem Herunterladen ./listvfs_by_pf.sh# aus. Nachdem der Host VF blockiert hat, prüfen Sie, welche VFs verwendet werden. yum install dpdk-tools
dpdk-devbind --status

# Prüfen Sie, zu welchem ​​Sockel die Netzwerkkarte gehört
lstopo-keine-Grafiken

# lspci zum Anzeigen der Netzwerkkarteninformationen lspci -Dvmm|grep -B 1 -A 4 Ethernet

# Bestimmten VF-Verkehr auf dem Host anzeigen (unterstützt nur x520, x710 kann nicht gefunden werden)
ethtool -S p1p1 | grep VF

14. Host blockiert VF-Treiber

echo "blacklist ixgbevf" >> /etc/modprobe.d/blacklist.conf

Dies bedeutet, dass beim Starten der physischen Maschine der ixgbevf-Treiber nicht standardmäßig geladen wird. Wenn Sie ixgbevf jedoch manuell modprobe ausführen, wird der Treiber geladen.

Wenn ixgbevf aktuell geladen ist und Sie es deinstallieren möchten, müssen Sie die folgenden Schritte ausführen:

echo 0 > /sys/bus/pci/devices/0000:41:00.0/sriov_numvfs
rmmod ixgbevf
echo 63 > /sys/bus/pci/devices/0000:41:00.0/sriov_numvfs

Anhang. Testmethode für die Paketweiterleitungsrate

modprobe pktgen: Die Pakete werden über pktgen gesendet und die empfangenen Pakete werden über sar -n DEV überprüft. Die gesendeten Pakete sind UDP-Pakete.

#!/bin/bash

NIC="eth1"
DST_IP="192.168.1.2"
DST_MAC="52:54:00:43:99:65"

modprobe pktgen

pg() ​​​​{
 Echo-Injektion > $PGDEV
 Katze $PGDEV
}

pgset() {
 lokales Ergebnis
 echo $1 > $PGDEV

 Ergebnis=`cat $PGDEV | fgrep "Ergebnis: OK:"`
 wenn [ "$result" = "" ]; dann
   cat $PGDEV | fgrep Ergebnis:
 fi
}
# Konfiguration hier starten -----------------------------------------------------------

# Thread-Konfiguration
# Jede CPU hat ihren eigenen Thread. Es werden zwei CPUs getestet. Wir fügen ens7 und eth2 entsprechend hinzu.

PGDEV=/proc/net/pktgen/kpktgend_0
echo "Alle Geräte entfernen"
Seitensatz "rem_device_all"
echo "${NIC} hinzufügen"
pgset "Gerät hinzufügen ${NIC}"

# Gerätekonfiguration
# Verzögerung 0 bedeutet maximale Geschwindigkeit.

CLONE_SKB="Klon_SKB 1000000"
# NIC fügt 4 Byte CRC hinzu
PKT_SIZE="Pkt_Größe 64"

# COUNT 0 bedeutet für immer
COUNT="Anzahl 0"
DELAY="Verzögerung 0"

PGDEV=/proc/net/pktgen/${NIC}
echo "$PGDEV konfigurieren"
Seitensatz "$COUNT"
Seitensatz "$CLONE_SKB"
Seitensatz "$PKT_SIZE"
Seitensatz "$DELAY"
Seite "Dst ${DST_IP}"
Seite "Dst_mac ${DST_MAC}"

# Zeit zum Ausführen
PGDEV=/proc/net/pktgen/pgctrl

echo "Läuft... Strg^C zum Stoppen"
Seitensatz "Start"
echo "Fertig"

# Das Ergebnis kann in /proc/net/pktgen/eth[3,4] angezeigt werden.

▷ Ändern Sie eth1 am Anfang des Skripts in die Netzwerkkarte, die dem Paket entspricht
▷ Ändern Sie 192.168.1.2 am Anfang des Skripts in die Ziel-IP
▷ Ändern Sie 52:54:00:43:99:65 am Anfang des Skripts in den Ziel-Mac

pktgen-dpdk

# Feste IP, fester Mac
setze 0 Ziel-IP 192.168.10.240
setze 0 Quell-IP 192.168.10.245/24
setze 0 dst mac c8:1f:66:d7:58:ba
Satz 0 Quelle Mac a0:36:9f:ec:4a:28

# Variable Quell-IP, variabler Quell-Mac
Stopp 0
Bereich 0 Quell-IP 192.168.0.1 192.168.0.1 192.168.200.200 0.0.0.1
Bereich 0 Ziel-IP 10.1.1.241 10.1.1.241 10.1.1.241 0.0.0.0
Bereich 0 dst mac c8:1f:66:d7:58:ba c8:1f:66:d7:58:ba c8:1f:66:d7:58:ba 00:00:00:00:00:00
Bereich 0 Quelle Mac a0:36:9f:ec:4a:28 a0:36:9f:ec:4a:28 a0:36:9f:ec:ff:ff 00:00:00:00:01:01
Bereich 0 Quellport 100 100 65530 1
Bereich 0 Zielport 100 100 65530 1
Bereich 0 Größe 64 64 64 0
0-Bereich aktivieren
0 Latenz aktivieren
Anfang 0

# Senden Sie Pakete mit 50% Rate eingestellt 0 Rate 50

Anhang. Referenzdokumente

OpenStacks Einschränkungen für sriov
https://docs.openstack.org/mitaka/networking-guide/config-sriov.html

wandern
https://wenku.baidu.com/view/d949db67998fcc22bcd10dfd.html
https://www.chenyudong.com/archives/live-migrate-with-pci-pass-through-fail-with-libvirt-and-qemu.html

sriov-Konfiguration
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/virtualization_host_configuration_and_guest_installation_guide/sect-virtualization_host_configuration_and_guest_installation_guide-sr_iov-how_sr_iov_libvirt_works

Liniengeschwindigkeit
http://netoptimizer.blogspot.tw/2014/05/the-calculations-10gbits-wirespeed.html

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Lösungen für MySql-Abstürze und Dienststartfehler

>>:  Springboot verwendet die Front-End- und Back-End-Interaktion von Vue + Echarts, um dynamische Donut-Diagramme zu realisieren

Artikel empfehlen

Was Sie über Responsive Design wissen müssen

Responsive Design bedeutet, während des Website-E...

CSS imitiert den sanften Umschalttasteneffekt von Apple

Inhaltsverzeichnis 1. Code-Analyse 2. Quellcode Q...

Detaillierte Erklärung der dynamischen Angular-Komponenten

Inhaltsverzeichnis Anwendungsszenarien So erreich...

Windows 2019 Aktivierungs-Tutorial (Office2019)

Vor ein paar Tagen habe ich erfahren, dass die of...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...

Beheben von Problemen beim Importieren und Exportieren von Mysql

Hintergrund Da ich alle meine Aufgaben auf Docker...

Vue implementiert rekursiv benutzerdefinierte Baumkomponenten

In diesem Artikel wird der spezifische Code der r...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.18 winx64

Die Installation komprimierter Pakete hat sich se...

So konfigurieren Sie Http, Https, WS und WSS in Nginx

Vorne geschrieben Im heutigen Internetbereich ist...

Verwenden Sie momentJs, um eine Countdown-Komponente zu erstellen (Beispielcode)

Heute möchte ich einen Countdown von Vue und Mome...

So erstellen Sie eine Testdatenbank mit zig Millionen Testdaten in MySQL

Manchmal müssen Sie basierend auf der offiziell v...