Elastic Network Adapter (ENA) – Fehlerbehebung - 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.

Elastic Network Adapter (ENA) – Fehlerbehebung

Der Elastic Network Adapter (ENA) soll die Integrität des Betriebssystems verbessern und mögliche langfristige Störungen aufgrund von unerwartetem Hardwareverhalten oder Fehlern verringern. In der ENA-Architektur bleiben Geräte- oder Treiberfehler für das System weitestgehend transparent. Dieses Thema enthält Informationen zur Fehlerbehebung für ENA.

Beginnen Sie mit Abschnitt Fehlerbehebung bei Verbindungsproblemen, wenn Sie keine Verbindung mit Ihrer Instance herstellen können.

Wenn nach der Migration zu einem Instance-Typ der sechsten Generation Leistungseinbußen auftreten, lesen Sie den Artikel Was muss ich tun, bevor ich meine EC2-Instance auf eine Instance der sechsten Generation migriere, um sicherzustellen, dass ich die maximale Netzwerkleistung erhalte? im Knowledge Center AWS .

Wenn Sie eine Verbindung mit Ihrer Instance herstellen können, können Sie mithilfe der Fehlererkennungs- und Wiederherstellungsmechanismen Diagnose-Informationen sammeln. Ausführliche Informationen zu diesen Mechanismen finden Sie in den weiteren Abschnitten dieses Themas.

Fehlerbehebung bei Verbindungsproblemen

Wenn die Verbindung bei der Aktivierung des Enhanced Networking verloren geht, ist das ena-Modul u. U. nicht mit der Kernelversion Ihrer Instance kompatibel. Dies geschieht z .B. dann, wenn Sie das Modul für eine bestimmte Kernelversion (ohne Befehl dkms oder mit einer falsch konfigurierten dkms.conf-Datei) installieren und Ihr Instance-Kernel anschließend aktualisiert wird. Wenn der beim Start geladene Instance-Kernel nicht über ein richtig installiertes ena-Modul verfügt, erkennt Ihre Instance den Netzwerkadapter nicht und Ihre Instance ist nicht erreichbar.

Wenn Sie Enhanced Networking für eine PV-Instance oder ein AMI aktivieren, kann es ebenfalls vorkommen, dass Ihre Instance nicht erreichbar ist.

Wenn Ihre Instance nach dem Aktivieren von Enhanced Networking mit ENA nicht erreichbar ist, können Sie das Attribut enaSupport für Ihre Instance deaktivieren, damit diese wieder den üblichen Netzwerkadapter nutzt.

So deaktivieren Sie Enhanced Networking mit ENA (EBS-gestützte Instances)
  1. Stoppen Sie die Instance von Ihrem lokalen Computer aus mithilfe der Amazon EC2 EC2-Konsole oder mit einem der folgenden Befehle: 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 Instance-Status synchron bleibt.

    Wichtig

    Wenn Sie eine Instance Store-Backed Instance verwenden, können Sie die Instance nicht anhalten. Fahren Sie stattdessen mit So deaktivieren Sie Enhanced Networking mit ENA (Instance Store-Backed Instances) fort.

  2. Deaktivieren Sie auf Ihrem lokalen Computer das Enhanced Networking-Attribut mithilfe des folgenden Befehls:

  3. Starten Sie die Instance von Ihrem lokalen Computer aus mit der Amazon EC2 EC2-Konsole oder mit einem der folgenden Befehle: 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 Instance-Status synchron bleibt.

  4. (Optional) Stellen Sie eine Verbindung mit Ihrer Instance her und versuchen Sie, das Modul ena erneut mit Ihrer aktuellen Kernelversion zu installieren, indem Sie die entsprechenden Schritte unter Aktivieren von Enhanced-Networking-Funktionen mit dem Elastic Network Adapter (ENA) für Linux-Instances ausführen.

So deaktivieren Sie Enhanced Networking mit ENA (Instance Store-Backed Instances)

Wenn es sich bei Ihrer Instance um eine Instance Store-Backed Instance handelt, müssen Sie ein neues AMI wie unter Erstellen einer Instance-Speicher-Backed Linux-AMI beschrieben erstellen. Vergewissern Sie sich, dass Sie das Enhanced Networking-Attribut enaSupport deaktivieren, wenn Sie das AMI registrieren.

  • register-image (AWS CLI)

    $ aws ec2 register-image --no-ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    C:\> Register-EC2Image -EnaSupport $false ...

Keep-Alive-Mechanismus

Das ENA-Gerät sendet Keep-Alive-Ereignisse in einem bestimmten Zeitintervall (i. d. R. einmal pro Sekunde). Der ENA-Treiber implementiert einen Überwachungsmechanismus, der regelmäßig nach allen Keep-Alive-Nachrichten sucht. Wenn eine oder mehrere Nachrichten vorhanden sind, wird der Überwachungsmechanismus wieder aktiviert. Andernfalls geht der Treiber davon aus, dass ein Gerätefehler vorliegt, und ergreift folgende Maßnahmen:

  • Er legt seine aktuellen Statistiken unter syslog ab.

  • Er setzt das ENA-Gerät zurück.

  • Er setzt den ENA-Treiberstatus zurück.

Der obige Zurücksetzungsvorgang kann kurzzeitig zu einem Traffic-Verlust führen (TCP-Verbindungen können i. d. R. wiederhergestellt werden), der aber keine weiteren Auswirkungen für den Benutzer haben sollte.

Das ENA-Gerät fordert u. U. indirekt eine Gerätezurücksetzung an, indem keine Keep-Alive-Benachrichtigung gesendet wird, z. B. wenn das ENA-Gerät nach dem Laden einer nicht wiederherstellbaren Konfiguration in einen unbekannten Status versetzt wird.

Hier ist ein Beispiel für den Zurücksetzungsvorgang angegeben:

[18509.800135] ena 0000:00:07.0 eth1: Keep alive watchdog timeout. // The watchdog process initiates a reset [18509.815244] ena 0000:00:07.0 eth1: Trigger reset is on [18509.825589] ena 0000:00:07.0 eth1: tx_timeout: 0 // The driver logs the current statistics [18509.834253] ena 0000:00:07.0 eth1: io_suspend: 0 [18509.842674] ena 0000:00:07.0 eth1: io_resume: 0 [18509.850275] ena 0000:00:07.0 eth1: wd_expired: 1 [18509.857855] ena 0000:00:07.0 eth1: interface_up: 1 [18509.865415] ena 0000:00:07.0 eth1: interface_down: 0 [18509.873468] ena 0000:00:07.0 eth1: admin_q_pause: 0 [18509.881075] ena 0000:00:07.0 eth1: queue_0_tx_cnt: 0 [18509.888629] ena 0000:00:07.0 eth1: queue_0_tx_bytes: 0 [18509.895286] ena 0000:00:07.0 eth1: queue_0_tx_queue_stop: 0 ....... ........ [18511.280972] ena 0000:00:07.0 eth1: free uncompleted tx skb qid 3 idx 0x7 // At the end of the down process, the driver discards incomplete packets. [18511.420112] [ENA_COM: ena_com_validate_version] ena device version: 0.10 //The driver begins its up process [18511.420119] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1 [18511.420127] [ENA_COM: ena_com_admin_init] ena_defs : Version:[b9692e8] Build date [Wed Apr 6 09:54:21 IDT 2016] [18512.252108] ena 0000:00:07.0: Device watchdog is Enabled [18512.674877] ena 0000:00:07.0: irq 46 for MSI/MSI-X [18512.674933] ena 0000:00:07.0: irq 47 for MSI/MSI-X [18512.674990] ena 0000:00:07.0: irq 48 for MSI/MSI-X [18512.675037] ena 0000:00:07.0: irq 49 for MSI/MSI-X [18512.675085] ena 0000:00:07.0: irq 50 for MSI/MSI-X [18512.675141] ena 0000:00:07.0: irq 51 for MSI/MSI-X [18512.675188] ena 0000:00:07.0: irq 52 for MSI/MSI-X [18512.675233] ena 0000:00:07.0: irq 53 for MSI/MSI-X [18512.675279] ena 0000:00:07.0: irq 54 for MSI/MSI-X [18512.772641] [ENA_COM: ena_com_set_hash_function] Feature 10 isn't supported [18512.772647] [ENA_COM: ena_com_set_hash_ctrl] Feature 18 isn't supported [18512.775945] ena 0000:00:07.0: Device reset completed successfully // The reset process is complete

Timeout für Registerlesevorgänge

Bei der ENA-Architektur kommt es nur zu einer begrenzten Nutzung von im Speicher abgebildeten I/O-Lesevorgängen (MMIO). Der ENA-Treiber greift nur während seines Initialisierungsvorgangs auf MMIO-Register zu.

Wenn die Treiberprotokolle (verfügbar in der dmesg-Ausgabe) Fehler bei Lesevorgängen ausgeben, kann die Ursache ein nicht kompatibler oder falsch kompilierter Treiber, ein ausgelastetes Hardwaregerät oder einen Hardwarefehler sein.

Intermittierende Protokolleinträge, die auf Fehler bei Lesevorgängen hinweisen, stellen i. d. R. kein Problem dar. Der Treiber führt dafür in diesem Fall einen neuen Versuch durch. Eine Reihe von Protokolleinträgen mit Lesefehlern deuten jedoch auf ein Treiber- oder Hardwareproblem hin.

Nachfolgend finden Sie ein Beispiel für einen Treiber-Protokolleintrag, der auf einen Lesevorgangsfehler aufgrund eines Timeouts hindeutet:

[ 47.113698] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[1] offset[88] actual: req id[57006] offset[0]  [ 47.333715] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[2] offset[8] actual: req id[57007] offset[0]  [ 47.346221] [ENA_COM: ena_com_dev_reset] Reg read32 timeout occurred

Statistiken

Falls eine unzureichende Netzwerkleistung oder Latenzprobleme auftreten, sollten Sie die Gerätestatistiken aufrufen und überprüfen. Diese Statistiken können Sie mithilfe von ethtool wie folgt aufrufen.

[ec2-user ~]$ ethtool -S ethN NIC statistics: tx_timeout: 0 suspend: 0 resume: 0 wd_expired: 0 interface_up: 1 interface_down: 0 admin_q_pause: 0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_available: 450878 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 queue_0_tx_cnt: 4329 queue_0_tx_bytes: 1075749 queue_0_tx_queue_stop: 0 ...

Unten sind die folgenden Befehlsausgabeparameter beschrieben:

tx_timeout: N

Gibt an, wie oft der Netdev-Überwachungsmechanismus aktiviert wurde.

suspend: N

Gibt an, wie oft der Treiber eine Aussetzung durchgeführt hat.

resume: N

Gibt an, wie oft der Treiber eine Wiederaufnahme durchgeführt hat.

wd_expired: N

Gibt an, wie oft der Treiber in den letzten drei Sekunden kein Keep-Alive-Ereignis empfangen hat.

interface_up: N

Gibt an, wie oft die ENA-Schnittstelle aufgerufen wurde.

interface_down: N

Gibt an, wie oft die ENA-Schnittstelle heruntergefahren wurde.

admin_q_pause: N

Gibt an, wie oft die Admin-Warteschlange nicht in einem laufenden Zustand gefunden wurde.

bw_in_allowance_exceeded: N

Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, da die eingehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.

bw_out_allowance_exceeded: N

Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die ausgehende aggregierte Bandbreite das Maximum für die Instance überschritten hat.

pps_allowance_exceeded: N

Die Anzahl der Pakete, die in die Warteschlange gestellt oder verworfen wurden, weil die bidirektionale PPS das Maximum für die Instance überschritten hat.

conntrack_allowance_available: N

Die Anzahl der nachverfolgten Verbindungen, die von der Instance hergestellt werden können, bevor die zulässige Anzahl nachverfolgter Verbindungen dieses Instance-Typs erreicht wird. Nur für Nitro-basierte Instances verfügbar. Wird mit FreeBSD-Instances oder DPDK-Umgebungen nicht unterstützt.

conntrack_allowance_exceeded: N

Die Anzahl der verworfenen Pakete, weil die Verbindungsverfolgung das Maximum für die Instance überschritten hat und keine neuen Verbindungen hergestellt werden konnten. Dies kann zu einem Paketverlust für den Datenverkehr zur oder von der Instance führen.

linklocal_allowance_exceeded: N

Die Anzahl der verworfenen Pakete, weil das PPS des Datenverkehrs zu lokalen Proxy-Diensten das Maximum für die Netzwerkschnittstelle überschritten hat. Dies wirkt sich auf den Datenverkehr zum DNS-Dienst, zum Instance Metadata Service und zum Amazon Time Sync Service aus.

queue_N_tx_cnt: N

Gibt die Anzahl der übertragenen Pakete für diese Warteschlange an.

queue_N_tx_bytes: N

Gibt die Anzahl von übertragenen Bytes für diese Warteschlange an.

queue_N_tx_queue_stop: N

Gibt an, wie oft die Warteschlange N vollständig gefüllt war und angehalten wurde.

queue_N_tx_queue_wakeup: N

Gibt an, wie oft die Warteschlange N nach dem Anhalten wieder gestartet wurde.

queue_N_tx_dma_mapping_err: N

Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

queue_N_tx_linearize: N

Gibt an, wie oft die SKB-Linearisierung für diese Warteschlange versucht wurde.

queue_N_tx_linearize_failed: N

Gibt an, wie oft die SKB-Linearisierung für diese Warteschlange fehlgeschlagen ist.

queue_N_tx_napi_comp: N

Gibt an, wie oft der napi-Handler napi_complete für diese Warteschlange aufgerufen hat.

queue_N_tx_tx_poll: N

Gibt an, wie oft der napi-Handler für diese Warteschlange geplant war.

queue_N_tx_doorbells: N

Gibt die Anzahl der Übertragungs-Doorbells für diese Warteschlange an.

queue_N_tx_prepare_ctx_err: N

Gibt an, wie oft ena_com_prepare_tx für diese Warteschlange fehlgeschlagen ist.

queue_N_tx_bad_req_id: N

Ungültige req_id für diese Warteschlange. Die gültige req_id ist 0, minus queue_size und minus 1.

queue_N_tx_llq_buffer_copy: N

Die Anzahl der Pakete, deren Header-Größe größer ist als der llq-Eintrag für diese Warteschlange.

queue_N_tx_missed_tx: N

Gibt die Anzahl der nicht abgeschlossenen Pakete für diese Warteschlange an.

queue_N_tx_unmask_interrupt: N

Gibt an, wie oft der tx-Interrupt für diese Warteschlange entlarvt wurde.

queue_N_rx_cnt: N

Anzahl der empfangenen Pakete für diese Warteschlange.

queue_N_rx_bytes: N

Anzahl der empfangenen Bytes für diese Warteschlange.

queue_N_rx_rx_copybreak_pkt: N

Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, das kleiner als die rx_copybreak-Paketgröße für diese Warteschlange ist.

queue_N_rx_csum_good: N

Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, in dem die Prüfsumme überprüft wurde und für diese Warteschlange korrekt war.

queue_N_rx_refil_partial: N

Gibt an, wie oft der Treiber erfolglos versucht hat, den leeren Teil der rx-Warteschlange mit den Puffern für diese Warteschlange wieder aufzufüllen. Ist dieser Wert nicht 0, weist dies auf einen niedrigen Stand der Speicherressourcen hin.

queue_N_rx_bad_csum: N

Gibt an, wie oft die Warteschlange rx eine fehlerhafte Prüfsumme für diese Warteschlange ermittelt hat (nur wenn rx-Prüfsummenabladung unterstützt wird).

queue_N_rx_page_alloc_fail: N

Gibt an, wie oft die Seitenzuordnung für diese Warteschlange fehlgeschlagen ist. Ist dieser Wert nicht 0, weist dies auf einen niedrigen Stand der Speicherressourcen hin.

queue_N_rx_skb_alloc_fail: N

Gibt an, wie oft die SKB-Zuordnung für diese Warteschlange fehlgeschlagen ist. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

queue_N_rx_dma_mapping_err: N

Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

queue_N_rx_bad_desc_num: N

Zu viele Puffer pro Paket. Wenn dieser Wert nicht 0 ist, weist dies auf die Verwendung von sehr kleinen Puffern hin.

queue_N_rx_bad_req_id: N

Die req_id für diese Warteschlange ist nicht gültig. Die gültige req_id stammt von [0, queue_size - 1].

queue_N_rx_empty_rx_ring: N

Gibt an, wie oft die rx-Warteschlange für diese Warteschlange leer war.

queue_N_rx_csum_unchecked: N

Gibt an, wie oft die rx-Warteschlange ein Paket erhalten hat, dessen Prüfsumme nicht für diese Warteschlange überprüft wurde.

queue_N_rx_xdp_aborted: N

Gibt an, wie oft ein XDP-Paket als XDP_ABORT klassifiziert wurde.

queue_N_rx_xdp_drop: N

Gibt an, wie oft ein XDP-Paket als XDP_DROP klassifiziert wurde.

queue_N_rx_xdp_pass: N

Gibt an, wie oft ein XDP-Paket als XDP_PASS klassifiziert wurde.

queue_N_rx_xdp_tx: N

Gibt an, wie oft ein XDP-Paket als XDP_TX klassifiziert wurde.

queue_N_rx_xdp_invalid: N

Gibt an, wie oft der XDP-Rückgabecode für das Paket ungültig war.

queue_N_rx_xdp_redirect: N

Gibt an, wie oft ein XDP-Paket als XDP_REDIRECT klassifiziert wurde.

queue_N_xdp_tx_cnt: N

Gibt die Anzahl der übertragenen Pakete für diese Warteschlange an.

queue_N_xdp_tx_bytes: N

Gibt die Anzahl von übertragenen Bytes für diese Warteschlange an.

queue_N_xdp_tx_queue_stop: N

Gibt an, wie oft diese Warteschlange vollständig gefüllt war und angehalten wurde.

queue_N_xdp_tx_queue_wakeup: N

Gibt an, wie oft diese Warteschlange nach dem Anhalten wieder gestartet wurde.

queue_N_xdp_tx_dma_mapping_err: N

Fehleranzahl für direkten Speicherzugriff. Wenn dieser Wert nicht 0 ist, weist dies auf einen niedrigen Stand der Systemressourcen hin.

queue_N_xdp_tx_linearize: N

Gibt an, wie oft die XDP-Puffer-Linearisierung für diese Warteschlange versucht wurde.

queue_N_xdp_tx_linearize_failed: N

Gibt an, wie oft die XDP-Puffer-Linearisierung für diese Warteschlange fehlgeschlagen ist.

queue_N_xdp_tx_napi_comp: N

Gibt an, wie oft der Napi-Handler napi_complete für diese Warteschlange aufgerufen hat.

queue_N_xdp_tx_tx_poll: N

Gibt an, wie oft der Napi-Handler für diese Warteschlange geplant war.

queue_N_xdp_tx_doorbells: N

Gibt die Anzahl der Übertragungs-Doorbells für diese Warteschlange an.

queue_N_xdp_tx_prepare_ctx_err: N

Gibt an, wie oft der ena_com_prepare_tx für diese Warteschlange fehlgeschlagen ist. Dieser Wert sollte immer 0 sein. Überprüfen Sie die Treiberprotokolle, wenn dies nicht der Fall ist.

queue_N_xdp_tx_bad_req_id: N

Die req_id für diese Warteschlange ist nicht gültig. Die gültige req_id stammt von [0, queue_size - 1].

queue_N_xdp_tx_llq_buffer_copy: N

Die Anzahl der Pakete, deren Header mit LLQ-Pufferkopie für diese Warteschlange kopiert wurden.

queue_N_xdp_tx_missed_tx: N

Gibt an, wie oft ein tx-Warteschlangeneintrag ein Abschluss-Timeout für diese Warteschlange verpasst hat.

queue_N_xdp_tx_unmask_interrupt: N

Gibt an, wie oft der tx-Interrupt für diese Warteschlange entlarvt wurde.

ena_admin_q_aborted_cmd: N

Gibt die Anzahl der abgebrochenen Admin-Befehle an. Dies passiert normalerweise während des automatischen Wiederherstellungsverfahrens.

ena_admin_q_submitted_cmd: N

Gibt die Anzahl der Doorbells für die Admin-Warteschlange an.

ena_admin_q_completed_cmd: N

Gibt die Anzahl der Abschlüsse für die Admin-Warteschlange an.

ena_admin_q_out_of_space: N

Gibt an, wie oft der Treiber versucht hat, einen neuen Admin-Befehl zu senden, während die Warteschlange ausgelastet war.

ena_admin_q_no_completion: N

Gibt an, wie oft der Treiber für einen Befehl keinen Admin-Abschluss erhalten hat.

Treiberfehlerprotokolle im syslog

Der ENA-Treiber schreibt während des Systemstarts Protokollnachrichten in das syslog. Wenn Sie entsprechende Probleme feststellen, können Sie diese Protokolle auf Fehler überprüfen. Nachfolgend finden Sie ein Beispiel für Informationen, die vom ENA-Treiber während des Systemstarts im syslog protokolliert wurden, sowie einige Anmerkungen zu ausgewählten Nachrichten.

Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 478.416939] [ENA_COM: ena_com_validate_version] ena device version: 0.10 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 478.420915] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.256831] ena 0000:00:03.0: Device watchdog is Enabled Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.672947] ena 0000:00:03.0: creating 8 io queues. queue size: 1024 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.680885] [ENA_COM: ena_com_init_interrupt_moderation] Feature 20 isn't supported // Interrupt moderation is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.691609] [ENA_COM: ena_com_get_feature_ex] Feature 10 isn't supported // RSS HASH function configuration is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.694583] [ENA_COM: ena_com_get_feature_ex] Feature 18 isn't supported //RSS HASH input source configuration is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.697433] [ENA_COM: ena_com_set_host_attributes] Set host attribute isn't supported Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.701064] ena 0000:00:03.0 (unnamed net_device) (uninitialized): Cannot set host attributes Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.704917] ena 0000:00:03.0: Elastic Network Adapter (ENA) found at mem f3000000, mac addr 02:8a:3c:1e:13:b5 Queues 8 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 480.805037] EXT4-fs (xvda1): re-mounted. Opts: (null) Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 481.025842] NET: Registered protocol family 10
Welche Fehler kann ich ignorieren?

Folgende Warnungen, die u. U. in den Fehlerprotokollen Ihres Systems auftauchen, können für den Elastic Network Adapter ignoriert werden:

Das Festlegen des Hostattributs wird nicht unterstützt

Host-Attribute werden für dieses Gerät nicht unterstützt.

Es konnte kein Puffer für die Empfangswarteschlange reserviert werden

Dies ist ein umkehrbarer Fehler, der darauf hinweist, dass beim Auslösen des Fehlers eine starke Speicherbelastung vorgelegen hat.

Feature X wird nicht unterstützt

Das angegebene Feature wird vom Elastic Network Adapter nicht unterstützt. Mögliche Werte für X sind:

  • 10: Konfiguration der RSS Hash-Funktion wird für dieses Gerät nicht unterstützt.

  • 12: Konfiguration der RSS Indirection-Tabelle wird für dieses Gerät nicht unterstützt.

  • 18: RSS Hash Input-Konfiguration wird für dieses Gerät nicht unterstützt.

  • 20: Interrupt Moderation wird für dieses Gerät nicht unterstützt.

  • 27: Der Elastic Network Adapter-Treiber unterstützt keine Abfrage der Ethernet-Kapazitäten von snmpd.

AENQ konnte nicht konfiguriert werden

Der Elastic Network Adapter unterstützt keine AENQ-Konfiguration.

Es wird versucht, nicht unterstützte AENQ-Ereignisse festzulegen

Dieser Fehler weist darauf hin, dass versucht wurde, eine AENQ-Ereignisgruppe festzulegen, die vom Elastic Network Adapter nicht unterstützt wird.

Benachrichtigungen zur suboptimalen Konfiguration

Das ENA-Gerät erkennt suboptimale Konfigurationseinstellungen im Treiber, die Sie ändern können. Das Gerät benachrichtigt den ENA-Treiber und protokolliert eine Warnung zur Konsole. Das folgende Beispiel zeigt das Format der Warnmeldung.

Sub-optimal configuration notification code: 1. Refer to AWS ENA documentation for additional details and mitigation options.

Die folgende Liste enthält Details zum Benachrichtigungscode und empfohlene Maßnahmen für suboptimale Konfigurationserkenntnisse.

  • Code 1: ENA Express mit umfassender LLQ-Konfiguration wird nicht empfohlen

    ENA Express ENI ist mit umfassenden LLQ konfiguriert. Diese Konfiguration ist suboptimal und könnte die Leistung von ENA Express beeinträchtigen. Wir empfehlen, die umfassenden LLQ-Einstellungen wie folgt zu deaktivieren, wenn Sie ENA Express ENIs verwenden.

    sudo rmmod ena && sudo modprobe ena force_large_llq_header=0

    Weitere Informationen zur optimalen Konfiguration für ENA Express finden Sie unter Verbessern Sie die Netzwerkleistung mit ENA Express auf Linux--Instances.

  • Code 2: ENA Express ENI mit suboptimaler Tx-Warteschlangentiefe wird nicht empfohlen.

    ENA Express ENI ist mit einer suboptimalen Tx-Warteschlangentiefe konfiguriert. Diese Konfiguration beeinträchtigt möglicherweise die Leistung von ENA Express. Wir empfehlen, bei Verwendung von ENA Express alle Tx-Warteschlangen wie folgt auf den maximalen Wert für die Netzwerkschnittstelle zu vergrößern.

    So rufen Sie die maximale Tiefe der Tx-Warteschlangen ab

    ethtool -g interface

    So vergrößern Sie die Tx-Warteschlangen auf die maximale Tiefe

    ethtool -G interface tx depth

    Weitere Informationen zur optimalen Konfiguration für ENA Express finden Sie unter Verbessern Sie die Netzwerkleistung mit ENA Express auf Linux--Instances.