Übersicht über beschleunigten Netzwerkbetrieb

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, deren Dienstende (End-of-Life, EOL) ansteht. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS End-of-Life-Leitfaden.

In diesem Artikel werden die Nutzen, Einschränkungen und unterstützten Konfigurationen des beschleunigten Netzwerkbetriebs beschrieben. Der beschleunigte Netzwerkbetrieb ermöglicht die E/A-Virtualisierung mit Einzelstamm (Single Root I/O Virtualization, SR-IOV) auf unterstützten VM-Typen (virtuelle Computer) und somit eine erhebliche Steigerung der Netzwerkleistung. Dieser Hochleistungsdatenpfad umgeht den Host, wodurch Wartezeit, Jitter und CPU-Auslastung für die anspruchsvollsten Netzwerkworkloads reduziert werden.

Hinweis

Weitere Informationen zur Vorschau des Microsoft Azure-Netzwerkadapters (MANA) finden Sie in der Azure MANA-Dokumentation.

Das folgende Diagramm veranschaulicht, wie zwei VMs mit und ohne beschleunigten Netzwerkbetrieb kommunizieren.

Screenshot der Kommunikation zwischen Azure-VMs mit und ohne beschleunigten Netzwerkbetrieb.

Ohne beschleunigten Netzwerkbetrieb muss sämtlicher Netzwerkdatenverkehr zur und von der VM den Host und den virtuellen Switch passieren. Der virtuelle Switch sorgt für die Erzwingung aller Richtlinien im Netzwerkdatenverkehr. Richtlinien umfassen Netzwerksicherheitsgruppen, Zugriffssteuerungslisten, Isolation und andere virtualisierte Netzwerkdienste.

Mit beschleunigtem Netzwerkbetrieb wird der Netzwerkdatenverkehr, der zur Netzwerkschnittstelle (NIC) der VM gelangt, direkt an die VM weitergeleitet. Der beschleunigte Netzwerkbetrieb lagert alle Netzwerkrichtlinien aus, die vom virtuellen Switch angewendet werden, und wendet sie in der Hardware an. Da die Hardware die Richtlinien anwendet, kann die NIC den Netzwerkdatenverkehr direkt an die VM weiterleiten. Die NIC umgeht den Host und den virtuellen Switch, während sie alle Richtlinien, die sie im Host angewendet hat, beibehält.

Vorteile

Der beschleunigte Netzwerkbetrieb bietet die folgenden Vorteile:

  • Geringere Latenz und mehr Pakete pro Sekunde. Wenn Sie den virtuellen Switch aus dem Datenpfad entfernen, werden die Zeitpakete, die für die Richtlinienverarbeitung auf dem Host aufgewendet werden, entfernt. Außerdem wird die Anzahl der Pakete erhöht, die von der VM verarbeitet werden können.

  • Weniger Jitter. Die Verarbeitungszeit in virtuellen Switches hängt vom Umfang der anzuwendenden Richtlinien und von der Workload der CPU ab, die die Verarbeitung durchführt. Durch das Auslagern der Richtlinienerzwingung auf die Hardware entfällt diese Variabilität, da Pakete direkt an die VM gesendet werden. Das Abladen entfernt auch die Kommunikation zwischen Host und virtuellem Computer, alle Softwareinterrupts und alle Kontextwechsel.

  • Verringerte CPU-Auslastung. Das Umgehen des virtuellen Switch auf dem Host führt zu weniger CPU-Auslastung für die Verarbeitung des Netzwerkdatenverkehrs.

Einschränkungen

  • Die Vorteile des beschleunigten Netzwerkbetriebs gelten nur für die VM, auf der er aktiviert ist.

  • Um optimale Ergebnisse zu erzielen, aktivieren Sie den beschleunigten Netzwerkbetrieb auf mindestens zwei VMs im selben virtuellen Azure-Netzwerk. Dieses Feature hat minimale Auswirkungen auf die Wartezeit, wenn Sie über virtuelle Netzwerke hinweg kommunizieren oder eine lokale Verbindung herstellen.

  • Sie können den beschleunigten Netzwerkbetrieb nicht auf einer VM aktivieren, die ausgeführt wird. Sie können den beschleunigten Netzwerkbetrieb nur auf einer unterstützten VM aktivieren, wenn die VM beendet und die Zuordnung aufgehoben wurde.

  • Sie können keine VMs (klassisch) mit beschleunigtem Netzwerkbetrieb über Azure Resource Manager bereitstellen.

  • Die Azure-Plattform aktualisiert nicht die Mellanox-NIC-Treiber in der VM. Für VMs mit Linux und FreeBSD wird die Kundschaft ermutigt, mit den neuesten Kernelupdates der Distribution auf dem Laufenden zu bleiben. Bei VMs unter Windows sollte die Kundschaft aktualisierte Treiber von der Nvidia-Supportseite anwenden, wenn später Probleme mit einem Treiber auftreten, der mit dem Marketplace-Image geliefert oder auf ein benutzerdefiniertes Image angewandt wird.

Unterstützte Regionen

Beschleunigter Netzwerkbetrieb ist in allen globalen Azure-Regionen und in der Azure Government-Cloud verfügbar.

Unterstützte Betriebssysteme

Die folgenden Versionen von Windows unterstützen den beschleunigten Netzwerkbetrieb:

  • Windows Server 2022
  • Windows Server 2019 Standard/Datacenter
  • Windows Server 2016 Standard/Datacenter
  • Windows Server 2012 R2 Standard/Datacenter
  • Windows 10, Version 21H2 oder höher, einschließlich Windows 10 Enterprise (mehrere Sitzungen)
  • Windows 11, einschließlich Windows 11 Enterprise (mehrere Sitzungen)

Die folgenden Linux- und FreeBSD-Distributionen aus dem Azure Marketplace unterstützen ohne zusätzliche Konfiguration den beschleunigten Netzwerkbetrieb:

  • Ubuntu 14.04 mit dem Azure-Linux-Kernel
  • Ubuntu 16.04 oder höher
  • SLES12 SP3 oder höher
  • RHEL 7.4 oder höher
  • CentOS 7.4 oder höher
  • CoreOS Linux
  • Debian „Stretch“ mit Backports-Kernel
  • Debian „Buster“ oder höher
  • Oracle Linux 7.4 und höher mit Red Hat Compatible Kernel (RHCK)
  • Oracle Linux 7.5 und höher mit UEK-Version 5
  • FreeBSD 10.4, 11.1, 12.0 und 12.0 oder höher

Unterstützte VM-Instanzen

Die meisten Größen universeller, computeoptimierter Instanzen mit mindestens zwei vCPUs unterstützen den beschleunigten Netzwerkbetrieb. Auf Instanzen, die Hyperthreading unterstützen, wird der beschleunigte Netzwerkbetrieb auf VM-Instanzen mit mindestens vier vCPUs unterstützt.

Informationen zur Überprüfung, ob eine VM-Größe den beschleunigten Netzwerkbetrieb unterstützt, finden Sie unter Größen für virtuelle Computer in Azure.

Sie können die Liste der VM-SKUs, die den beschleunigten Netzwerkbetrieb unterstützen, direkt abfragen, indem Sie den Befehl az vm list-skus der Azure CLI verwenden:

az vm list-skus \
  --location westus \
  --all true \
  --resource-type virtualMachines \
  --query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
  --output table

Hinweis

Obwohl NC- und NV-Größen in der Befehlsausgabe angezeigt werden, unterstützen diese Größen den beschleunigten Netzwerkbetrieb nicht. Das Aktivieren des beschleunigten Netzwerkbetriebs auf NC- oder NV-VMs hat keine Auswirkungen.

Benutzerdefinierte VM-Images

Wenn Sie ein benutzerdefiniertes Image verwenden, das beschleunigten Netzwerkbetrieb unterstützt, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen.

Unterstützte Geräte und Treiber

Jedes benutzerdefinierte Image, das beschleunigten Netzwerkbetrieb unterstützt, muss Treiber enthalten, die die Single Root E/A-Virtualisierung für die auf Azure-Plattformen verwendeten Netzwerkkarten (NIC) ermöglichen. Diese Hardwareliste enthält NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 und den Microsoft Azure Network Adapter (MANA).

Dynamische Bindung und Sperrung der virtuellen Funktion

Für den beschleunigten Netzwerkbetrieb müssen Gastbetriebssystemimages die dynamisch entfernte oder hinzugefügte virtuelle Funktion ordnungsgemäß verarbeiten können. Szenarien wie Host-Wartung oder Livemigration führen zu einer dynamischen Sperrung der virtuellen Funktion und Wiederherstellung nach dem Wartungsereignis. Außerdem müssen Anwendungen sicherstellen, dass sie sich mit dem synthetischen Gerät und nicht mit der virtuellen Funktion verbinden, um die Netzwerkverbindung während dieser Events aufrechtzuerhalten.

Weitere Informationen zu den Anforderungen an die Anwendungsbindung finden Sie unter Funktionsweise des beschleunigten Netzwerkbetriebs auf Linux- und FreeBSD-VMs.

Konfigurieren von Treibern, die nicht verwaltet werden sollen

Für den beschleunigten Netzwerkbetrieb sind Netzwerkkonfigurationen erforderlich, die die NVIDIA-Treiber als nicht verwaltete Geräte kennzeichnen. Images mit Cloud-Init, Version 19.4 oder höher, verfügen über ein Netzwerk, das während der Bereitstellung ordnungsgemäß konfiguriert wurde, um den beschleunigten Netzwerkbetrieb zu unterstützen. Es wird davon abgeraten, dass Sie konkurrierende Netzwerkschnittstellensoftware (wie ifupdown und networkd) auf benutzerdefinierten Images ausführen und dhcpclient direkt auf mehreren Schnittstellen ausführen.

Das folgende Beispiel zeigt einen Beispielkonfigurations-Drop-In für NetworkManager auf RHEL oder CentOS:

sudo cat <<EOF > /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
# Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
# This interface is transparentlybonded to the synthetic interface,
# so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
EOF

Netzwerkdatenverkehr verwendet den Pfad für beschleunigte Netzwerkbetriebsdaten

Für NVIDIA-Treiber: Überprüfen Sie, ob die Pakete über die VF-Schnittstelle fließen.

Für MANA-Treiber: Vergewissern Sie sich, dass der Datenverkehr durch MANA fließt.