Aktivieren von Enhanced Networking mit der Intel 82599 VF-Schnittstelle für Linux-Instances - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktivieren von Enhanced Networking mit der Intel 82599 VF-Schnittstelle für Linux-Instances

Amazon EC2 stellt Enhanced Networking-Funktionen über die Intel 82599 VF-Schnittstelle bereit, die den Intel-Treiber ixgbevf verwendet.

Voraussetzungen

Zur Vorbereitung für Enhanced Networking mit der Intel 82599 VF-Schnittstelle sollten Sie Ihre Instance wie folgt einrichten:

  • Wählen Sie einen der folgenden unterstützten Instance-Typen aus: C3, C4, D2, I2, M4 (außer m4.16xlarge) und R3.

  • Starten Sie die Instance aus einem HVM-AMI mit der Linux-Kernel-Version 2.6.32 oder höher. In den aktuellen Amazon Linux HVM-AMIs sind die für Enhanced Networking erforderlichen Module bereits installiert und die entsprechenden Attribute gesetzt. D. h., wenn Sie eine Amazon-EBS-gestützte Instance mit Enhanced-Networking-Unterstützung mithilfe eines aktuellen Amazon Linux HVM-AMI starten, ist Enhanced Networking für Ihre Instance bereits aktiviert.

    Warnung

    Enhanced Networking wird ausschließlich für HVM-Instances unterstützt. Die Aktivierung von Enhanced Networking in einer PV-Instance kann dazu führen, dass diese nicht mehr erreichbar ist. Das Setzen dieses Attributs, ohne dass das richtige Modul bzw. die richtige Modulversion vorhanden ist, kann ebenso dazu führen, dass die Instance nicht mehr erreichbar ist.

  • Überprüfen Sie, ob der Instance eine Verbindung zum Internet fehlt.

  • Verwenden Sie AWS CloudShelldas AWS Management Console oder installieren und konfigurieren Sie das AWS CLIoder AWS Tools for Windows PowerShellauf einem beliebigen Computer Ihrer Wahl, vorzugsweise auf Ihrem lokalen Desktop oder Laptop. Weitere Informationen finden Sie unter Zugriff auf Amazon EC2 oder im AWS CloudShell -Benutzerhandbuch. Enhanced Networking kann nicht über die Amazon EC2-Konsole verwaltet werden.

  • Wenn Sie wichtige Daten auf der Instance gespeichert haben, die Sie erhalten möchten, sollten Sie diese Daten jetzt sichern, indem Sie ein AMI von Ihrer Instance erstellen. Die Aktualisierung von Kernels und Kernel-Modulen sowie die Aktivierung des Attributs sriovNetSupport kann dazu führen, dass Instances inkompatibel oder Betriebssysteme unerreichbar werden. Wenn Sie über ein aktuelles Backup verfügen, gehen die Daten nicht verloren, falls das geschieht.

Testen, ob Enhanced Networking aktiviert ist

Enhanced Networking mit der Intel 82599 VF-Schnittstelle ist aktiviert, wenn der das ixgbevf-Modul auf Ihrer Instance installiert ist und das sriovNetSupport-Attribut gesetzt wurde.

Instanzattribut (sriovNetSupport)

Sie prüfen, ob in einer Instance das sriovNetSupport-Attribut für Enhanced Networking gesetzt wurde, indem Sie einen der folgenden Befehle verwenden:

AWS CLI

describe-instance-attribute (AWS CLI/AWS CloudShell)

aws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport
PowerShell

Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport

Wenn das Attribut nicht gesetzt wird, ist SriovNetSupport leer. Wenn das Attribut gesetzt ist, ist der Wert einfach, wie in der folgenden Beispielausgabe gezeigt.

"SriovNetSupport": { "Value": "simple" },
Image-Attribut (sriovNetSupport)

Sie prüfen, ob in einem AMI das sriovNetSupport-Attribut für Enhanced Networking bereits gesetzt wurde, indem Sie einen der folgenden Befehle verwenden:

AWS CLI

describe-images (AWS CLI/AWS CloudShell)

aws ec2 describe-images --image-id ami_id --query "Images[].SriovNetSupport"
PowerShell

Get-EC2Image (AWS Tools for Windows PowerShell)

(Get-EC2Image -ImageId ami-id).SriovNetSupport

Wenn das Attribut nicht gesetzt wird, ist SriovNetSupport leer. Wenn das Attribut gesetzt ist, ist der Wert einfach.

Netzwerkschnittstellentreiber

Prüfen Sie mit dem folgenden Befehl, ob das Modul aktuell an einer bestimmten Schnittstelle verwendet wird; setzen Sie dabei den Namen der Schnittstelle ein, die Sie überprüfen möchten. Wenn Sie eine einzige Schnittstelle verwenden (der Standard), lautet der Name eth0. Wenn das Betriebssystem vorhersagbare Netzwerknamen unterstützt, könnte der Name ens5 lauten.

Im folgenden Beispiel wird das ixgbevf-Modul nicht geladen, da als Treiber vif angezeigt wird.

[ec2-user ~]$ ethtool -i eth0 driver: vif version: firmware-version: bus-info: vif-0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

In diesem Beispiel wird das Modul ixgbevf geladen. In dieser Instance wurde Enhanced Networking richtig konfiguriert.

[ec2-user ~]$ ethtool -i eth0 driver: ixgbevf version: 4.0.3 firmware-version: N/A bus-info: 0000:00:03.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no

Aktivieren von Enhanced Networking in Amazon Linux

In den aktuellen Amazon Linux HVM-AMIs ist das für Enhanced Networking erforderliche ixgbevf-Modul bereits installiert und das sriovNetSupport-Attribute gesetzt. Wenn Sie also einen Instance-Typ mit einem aktuellen Amazon Linux-HVM-AMI starten, ist die optimierte Netzwerkfunktionalität bereits für die Instance aktiviert. Weitere Informationen finden Sie unter Testen, ob Enhanced Networking aktiviert ist.

Wenn Sie Ihre Instance aus einem älteren Amazon Linux AMI gestartet haben und Enhanced Networking noch nicht aktiviert wurde, gehen Sie wie folgt vor, um die optimierte Netzwerkleistung zu aktivieren.

Warnung

Es ist nicht möglich, das Enhanced Networking-Attribut zu deaktivieren, wenn Sie es einmal aktiviert haben.

Aktivieren von Enhanced Networking
  1. Stellen Sie eine Verbindung mit Ihrer Instance her.

  2. Führen Sie den folgenden Befehl in der Instance aus, um die Instance mit dem aktuellen Kernel und den aktuellen Kernel-Modulen einschließlich ixgbevf zu aktualisieren:

    [ec2-user ~]$ sudo yum update
  3. Starten Sie die Instance von Ihrem lokalen Computer aus neu, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: reboot-instances (AWS CLI), Restart-EC2Instance (AWS Tools for Windows PowerShell).

  4. Stellen Sie erneut eine Verbindung mit der Instance her und prüfen Sie, ob das ixgbevf-Modul installiert wurde und in der empfohlenen Mindestversion vorliegt, indem Sie den Befehl modinfo ixgbevf aus dem Abschnitt Testen, ob Enhanced Networking aktiviert ist verwenden.

  5. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: stop-instances (AWS CLI), Stop-EC2Instance (AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.

    [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Gehen Sie stattdessen wie folgt vor: So aktivieren Sie Enhanced Networking (Instance Store-Backed Instances).

  6. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  7. (Optional) Erstellen Sie ein AMI von der Instance, wie unter Erstellen eines Amazon EBS-gestützten Linux-AMI beschrieben. Das AMI erbt das Enhanced Networking-Attribut von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

  8. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.

  9. Stellen Sie eine Verbindung mit der Instance her und prüfen Sie, ob das ixgbevf-Modul installiert und in der Netzwerkschnittstelle geladen wurde, indem Sie den Befehl ethtool -i ethn aus dem Abschnitt Testen, ob Enhanced Networking aktiviert ist verwenden.

So aktivieren Sie Enhanced Networking (Instance Store-Backed Instances)

Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in Erstellen einer Instance-Speicher-Backed Linux-AMI beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

Aktivieren von Enhanced Networking in Ubuntu

Bevor Sie anfangen, überprüfen Sie, ob das Enhanced Networking bereits auf Ihrer Instance aktiviert ist.

Die Quick Start Ubuntu HVM AMIs enthalten die erforderlichen Treiber für Enhanced Networking. Bei einer Version von ixgbevf vor 2.16.4 können Sie das Kernel-Paket linux-aws installieren, um die neuesten Enhanced Networking-Treiber zu erhalten.

In der folgenden Anleitung sind die allgemeinen Schritte für die Kompilierung des ixgbevf-Moduls auf einer Ubuntu-Instance.

linux-aws-Kernel-Paket installieren
  1. Verbinden Sie sich mit der Instance.

  2. Aktualisieren Sie den Cache der Paketverwaltung und die einzelnen Pakete.

    ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
    Wichtig

    Wenn Sie während des Aktualisierungsvorgangs aufgefordert werden, grub zu installieren, verwenden Sie /dev/xvda für die Installation von grub und wählen Sie anschließend aus, dass die aktuelle Version von /boot/grub/menu.lst beibehalten werden soll.

Aktivieren von Enhanced Networking in anderen Linux-Distributionen

Bevor Sie anfangen, überprüfen Sie, ob das Enhanced Networking bereits auf Ihrer Instance aktiviert ist. Die neuesten Quick Start HVM AMIs enthalten die erforderlichen Treiber für Enhanced Networking, Sie müssen deshalb keine weiteren Schritte ausführen.

In der folgenden Anleitung werden die Schritte beschrieben, die Sie für die Aktivierung von Enhanced Networking für die Intel 82599 VF-Schnittstelle unter einer anderen Linux-Distributionen als Amazon Linux oder Ubuntu ausführen müssen. Weitere Informationen z. B. hinsichtlich der genauen Syntax für Befehle, der Speicherorte von Dateien oder der Unterstützung von einzelnen Paketen bzw. Tools finden Sie in der Dokumentation zu der jeweiligen Linux-Distribution.

Aktivieren von Enhanced Networking in Linux
  1. Verbinden Sie sich mit der Instance.

  2. Laden Sie die Quelldatei für das ixgbevf-Modul in Ihrer Instance herunter. Sie finden diese auf der Sourceforge-Website unter https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/.

    Mit früheren Versionen von ixgbevf als 2.16.4 – einschließlich Version 2.14.2 – werden die Builds unter manchen Linux-Distributionen nicht richtig erstellt, einschließlich bestimmter Versionen von Ubuntu.

  3. Kompilieren und installieren Sie das ixgbevf-Module in Ihrer Instance.

    Warnung

    Wenn Sie das ixgbevf-Modul für den aktuellen Kernel kompilieren und anschließend ein Upgrade des Kernels durchführen, ohne einen neuen Build des Treibers für den neuen Kernel zu erstellen, wechselt das System beim nächsten Neustart möglicherweise zum ursprünglichen ixgbevf-Modul der Verteilung zurück. Dies kann den Zugriff auf das System verhindern, wenn die verteilungsspezifische Version mit Enhanced Networking nicht kompatibel ist.

  4. Führen Sie den Befehl sudo depmod aus, um die Abhängigkeiten für das Modul zu aktualisieren.

  5. Aktualisieren Sie initramfs in Ihrer Instance, um sicherzustellen, dass das neue Modul während des Bootvorgangs geladen wird.

  6. Ermitteln Sie, ob Ihr System standardmäßig transparente Netzwerkschnittstellennamen verwendet. Systeme, die systemd- oder udev-Versionen ab 197 verwenden, können Ethernet-Geräte umbenennen, d. h. die einzige Netzwerkschnittstelle in einem solchen System wird nicht zwingend als eth0 bezeichnet. Dieses Verhalten kann Probleme bei der Verbindung mit Ihrer Instance verursachen. Weitere Informationen und andere Konfigurationsoptionen finden Sie unter Predictable Network Interface Names auf der freedesktop.org-Website.

    1. Sie können die systemd- und udev-Versionen auf RPM-basierten Systemen mit den folgenden Befehl überprüfen:

      [ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+' systemd-208-11.el7_0.2.x86_64

      In dem Red Hat Enterprise Linux 7-Beispiel oben lautet die systemd-Version 208, d. h. transparente Netzwerkschnittstellennamen müssen deaktiviert werden.

    2. Sie können transparente Netzwerkschnittstellennamen deaktivieren, indem Sie in der Zeile net.ifnames=0 in der Datei GRUB_CMDLINE_LINUX die Option /etc/default/grub hinzufügen.

      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. Erstellen Sie die neue Grub-Konfigurationsdatei.

      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. [EBS-gestützte Instance] Halten Sie die Instance von Ihrem lokalen Computer aus an, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: stop-instances (AWS CLI/AWS CloudShell), Stop-EC2Instance (AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole beenden, damit der Instanzstatus synchron bleibt.

    [In einem Instance-Speicher gesicherte Instance] Sie können die Instance nicht anhalten, um das Attribut zu ändern. Gehen Sie stattdessen wie folgt vor: So aktivieren Sie Enhanced Networking (Instance-Speicher-gestützte Instances):.

  8. Aktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mit einem der folgenden Befehle:

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  9. (Optional) Erstellen Sie ein AMI von der Instance, wie unter Erstellen eines Amazon EBS-gestützten Linux-AMI beschrieben. Das AMI erbt das Enhanced Networking-Attribut von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

    Wichtig

    Wenn Ihr Instance-Betriebssystem eine /etc/udev/rules.d/70-persistent-net.rules-Datei enthält, müssen Sie diese vor der Erstellung des AMI löschen. Diese Datei enthält die MAC-Adresse des Ethernet-Adapters in der ursprünglichen Instance. Wenn eine andere Instance mit dieser Datei gestartet wird, kann das Betriebssystem das Gerät nicht finden und von eth0 schlägt möglicherweise fehl, was zu Problemen beim Start führt. Diese Datei wird während des nächsten Bootvorgangs neu generiert, und jede aus dem AMI gestartete Instance erstellt eine eigene Version der Datei.

  10. Starten Sie die Instance von Ihrem lokalen Computer aus, indem Sie die Amazon-EC2-Konsole oder einen der folgenden Befehle verwenden: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Wenn Ihre Instance von verwaltet wird AWS OpsWorks, sollten Sie die Instance in der AWS OpsWorks Konsole starten, damit der Instanzstatus synchron bleibt.

  11. (Optional) Stellen Sie eine Verbindung mit Ihrer Instance her und überprüfen Sie, ob das Modul installiert wurde.

So aktivieren Sie Enhanced Networking (Instance-Speicher-gestützte Instances):

Führen Sie die Schritte aus dem vorherigen Verfahren durch bis zu dem Schritt, in dem die Instance angehalten wird. Erstellen Sie ein neues AMI, wie in Erstellen einer Instance-Speicher-Backed Linux-AMI beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

Fehlerbehebung bei Verbindungsproblemen

Wenn die Verbindung bei der Aktivierung von Enhanced Networkings verloren geht, ist das ixgbevf-Modul u. U. nicht mit dem Kernel kompatibel. Versuchen Sie, die Version des ixgbevf-Moduls zu installieren, die in der Linux-Distribution Ihrer Instance enthalten war.

Wenn Sie Enhanced Networking für eine PV-Instance oder -AMI aktivieren, ist Ihre Instance möglicherweise nicht mehr erreichbar.

Weitere Informationen finden Sie unter Wie kann ich Enhanced Networking auf meinen EC2-Instances aktivieren und konfigurieren?