Amazon Elastic Compute Cloud
Benutzerhandbuch für Linux-Instances

Aktivieren von Enhanced Networking mit der Intel 82599 VF-Schnittstelle in 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 aus einem aktuellen Amazon Linux HVM-AMI starten, ist die optimierte Netzwerkleistung in Ihrer 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.

  • Installieren und konfigurieren Sie AWS CLI oder AWS-Tools für Windows PowerShell auf einem Computer Ihrer Wahl, vorzugsweise einem lokalen Desktop oder Laptop. Weitere Informationen finden Sie unter Zugriff auf Amazon EC2. 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 des Kernels und einzelner Kernel-Module sowie die Aktivierung des sriovNetSupport-Attributes kann dazu führen, dass inkompatible Instances oder Betriebssysteme nicht mehr erreichbar sind; wenn Sie eine aktuelle Sicherung erstellt haben, gehen Ihre Daten nicht verloren, falls das passiert.

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.

Instance-Attribut (sriovNetSupport)

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

  • describe-instance-attribute (AWS CLI)

    aws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport
  • Get-EC2InstanceAttribute (AWS-Tools für Windows PowerShell)

    Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport

Wenn das Attribut nicht gesetzt wurden, ist das Element SriovNetSupport leer; andernfalls sieht es wie folgt aus:

"SriovNetSupport": { "Value": "simple" },

Abbild-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:

  • describe-image-attribute (AWS CLI)

    aws ec2 describe-image-attribute --image-id ami_id --attribute sriovNetSupport

    Beachten Sie, dass dieser Befehl nur für Abbilder funktioniert, deren Eigentümer Sie sind. Es wird eine AuthFailure-Fehlermeldung ausgegeben, wenn das Abbild nicht zu Ihrem Konto gehört.

  • Get-EC2ImageAttribute (AWS-Tools für Windows PowerShell)

    Get-EC2ImageAttribute -ImageId ami-id -Attribute sriovNetSupport

Wenn das Attribut nicht gesetzt wurden, ist das Element SriovNetSupport leer; andernfalls sieht es wie folgt aus:

"SriovNetSupport": { "Value": "simple" },

Netzwerkschnittstellentreiber

Überprüfen Sie mit dem folgenden Befehl, ob das Modul aktuell auf einer bestimmten Schnittstelle verwendet wird; setzten 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. D. h. wenn Sie einen Instance-Typ aus einem aktuellen Amazon Linux HVM-AMI starten, ist die optimierte Netzwerkleistung in Ihrer Instance bereits aktiviert. Weitere Informationen finden Sie unter Testen, ob Enhanced Networking aktiviert ist.

Wenn Sie Ihre Instance aus einem älteren Amazon Linux HVM-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 neu, indem Sie die Amazon EC2-Konsole oder einen der folgenden Befehle verwenden: reboot-instances (AWS CLI), Restart-EC2Instance (AWS-Tools für 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. [In EBS gesicherte Instance] Halten Sie die Instance auf Ihrem lokalen Computer unter Verwendung der Amazon EC2 -Konsole oder eines der folgenden Befehle an: stop-instances (AWS CLI), Stop-EC2Instance (AWS-Tools für Windows PowerShell). Wenn Ihre Instance von AWS OpsWorks verwaltet wird, sollten Sie die Instance in der AWS OpsWorks-Konsole anhalten, damit der Instance-Status 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:

    • modify-instance-attribute (AWS CLI)

      aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    • Edit-EC2InstanceAttribute (AWS-Tools für 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 auf Ihrem lokalen Computer, indem Sie die Amazon EC2-Konsole oder einen der folgenden Befehle verwenden: start-instances (AWS CLI), Start-EC2Instance (AWS-Tools für Windows PowerShell). Wenn Ihre Instance von AWS OpsWorks verwaltet wird, sollten Sie die Instance in der AWS OpsWorks-Konsole starten, damit der Instance-Status 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 eines Instance Store-Backupen Linux-AMI beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

  • register-image (AWS CLI)

    aws ec2 register-image --sriov-net-support simple ...
  • Register-EC2Image (AWS-Tools für 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.

So installieren Sie das Paket "linux-aws kernel"

  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-Verteilungen

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-Verteilungen 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 Ihren aktuellen Kernel kompilieren und anschließend ein Upgrade Ihres Kernels durchführen, ohne einen neuen Build des Treibers für den neuen Kernel zu erstellen, wechselt Ihr System beim nächsten Neustart möglicherweise zurück zu dem ursprünglichen ixgbevf-Modul der Distribution; wenn diese Version mit Enhanced Networking nicht kompatibel ist, können Sie evtl. nicht mehr auf das System zugreifen.

  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. [In EBS gesicherte Instance] Halten Sie die Instance auf Ihrem lokalen Computer unter Verwendung der Amazon EC2-Konsole oder eines der folgenden Befehle an: stop-instances (AWS CLI), Stop-EC2Instance (AWS-Tools für Windows PowerShell). Wenn Ihre Instance von AWS OpsWorks verwaltet wird, sollten Sie die Instance in der AWS OpsWorks-Konsole anhalten, damit der Instance-Status 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).

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

    • modify-instance-attribute (AWS CLI)

      aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    • Edit-EC2InstanceAttribute (AWS-Tools für 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 auf Ihrem lokalen Computer, indem Sie die Amazon EC2-Konsole oder einen der folgenden Befehle verwenden: start-instances (AWS CLI), Start-EC2Instance (AWS-Tools für Windows PowerShell). Wenn Ihre Instance von AWS OpsWorks verwaltet wird, sollten Sie die Instance in der AWS OpsWorks-Konsole starten, damit der Instance-Status 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 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 eines Instance Store-Backupen Linux-AMI beschreiben, um sicherzustellen, dass Sie das Enhanced Networking-Attribut aktivieren, wenn Sie das AMI registrieren.

  • register-image (AWS CLI)

    aws ec2 register-image --sriov-net-support simple ...
  • Register-EC2Image (AWS-Tools für 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?