Aktivieren von Enhanced Networking-Funktionen mit dem Elastic Network Adapter (ENA) in Linux-Instances - Amazon Elastic Compute Cloud

Aktivieren von Enhanced Networking-Funktionen mit dem Elastic Network Adapter (ENA) in Linux-Instances

Amazon EC2 bietet optimierte Netzwerkfunktionen über den Elastic Network Adapter (ENA). Um Enhanced Networking nutzen zu können, müssen Sie das erforderliche ENA-Modul installieren und die ENA-Unterstützung aktivieren.

Voraussetzungen

Zur Vorbereitung für Enhanced Networking mit ENA sollten Sie Ihre Instance wie folgt einrichten:

  • Starten Sie die Instance mit einem Instance-Typ der aktuellen Generation, außer mit C4-, D2-, M4-Instances, die kleiner als m4.16xlarge sind, bzw. außer mit T2.

  • Starten Sie die Instance mit einer unterstützten Version des Linux-Kernels sowie einer unterstützten Distribution, um ENA Enhanced Networking für Ihre Instance automatisch zu aktivieren. Weitere Informationen finden Sie unter ENA Linux Kernel Driver Release Notes.

  • Ü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 von Kernels und Kernel-Modulen sowie die Aktivierung des Attributs enaSupport kann dazu führen, dass Instances inkompatibel oder Betriebssysteme unerreichbar werden. Wenn Sie über eine aktuelle Sicherung verfügen, gehen die Daten nicht verloren, falls das geschieht.

Enhanced Networking-Leistung

Die folgende Dokumentation bietet eine Übersicht über die Netzwerkleistung für die Instance-Typen, die ENA Enhanced Networking unterstützen:

Testen, ob Enhanced Networking aktiviert ist

Die folgenden AMIs enthalten das erforderliche ENA-Modul und haben ENA-Unterstützung aktiviert:

  • Amazon Linux 2

  • Amazon Linux AMI 2018.03

  • Ubuntu 14.04 (mit linux-aws-Kernel) oder höher

  • Red Hat Enterprise Linux 7.4 oder höher

  • SUSE Linux Enterprise Server 12 SP2 oder höher

  • CentOS 7.4.1708 oder höher

  • FreeBSD 11.1 oder höher

  • Debian GNU/Linux 9 oder höher

Sie können testen, ob Enhanced Networking bereits aktiviert ist, indem Sie überprüfen, ob das ena-Module in Ihrer Instance installiert ist und ob das enaSupport-Attribut gesetzt wurde. Wenn diese beiden Bedingungen von der Instance erfüllt werden, sollte der Befehl ethtool -i ethn anzeigen, dass das Modul in der Netzwerkschnittstelle verwendet wird.

Kernel-Modul (ena)

Verifizieren Sie, dass das ena-Modul installiert ist. Verwenden Sie dazu den Befehl modinfo, wie im folgenden Beispiel dargestellt.

[ec2-user ~]$ modinfo ena filename: /lib/modules/4.14.33-59.37.amzn2.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.5.0g license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 692C7C68B8A9001CB3F31D0 alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: retpoline: Y intree: Y name: ena ...

In diesem Fall (s. o.) ist das Amazon Linux-Modul bereits unter ena installiert.

ubuntu:~$ modinfo ena ERROR: modinfo: could not find module ena

In der Ubuntu-Instance oben ist das Modul nicht installiert, d. h. Sie müssen es zuerst installieren. Weitere Informationen finden Sie unter Aktivieren von Enhanced Networking in Ubuntu.

Instance-Attribut (enaSupport)

Sie prüfen, ob in einer Instance das enaSupport-Attribut für Enhanced Networking gesetzt wurde, indem Sie einen der folgenden Befehle verwenden. Wenn das Attribut gesetzt wurde, wird als Antwort „true” ausgegeben.

  • describe-instances (AWS CLI)

    aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
  • Get-EC2InstanceTools für Windows PowerShell

    (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport

Abbild-Attribut (enaSupport)

Sie prüfen, ob in einem AMI das enaSupport-Attribut für Enhanced Networking bereits gesetzt wurde, indem Sie einen der folgenden Befehle verwenden. Wenn das Attribut gesetzt wurde, wird als Antwort „true” ausgegeben.

  • describe-images (AWS CLI)

    aws ec2 describe-images --image-id ami_id --query "Images[].EnaSupport"
  • Get-EC2Image (Tools für Windows PowerShell)

    (Get-EC2Image -ImageId ami_id).EnaSupport

Netzwerkschnittstellentreiber

Prüfen Sie mit dem folgenden Befehl, ob das Modul ena 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 ena-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 wurde das ena-Modul bereits geladen und liegt in der empfohlenen Mindestversion vor. In dieser Instance wurde Enhanced Networking richtig konfiguriert.

[ec2-user ~]$ ethtool -i eth0 driver: ena version: 1.5.0g firmware-version: expansion-rom-version: bus-info: 0000:00:05.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

Aktivieren von Enhanced Networking im Amazon Linux AMI

Amazon Linux 2 und die neuesten Versionen von Amazon Linux AMI enthalten das Modul, das für Enhanced Networking erforderlich ist, wenn ENA installiert und die ENA-Unterstützung aktiviert ist. Wenn Sie eine Instance mit einer HVM-Version von Amazon Linux auf einem unterstützten Instance-Typ starten, ist Enhanced Networking für Ihre Instance bereits 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.

Aktivieren von Enhanced Networking im Amazon Linux AMI

  1. Verbinden Sie sich mit der Instance.

  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 ena 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 ena-Modul installiert wurde und in der empfohlenen Mindestversion vorliegt, indem Sie den Befehl modinfo ena 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 im Amazon Linux AMI (Instance Store-Backed Instances).

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

  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 enaSupport 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 ena-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.

    Wenn Sie nach der Aktivierung von Enhanced Networking keine Verbindung zu Ihrer Instance herstellen können, informieren Sie sich unter Elastic Network Adapter (ENA) – Fehlerbehebung.

So aktivieren Sie Enhanced Networking im Amazon Linux AMI (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-Backed 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 --ena-support ...
  • Register-EC2Image (AWS-Tools für Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

Aktivieren von Enhanced Networking in Ubuntu

Die neuesten Ubuntu-HVM-AMIs enthalten das Modul, das für Enhanced Networking mit installierter ENA und aktivierter ENA-Unterstützung erforderlich ist. Wenn Sie also eine Instance mit dem aktuellen Ubuntu HVM-AMI auf einem unterstützten Instance-Typ starten, ist Enhanced Networking bereits für Ihre Instance aktiviert. Weitere Informationen finden Sie unter Testen, ob Enhanced Networking aktiviert ist.

Wenn Sie Ihre Instance aus einem älteren AMI gestartet haben und Enhanced Networking noch nicht aktiviert wurde, können Sie das Kernel-Paket linux-aws installieren, um die aktuellen Enhanced Networking-Treiber zu erhalten und das erforderliche Attribut zu aktualisieren.

So installieren Sie das Paket „linux-aws kernel“ (Ubuntu 16.04 oder höher)

Ubuntu 16.04 und 18.04 werden mit dem benutzerdefinierten Ubuntu-Kernel geliefert (Paket „linux-aws kernel“). Wenn Sie einen anderen Kernel verwenden möchten, wenden Sie sich an den AWS Support.

So installieren Sie das Paket „linux-aws kernel“ (Ubuntu Trusty 14.04)

  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.

  3. [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 unter Ubuntu (Instance Store-Backed Instances).

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

  5. (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 enaSupport von der Instance. D. h. Sie können mit diesem AMI eine andere Instance starten, in der Enhanced Networking standardmäßig aktiviert ist.

  6. 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.

So aktivieren Sie Enhanced Networking unter Ubuntu (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-Backed 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 --ena-support ...
  • Register-EC2Image (AWS-Tools für Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

Aktivieren von Enhanced Networking in Linux

Die neuesten AMIs für Red Hat Enterprise Linux, SUSE Linux Enterprise Server und CentOS enthalten das Modul, das für Enhanced Networking mit ENA und aktivierter ENA-Unterstützung erforderlich ist. Wenn Sie also eine Instance mit dem aktuellen AMI auf einem unterstützten Instance-Typ starten, ist Enhanced Networking bereits für Ihre Instance aktiviert. Weitere Informationen finden Sie unter Testen, ob Enhanced Networking aktiviert ist.

In der folgenden Anleitung werden die Schritte beschrieben, die Sie für die Aktivierung von Enhanced Networking unter einer anderen Linux-Distribution als Amazon Linux AMI 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. Klonen Sie den Quellcode für das ena-Modul auf Ihrer Instance von GitHub unter https://github.com/amzn/amzn-drivers. (SUSE Linux Enterprise Server 12 SP2 und höher enthalten ENA 2.02 standardmäßig, sodass Sie den ENA-Treiber nicht herunterladen und kompilieren müssen. Für SUSE Linux Enterprise Server 12 SP2 und höher sollten Sie eine Anfrage senden, um die gewünschte Treiberversion zum Stock-Kern hinzuzufügen).

    git clone https://github.com/amzn/amzn-drivers
  3. Kompilieren und installieren Sie das ena-Module in Ihrer Instance. Diese Schritte hängen von der Linux-Distribution ab. Weitere Informationen zum Kompilieren des Moduls unter Red Hat Enterprise Linux finden Sie im AWS Knowledge Center-Artikel.

  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. Wenn die Verteilung beispielsweise dracut unterstützt, können Sie den folgenden Befehl verwenden.

    dracut -f -v
  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 dem folgenden Befehl überprüfen.

      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.

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

      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 unter Linux (Instance Store–Backed Instances).

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

  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 enaSupport 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.

    Wenn Sie nach der Aktivierung von Enhanced Networking keine Verbindung zu Ihrer Instance herstellen können, informieren Sie sich unter Elastic Network Adapter (ENA) – Fehlerbehebung.

So aktivieren Sie Enhanced Networking unter Linux (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-Backed 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 --ena-support ...
  • Register-EC2Image (AWS-Tools für Windows PowerShell)

    Register-EC2Image -EnaSupport ...

Aktivieren von Enhanced Networking in Ubuntu mit DKMS

Diese Methode ist nur für Test- und Feedbackzwecke. Sie ist nicht für die Nutzung mit Produktionsbereitstellungen gedacht. Für Produktionsbereitstellungen siehe Aktivieren von Enhanced Networking in Ubuntu.

Wichtig

Bei Verwendung von DKMS wird die Supportvereinbarung für Ihr Abonnement unwirksam. Es sollte nicht für Produktionsbereitstellungen verwendet werden.

So aktivieren Sie Enhanced Networking mit ENA unter Ubuntu (EBS-gestützte Instances)

  1. Führen Sie die Schritte 1 und 2 unter Aktivieren von Enhanced Networking in Ubuntu aus.

  2. Installieren Sie die build-essential-Pakete zum Kompilieren des Kernel-Moduls und das dkms-Paket, damit Ihr ena-Modul bei jeder Aktualisierung von Kernel neu erstellt wird.

    ubuntu:~$ sudo apt-get install -y build-essential dkms
  3. Klonen Sie die Quelle für das ena-Modul auf Ihrer Instance von GitHub unter https://github.com/amzn/amzn-drivers.

    ubuntu:~$ git clone https://github.com/amzn/amzn-drivers
  4. Verschieben Sie das amzn-drivers-Paket in das Verzeichnis /usr/src/, sodass es von DKMS gefunden und bei jedem Kernel-Update neu erstellt wird. Fügen Sie die Versionsnummer des Quellcodes an den Verzeichnisnamen an (Sie finden die aktuelle Versionsnummer in den Versionshinweisen). Im folgenden Beispiel wird Version 1.0.0 angezeigt.

    ubuntu:~$ sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
  5. Erstellen Sie eine DKMS-Konfigurationsdatei mit den folgenden Werten. Geben Sie dabei Ihre ena-Version an.

    Erstellen Sie die Datei.

    ubuntu:~$ sudo touch /usr/src/amzn-drivers-1.0.0/dkms.conf

    Öffnen Sie die Datei und fügen Sie die folgenden Werte hinzu.

    ubuntu:~$ sudo vim /usr/src/amzn-drivers-1.0.0/dkms.conf PACKAGE_NAME="ena" PACKAGE_VERSION="1.0.0" CLEAN="make -C kernel/linux/ena clean" MAKE="make -C kernel/linux/ena/ BUILD_KERNEL=${kernelver}" BUILT_MODULE_NAME[0]="ena" BUILT_MODULE_LOCATION="kernel/linux/ena" DEST_MODULE_LOCATION[0]="/updates" DEST_MODULE_NAME[0]="ena" AUTOINSTALL="yes"
  6. Verwenden Sie DKMS, um das ena-Modul in der Instance hinzuzufügen, zu erstellen und zu installieren.

    Fügen Sie das Modul DKMS hinzu.

    ubuntu:~$ sudo dkms add -m amzn-drivers -v 1.0.0

    Erstellen Sie das Modul mit dem Befehl dkms.

    ubuntu:~$ sudo dkms build -m amzn-drivers -v 1.0.0

    Installieren Sie das Modul mit dkms.

    ubuntu:~$ sudo dkms install -m amzn-drivers -v 1.0.0
  7. Erstellen Sie die Datei initramfs neu, damit das richtige Modul während des Bootvorgangs geladen wird.

    ubuntu:~$ sudo update-initramfs -u -k all
  8. Stellen Sie sicher, dass das ena-Modul installiert ist. Verwenden Sie dafür den Befehl modinfo ena aus Testen, ob Enhanced Networking aktiviert ist.

    ubuntu:~$ modinfo ena filename: /lib/modules/3.13.0-74-generic/updates/dkms/ena.ko version: 1.0.0 license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 9693C876C54CA64AE48F0CA alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: vermagic: 3.13.0-74-generic SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: push_mode:Descriptor / header push mode (0=automatic,1=disable,3=enable) 0 - Automatically choose according to device capability (default) 1 - Don't push anything to device memory 3 - Push descriptors and header buffer to device memory (int) parm: enable_wd:Enable keepalive watchdog (0=disable,1=enable,default=1) (int) parm: enable_missing_tx_detection:Enable missing Tx completions. (default=1) (int) parm: numa_node_override_array:Numa node override map (array of int) parm: numa_node_override:Enable/Disable numa node override (0=disable) (int)
  9. Fahren Sie mit Schritt 3 in Aktivieren von Enhanced Networking in Ubuntu fort.

Fehlersuche

Zusätzliche Informationen zur Fehlerbehebung für Ihren ENA-Adapter finden Sie unter Elastic Network Adapter (ENA) – Fehlerbehebung.