View a markdown version of this page

Behebung von Fehlern und I/O Fehlern bei der Rückforderung von NFS-Sperren - FSx für ONTAP

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.

Behebung von Fehlern und I/O Fehlern bei der Rückforderung von NFS-Sperren

In diesem Abschnitt werden Probleme im Zusammenhang mit I/O Fehlern und Fehlern bei der Rückgewinnung von NFS-Sperren bei Failover-Ereignissen auf FSx for ONTAP-Dateisystemen sowie deren Lösungen beschrieben.

Bei Failover-Ereignissen treten Fehler auf I/O

Bei Failovers auf FSx for Single-AZ ONTAP-Dateisystemen kann es bei NFS-Clients zu vorübergehenden Fehlern oder längeren Pausen I/O kommen. Bei NFSv4+-Clients sehen Sie möglicherweise Kernel-Protokollmeldungen wie:

NFS: __nfs4_reclaim_open_state: Lock reclaim failed!

Diese Meldungen weisen darauf hin, dass der Client NFS-Sperren während des Failover-Fensters nicht erfolgreich zurückgewinnen konnte.

Um I/O Fehler bei Failover-Ereignissen zu reduzieren

Unter Linux können Sie die Netzwerkeinstellungen auf Ihren Clients so konfigurieren, dass die Failover-Erkennungszeit von 55-60 Sekunden auf 15—20 Sekunden reduziert wird.

Wichtig

Testen Sie diese Konfigurationen immer zuerst in einer Umgebung außerhalb der Produktionsumgebung. Diese Einstellungen erhöhen den ARP-Verkehr (Address Resolution Protocol), der zur Zuordnung von IP-Adressen zu physischen (MAC-) Adressen in einem lokalen Netzwerk verwendet wird und sich möglicherweise nicht für Umgebungen mit Netzwerkeinschränkungen eignet.

Um optimierte Netzwerkeinstellungen für NFS-Clients zu konfigurieren
  1. Erstellen Sie auf jedem NFS-Client eine Sysctl-Konfigurationsdatei. Im folgenden Beispiel werden Einstellungen default auf alle Netzwerkschnittstellen angewendet. Wenn Ihre Instance über mehrere Netzwerkschnittstellen verfügt, können Sie sie durch den spezifischen Schnittstellennamen (z. B. eth0 oderens5) ersetzen, der für die Verbindung default mit Ihrem FSx for Single-AZ ONTAP-Dateisystem verwendet wird:

    $ sudo tee /etc/sysctl.d/99-fsx-failover.conf > /dev/null << 'EOF' # NFS client optimizations for faster failover detection # Replace 'default' with your interface name (e.g., eth0, ens5) to target a specific interface net.ipv4.neigh.default.base_reachable_time_ms=5000 net.ipv4.neigh.default.delay_first_probe_time=1 net.ipv4.neigh.default.ucast_solicit=0 net.ipv4.tcp_syn_retries=3 EOF
  2. Wenden Sie die Einstellungen sofort an:

    $ sudo sysctl -p /etc/sysctl.d/99-fsx-failover.conf
  3. Stellen Sie sicher, dass die Konfiguration aktiv ist. Wenn Sie dies verwendet habendefault, können Sie dies mit den folgenden Befehlen überprüfen. Wenn Sie eine bestimmte Schnittstelle angegeben haben, default ersetzen Sie sie durch Ihren Schnittstellennamen (z. B. eth0 oderens5):

    $ sysctl net.ipv4.neigh.default.base_reachable_time_ms $ sysctl net.ipv4.neigh.default.delay_first_probe_time $ sysctl net.ipv4.neigh.default.ucast_solicit $ sysctl net.ipv4.tcp_syn_retries

Stellen Sie sicher, dass diese Einstellungen konsistent auf alle NFS-Clients angewendet werden, die sich mit Ihrem FSx for ONTAP-Dateisystem innerhalb derselben Availability Zone verbinden. Beachten Sie bei der Verwendung dieser Netzwerkoptimierungen Folgendes:

  • base_reachable_time_ms=5000 — Reduziert die Gültigkeit von ARP-Cache-Einträgen von 30 Sekunden auf 5 Sekunden, sodass Clients Änderungen des IP-Besitzes während eines Failover-Ereignisses schneller erkennen können.

  • delay_first_probe_time=1 — Reduziert die Verzögerung vor dem Prüfen eines veralteten Netzwerkeintrags von 5 Sekunden auf 1 Sekunde.

  • ucast_solicit=0 — Überspringt Unicast-Neighbor-Probes und gibt sofort Broadcast-ARP-Anfragen aus, wodurch die Wiedererkennung des aktiven Dateiservers beschleunigt wird.

  • tcp_syn_retries=3 — Reduziert die Dauer der TCP-Verbindungswiederholungen von 127 Sekunden auf 15 Sekunden.

Nachdem die Netzwerkeinstellungen vorgenommen wurden, sollten Sie Ihre Umgebung überwachen, um die Änderungen zu überprüfen. Sie können ein Failover-Ereignis testen, indem Sie die Durchsatzkapazität Ihres Dateisystems ändern. Weitere Informationen finden Sie unter Testen eines Failovers auf einem Dateisystem.

Überwachung Ihrer Umgebung nach der Übernahme von Änderungen

  • Überwachen Sie die Systemprotokolle auf NFS-Fehler, um die NFS-related Kernel-Protokollmeldungen einzusehen.

    $ sudo journalctl -f | grep -i nfs

    Stellen Sie sicher, dass weniger Meldungen auftreten, wie z. Lock reclaim failed

  • Überwachen Sie Anwendungsprotokolle, um sicherzustellen, dass bei Failover-Ereignissen weniger I/O Timeouts, Verbindungsfehler und Fehlversuche auftreten.

  • Überprüfen Sie die Auswirkungen auf das Netzwerk, um sicherzustellen, dass der erhöhte ARP-Verkehr die Netzwerkleistung in Ihrer Umgebung nicht beeinträchtigt.

Alternative Ansätze für NFSv4-Umgebungen

In NFSv4-Umgebungen, in denen eine Änderung der clientseitigen Konfiguration nicht möglich ist, sollten Sie die folgenden Alternativen in Betracht ziehen:

  • Verlängern Sie die Timeouts für NFSv4-Lease. Arbeiten Sie mit Ihrem Speicheradministrator zusammen, um die Timeouts für NFSv4-Lease zu erhöhen. Durch die Verlängerung dieser Timeouts haben die Clients zusätzliche Zeit, um Sperren bei Failover-Ereignissen zurückzugewinnen. Weitere Informationen finden Sie in der Dokumentation unter Spezifizieren Sie den Übergangszeitraum für NFSv4-Sperren. NetApp ONTAP