Erstellen eines virtuellen Linux-Computers mit beschleunigtem Netzwerkbetrieb mithilfe der Azure CLI

Erstellung über das Portal

In diesem Artikel werden die Schritte zum Erstellen eines virtuellen Computers mit beschleunigtem Netzwerkbetrieb mithilfe der Azure-Befehlszeilenschnittstelle dargestellt, Sie können jedoch auch über das Azure-Portal einen virtuellen Computer mit beschleunigtem Netzwerkbetrieb erstellen. Wenn Sie einen virtuellen Computer im Portal erstellen, wählen Sie im Blatt Virtuellen Computer erstellen die Registerkarte Netzwerkbetrieb aus. Auf dieser Registerkarte gibt es eine Option für Beschleunigter Netzwerkbetrieb. Wenn Sie ein unterstütztes Betriebssystem und eine VM-Größe ausgewählt haben, wird diese Option automatisch auf „Ein“ festgelegt. Andernfalls wird die Option für den beschleunigten Netzwerkbetrieb auf „Aus“ festgelegt, und die Benutzer werden darüber informiert, warum der beschleunigte Netzwerkbetrieb nicht aktiviert ist.
Sie können den beschleunigten Netzwerkbetrieb auch nach der Erstellung der VM über das Portal aktivieren oder deaktivieren, indem Sie zur Netzwerkschnittstelle navigieren und oben auf dem Blatt Übersicht auf die Schaltfläche klicken.

Hinweis

Die Einstellung „Beschleunigter Netzwerkbetrieb“ im Portal spiegelt den vom Benutzer ausgewählten Zustand wider. AccelNet ermöglicht die Auswahl von „Deaktiviert“, auch wenn die VM-Größe AccelNet erfordert. Für diese VM-Größen, die AccelNet erfordern, wird AccelNet zur Laufzeit aktiviert, unabhängig von der Im Portal vorhandenen Benutzereinstellung.

Nur unterstützte Betriebssysteme können über das Portal aktiviert werden. Wenn Sie ein benutzerdefiniertes Image verwenden und Ihr Image den beschleunigten Netzwerkbetrieb unterstützt, erstellen Sie Ihre VM mithilfe der CLI oder mit PowerShell.

Nachdem die VM erstellt wurde, können Sie bestätigen, dass der beschleunigte Netzwerkbetrieb aktiviert ist, indem Sie die Anweisungen zur Bestätigung befolgen.

CLI-Erstellung

Erstellen eines virtuellen Netzwerks

Installieren Sie die neueste Version der Azure CLI, und melden Sie sich mit az login bei einem Azure-Konto an. Ersetzen Sie in den folgenden Beispielen die Beispielparameternamen durch Ihre eigenen Werte. Zu Parameternamen zählen z.B. myResourceGroup, myNic und myVm.

Erstellen Sie mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird am Standort centralus eine Ressourcengruppe namens myResourceGroup erstellt:

az group create --name myResourceGroup --location centralus

Wählen Sie aus der Auflistung unter Beschleunigter Netzwerkbetrieb für Linux eine unterstützte Linux-Region aus.

Erstellen Sie mit az network vnet create ein virtuelles Netzwerk. Im folgenden Beispiel wird ein virtuelles Netzwerk namens myVnet mit einem Subnetz erstellt:

az network vnet create \
    --resource-group myResourceGroup \
    --name myVnet \
    --address-prefix 192.168.0.0/16 \
    --subnet-name mySubnet \
    --subnet-prefix 192.168.1.0/24

Erstellen einer Netzwerksicherheitsgruppe

Erstellen Sie mit az network nsg create eine Netzwerksicherheitsgruppe. Im folgenden Beispiel wird eine Netzwerksicherheitsgruppe namens myNetworkSecurityGroup erstellt:

az network nsg create \
    --resource-group myResourceGroup \
    --name myNetworkSecurityGroup

Die Netzwerksicherheitsgruppe enthält mehrere Standardregeln, von denen eine sämtlichen eingehenden Zugriff über das Internet deaktiviert. Öffnen Sie mit az network nsg rule create einen Port, um SSH-Zugriff auf den virtuellen Computer zuzulassen:

az network nsg rule create \
  --resource-group myResourceGroup \
  --nsg-name myNetworkSecurityGroup \
  --name Allow-SSH-Internet \
  --access Allow \
  --protocol Tcp \
  --direction Inbound \
  --priority 100 \
  --source-address-prefix Internet \
  --source-port-range "*" \
  --destination-address-prefix "*" \
  --destination-port-range 22

Erstellen einer Netzwerkschnittstelle mit beschleunigtem Netzwerkbetrieb

Erstellen Sie mit az network public-ip create eine öffentliche IP-Adresse. Wenn Sie nicht beabsichtigen, über das Internet auf die VM zuzugreifen, wird keine öffentliche IP-Adresse benötigt. Es ist jedoch erforderlich, die Schritte in diesem Artikel auszuführen.

az network public-ip create \
    --name myPublicIp \
    --resource-group myResourceGroup

Erstellen Sie mit az network nic create eine Netzwerkschnittstelle mit aktiviertem beschleunigtem Netzwerkbetrieb. Im folgenden Beispiel wird eine Netzwerkschnittstelle mit dem Namen myNic im Subnetz mySubnet des virtuellen Netzwerks myVnet erstellt und die Netzwerksicherheitsgruppe myNetworkSecurityGroup der Netzwerkschnittstelle zugeordnet:

az network nic create \
    --resource-group myResourceGroup \
    --name myNic \
    --vnet-name myVnet \
    --subnet mySubnet \
    --accelerated-networking true \
    --public-ip-address myPublicIp \
    --network-security-group myNetworkSecurityGroup

Erstellen einer VM und Anfügen der NIC

Geben Sie bei der Erstellung der VM mit --nics die NIC an, die Sie erstellt haben. Wählen Sie aus der Auflistung unter Beschleunigter Netzwerkbetrieb für Linux eine Größe und eine Distribution aus.

Erstellen Sie mit az vm create einen virtuellen Computer. Im folgenden Beispiel wird eine VM namens myVM mit dem UbuntuLTS-Image und einer Größe erstellt, die beschleunigten Netzwerkbetrieb unterstützt (Standard_DS4_v2):

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image UbuntuLTS \
    --size Standard_DS4_v2 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --nics myNic

Eine Liste aller VM-Größen und -Eigenschaften finden Sie unter Größen für virtuelle Linux-Computer in Azure.

Nachdem die VM erstellt wurde, wird eine ähnliche Ausgabe wie die folgende Beispielausgabe zurückgegeben. Notieren Sie sich publicIpAddress. Diese Adresse wird später verwendet, um auf die VM zuzugreifen.

{
  "fqdns": "",
  "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "centralus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "192.168.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Bestätigen der Aktivierung des beschleunigten Netzwerkbetriebs

Erstellen Sie mit dem folgenden Befehl eine SSH-Sitzung mit dem virtuellen Computer. Ersetzen Sie <your-public-ip-address> durch die öffentliche IP-Adresse, die der von Ihnen erstellten VM zugewiesen wurde, und ersetzen Sie <your-public-ip-address>, wenn Sie beim Erstellen der VM für --admin-username einen anderen Wert verwenden haben.

ssh azureuser@<your-public-ip-address>

Geben Sie in der Bash-Shell uname -r ein, und vergewissern Sie sich, dass es sich bei der Kernelversion um eine der folgenden Versionen oder eine höhere Version handelt:

  • Ubuntu 16.04: 4.11.0-1013
  • SLES SP3: 4.4.92-6.18
  • RHEL: 3.10.0-693, 2.6.32-573*
  • CentOS: 3.10.0-693

Hinweis

Möglicherweise werden auch andere Kernelversionen unterstützt. Die aktuellste Liste finden Sie unter Unterstützte virtuelle Linux- und FreeBSD-Computer für Hyper-V unter Windows Server und Windows in den Kompatibilitätstabellen für jede Distribution. Vergewissern Sie sich, dass SR-IOV unterstützt wird. Weitere Details finden Sie in den Versionshinweisen zu Linux Integration Services für Hyper-V und Azure. * RHEL 6.7 bis 6.10 werden unterstützt, wenn die Mellanox VF-Version 4.5+ vor Linux Integration Services 4.3+ installiert wird.

Bestätigen Sie mithilfe des Befehls lspci, dass das Mellanox VF-Gerät für die VM verfügbar gemacht wurde. Die zurückgegebene Ausgabe sieht in etwa wie folgt aus:

0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
0001:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

Suchen Sie mithilfe des Befehl ethtool -S eth0 | grep vf_ nach der Aktivität für die VF (virtuelle Funktion). Wenn Sie eine Ausgabe ähnlich der folgenden Beispielausgabe erhalten, wurde der beschleunigte Netzwerkbetrieb aktiviert und ist in Betrieb.

vf_rx_packets: 992956
vf_rx_bytes: 2749784180
vf_tx_packets: 2656684
vf_tx_bytes: 1099443970
vf_tx_dropped: 0

Der beschleunigte Netzwerkbetrieb ist nun für Ihre VM aktiviert.

Verarbeiten dynamischer Bindung und Sperrung der virtuellen Funktion

Anwendungen müssen über die synthetische NIC ausgeführt werden, die in der VM bereitgestellt wird. Wenn die Anwendung direkt über die VF-NIC ausgeführt wird, empfängt sie nicht alle Pakete, die an die VM gerichtet sind, da einige Pakete über die synthetische Schnittstelle angezeigt werden. Wenn Sie eine Anwendung über die synthetische NIC ausführen, ist garantiert, dass die Anwendung alle Pakete empfängt, die für sie bestimmt sind. Außerdem wird so sichergestellt, dass die Anwendung weiterhin ausgeführt wird, selbst wenn die VF während der Wartung des Hosts aufgehoben wird. Anwendungen, die eine Bindung an die synthetische NIC verwenden, sind eine obligatorische Voraussetzung für alle Anwendungen, die beschleunigten Netzwerkbetrieb nutzen.

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

Aktivieren des beschleunigten Netzwerkbetriebs auf vorhandenen VMs

Wenn Sie eine VM ohne beschleunigten Netzwerkbetrieb erstellt haben, können Sie dieses Feature für die vorhandene VM aktivieren. Die VM muss folgende Voraussetzungen erfüllen, um den beschleunigten Netzwerkbetrieb zu unterstützen:

  • Die VM muss eine unterstützte Größe für den beschleunigten Netzwerkbetrieb aufweisen.
  • Bei der VM muss es sich um ein unterstütztes Image aus dem Azure-Katalog (und eine unterstützte Kernelversion für Linux) handeln.
  • Alle VMs in einer Verfügbarkeitsgruppe oder VM-Skalierungsgruppe müssen beendet und ihre Zuordnung muss aufgehoben werden, bevor Sie den beschleunigten Netzwerkbetrieb in einer Netzwerkschnittstelle aktivieren können.

Einzelne VMs und VMs in einer Verfügbarkeitsgruppe

Beenden Sie die VM, und heben Sie ihre Zuordnung auf. Falls es sich um eine Verfügbarkeitsgruppe handelt, führen Sie diese Vorgänge für alle VMs in der Gruppe aus:

az vm deallocate \
    --resource-group myResourceGroup \
    --name myVM

Wenn Sie eine Einzel-VM erstellt haben (ohne Verfügbarkeitsgruppe), müssen Sie nur diese eine VM beenden oder ihre Zuordnung aufheben, um den beschleunigten Netzwerkbetrieb zu aktivieren. Wenn Ihre VM mit einer Verfügbarkeitsgruppe erstellt wurde, müssen alle in der Verfügbarkeitsgruppe enthaltenen VMs beendet und ihre Zuordnung aufgehoben werden, bevor Sie den beschleunigten Netzwerkbetrieb für eine der Netzwerkschnittstellen aktivieren können.

Aktivieren Sie dann den beschleunigten Netzwerkbetrieb in der Netzwerkschnittstelle Ihrer VM:

az network nic update \
    --name myNic \
    --resource-group myResourceGroup \
    --accelerated-networking true

Starten Sie Ihre VM bzw. im Fall einer Verfügbarkeitsgruppe alle VMs in der Gruppe neu, und überprüfen Sie, ob der beschleunigte Netzwerkbetrieb aktiviert wurde:

az vm start --resource-group myResourceGroup \
    --name myVM

VM-Skalierungssgruppe

Eine VM-Skalierungsgruppe funktioniert etwas anders, folgt aber dem gleichen Workflow. Beenden Sie zuerst die VMs:

az vmss deallocate \
    --name myvmss \
    --resource-group myrg

Sobald alle VMs beendet sind, aktualisieren Sie die Eigenschaft für den beschleunigten Netzwerkbetrieb in der Netzwerkschnittstelle:

az vmss update --name myvmss \
    --resource-group myrg \
    --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true

Hinweis

VM-Upgrades für eine VM-Skalierungsgruppe können mit einer von drei verschiedenen Einstellungen angewendet werden: „Automatisch“, „Parallel“ und „Manuell“. In diesen Anweisungen wird die Richtlinie auf „Automatisch“ festgelegt, sodass die VM-Skalierungsgruppe die Änderungen sofort nach dem Neustart übernimmt. So legen Sie die Einstellung auf „Automatisch“ fest, damit die Änderungen sofort übernommen werden:

az vmss update \
    --name myvmss \
    --resource-group myrg \
    --set upgradePolicy.mode="automatic"

Starten Sie schließlich die VM-Skalierungsgruppe neu:

az vmss start \
    --name myvmss \
    --resource-group myrg

Warten Sie nach dem Neustart, bis die Upgrades vollständig abgeschlossen sind. Anschließend wird die VF in der VM angezeigt. (Stellen Sie sicher, dass Sie ein unterstütztes Betriebssystem und eine unterstützte VM-Größe verwenden.)

Ändern der Größe vorhandener VMs mit beschleunigtem Netzwerkbetrieb

VMs mit aktiviertem beschleunigtem Netzwerkbetrieb können nur zu VM-Größen geändert werden, die den beschleunigten Netzwerkbetrieb unterstützen.

Eine VM mit aktiviertem beschleunigtem Netzwerkbetrieb kann nicht in eine VM-Größe geändert werden, die den beschleunigten Netzwerkbetrieb nicht unterstützt. Ändern Sie die VM-Größe stattdessen in eine der folgenden VMs:

  • Beenden Sie die VM, und heben Sie ihre Zuordnung auf. Falls es sich um eine VM-Skalierungsgruppe handelt, führen Sie diese Vorgänge für alle VMs in der Gruppe aus.
  • Der beschleunigte Netzwerkbetrieb muss in der Netzwerkschnittstelle der VM bzw. im Fall einer Verfügbarkeits- oder VM-Skalierungsgruppe in den Netzwerkschnittstellen aller VMs deaktiviert werden.
  • Sobald der beschleunigte Netzwerkbetrieb deaktiviert ist, kann die Größe der VM bzw. der Verfügbarkeits- oder VM-Skalierungsgruppe in eine neue Größe ohne Unterstützung des beschleunigten Netzwerkbetriebs geändert und neu gestartet werden.

Nächste Schritte