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 ONTAP-Dateisystemen sowie deren Behebung beschrieben.

Bei Failover-Ereignissen treten Fehler auf I/O

Bei Failovers FSx für ONTAP Single-AZ-Dateisysteme kann es bei NFS-Clients zu vorübergehenden I/O Fehlern oder längeren Pausen kommen. Bei NFSv4 +-Clients sehen Sie möglicherweise Kernel-Log-Meldungen 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) default ersetzen, der für die Verbindung zu Ihrem FSx for ONTAP Single-AZ-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 innerhalb derselben Availability Zone eine Verbindung zu Ihrem FSx for ONTAP-Dateisystem herstellen. 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 NFS-bezogene 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 Umgebungen NFSv4

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 NFSv4 Lease-Timeouts. Arbeiten Sie mit Ihrem Speicheradministrator zusammen, um die NFSv4 Leasing-Timeouts 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 Geben Sie die NFSv4 Sperrfrist an. NetApp ONTAP