Wie kann ich den Fehler „nfs: server 127.0.0.1 reagiert nicht“ beim Mounten meines EFS-Dateisystems beheben?

Lesedauer: 5 Minute
0

Mein Amazon-Elastic-File-System-Server (Amazon EFS) reagiert nicht und reagiert mit der Fehlermeldung „nfs: server 127.0.0.1 reagiert nicht“. Wie kann ich dieses Problem beheben?

Kurzbeschreibung

Im Folgenden sind häufige Gründe aufgeführt, warum der Server möglicherweise nicht reagiert:

  • Der NFS-Client kann keine Verbindung zum EFS-Server herstellen.
  • Ein Neustart oder Herunterfahren der Instance ist aufgetreten. Oder. Es ist eine andere Trennung von der EC2-Instance aufgetreten. Diese Ereignisse führen zu einer Netzwerkunterbrechung zwischen dem NFS-Client und dem EFS-Server. Dieses Verhalten stimmt nicht mit dem TCP-RFC überein. Verbindungsabbrüche können dazu führen, dass Antworten von Amazon EFS an eine Amazon-Elastic-Compute-Cloud-Instance (Amazon EC2) oder einen NFS-Client für mehrere Minuten blockiert werden.
  • Die Mount-Option noresvport wurde beim Mounten des Dateisystems mit einem NFS-Client nicht verwendet.
  • Möglicherweise liegt ein Problem mit der Kernel-Version vor, das einen EFS-Mount-Fehler verursacht. Beispielsweise gibt es eine Reihe bekannter NFS-Client-Probleme mit RHEL6, die ähnliche Symptome wie nicht reagierende Dateisysteme verursachen. In früheren Kernel-Versionen von RHEL6.X ist das Dateisystem möglicherweise nicht mehr verfügbar und kann nicht erneut bereitgestellt werden. NFS-Verbindungsabbrüche können in Amazon EFS auftreten, wenn Sie Folgendes ausführen:
  • RHEL oder CentOS 7.6 oder höher (Kernel-Version von 3.10.0-957).
  • Jede andere Linux-Distribution mit Kernel-Version 4.16 bis 4.19.

Auflösung

1.    Verwenden Sie die Moun-Option noresvport, wenn Sie Ihr Dateisystem mounten. Diese Option stellt sicher, dass der NFS-Client den neuen TCP-Quellport verwendet, wenn eine Netzwerkverbindung wiederhergestellt werden muss. Die Verwendung von noresvport stellt sicher, dass das EFS-Dateisystem nach einem Netzwerkwiederherstellungsereignis ununterbrochen verfügbar ist.

$   sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt

Wenn Sie den EFS-Mount-Helfer verwenden, ist die Option noresvport standardmäßig vorhanden. Wenn Sie NFS zum Mounten verwenden, müssen Sie diesen Parameter explizit hinzufügen. Weitere Informationen finden Sie unter Empfohlene NFS-Mount-Optionen.

2.    Überprüfen Sie die Kernel-Version. Möglicherweise gibt es Probleme mit der jeweiligen Kernel-Version, wie RHEL oder CentOS 7.6 oder höher (Kernel-Version von 3.10.0-957), die einen Fehler beim Einhängen des Dateisystems verursachen können. Wenn Sie eine dieser Kernel-Versionen ausführen, führen Sie einen Neustart durch, um den Zugriff auf das Dateisystem wiederherzustellen. Um zu bestätigen, dass die Kernel-Version das Problem ist, überprüfen Sie die Ausgabe des Befehls ps, wenn Sie ls nicht ausführen können:

$ ps auxwwwm | grep <mount_point_IP>

Wenn die Kernel-Version fehlerhaft ist, aktualisieren Sie den Kernel. Es ist eine bewährte Methode, den Linux NFS4v.1 Client der aktuellen Generation oder höher zu verwenden, um eine bessere Leistung zu erzielen.

3.    Stellen Sie sicher, dass der Client eine Verbindung zum Server herstellen kann, indem Sie den folgenden Befehl ausführen:

telnet <ip-of-efs> 2049

Überprüfen Sie die NFS-Client-Protokolle (EC2-Instanz-Betriebssystemprotokolle) unter /var/log/messages auf Fehler. Die Protokolle können sich je nach Betriebssystem im Verzeichnis**/var/log/syslog** oder /var/log/dmesg befinden.

Wenn Sie das Dateisystem mit der EFS-Einhängehilfe bereitgestellt haben, überprüfen Sie außerdem die EFS-Util-Protokolle im Verzeichnis /var/log/amazon/efs. Der EFS-Mount-Helfer verfügt über einen integrierten Protokollierungsmechanismus.

4.    Stellen Sie sicher, dass Sie sich mit Ihrer EC2-Instance verbinden können.

5.    Überprüfen Sie, ob EC2 aufgrund einer Überlastung der Ressourcen überlastet ist. Sie können dies tun, indem Sie EC2-Metriken in Amazon CloudWatch überwachen, z. B. die CPU-Auslastung und netzwerkbezogene Metriken. Zu den Ressourcen können CPU-, Arbeitsspeicher-, Anwendungsebene usw. gehören.

  • Speicherüberlastung: Dies kann auftreten, wenn der RAM überlastet ist. Überlastung bedeutet, dass der Speicherplatz der Instance knapp wird, wenn eine Anwendung beispielsweise mehr RAM verbraucht. Überlastung führt zu OOM-Fehlern (Out Of Memory). Wenn diese Fehler initiiert werden, beenden sie Prozesse, die einen hohen OOM-Score haben oder mehr Speicher beanspruchen. Im Idealfall kann auf die Instance nicht zugegriffen werden, wenn OOM-Fehler auftreten.
    Um OOM-Fehler vorübergehend zu beheben, starten Sie das System neu, um Speicherplatz freizugeben.
    Für eine längerfristige Lösung sollten Sie die Nutzung der Systemressourcen mithilfe von Tools wie „atop“ und „top“ überwachen. Wechseln Sie dann zu einem anderen Instance-Typ, der besser zu Ihrer Arbeitslast passt. Weitere Informationen finden Sie unter Warum reagiert meine EC2-Linux-Instance aufgrund einer Überlastung von Ressourcen nicht mehr?
  • Netzwerkleistung: Überprüfen Sie die Netzwerkleistung der Instance. Manchmal kann es zu Micro-Bursting kommen, selbst wenn CloudWatch-Metriken eine geringe Netzwerkauslastung aufweisen. Micro-Bursting sendet innerhalb weniger Sekunden eine hohe Menge an Traffic von einer Workload. Das Micro-Bursting dauert in der Regel weniger als eine Minute. Dieser Burst wird in CloudWatch-Diagrammen und Amazon-Elastic-Block-Store-Statistiken (Amazon EBS) verdeckt, da das kleinste in diesen Tools verwendete Intervall eine Minute beträgt. Überwachen Sie das Verhalten von Micro-Bursts mit Tools wie sar, nload, iftop. Weitere Informationen finden Sie unter Warum überschreitet meine Amazon-Elastic-Compute-Cloud-Instance (Amazon EC2) ihre Netzwerkgrenzen, wenn die durchschnittliche Auslastung gering ist?

6.    Überprüfen Sie die EFS-CloudWatch-Metriken und überprüfen Sie, ob eine Einschränkung auf EFS-Ebene erfolgt. Dies bedeutet, dass EFS über seine Kapazität hinausgeht. Wenn Sie den Modus „Bursting Throughput“ verwenden, überprüfen Sie die BurstBalance CloudWatch-Metrik, um festzustellen, ob der Burst-Balance aufgebraucht ist. Überprüfen Sie außerdem die CloudWatch-Metriken für den zulässigen Durchsatz, um festzustellen, ob Sie einen höheren Durchsatz als die bereitgestellte Menge verwenden. Weitere Informationen zu Durchsatzmodi finden Sie unter Wie funktionieren Amazon-EFS-Burst-Credits?

Wenn Ihre Anwendungen einen nahezu kontinuierlichen Durchsatz benötigen, verwenden Sie den Modus Bereitgestellter Durchsatz. Bevor Sie vom Bursting-Durchsatz in den Modus Bereitgestellter Durchsatz wechseln, sollten Sie überlegen, wie viel Durchsatz Sie bereitstellen möchten. Um die benötigte Mindestmenge an bereitgestelltem Durchsatz zu ermitteln, prüfen Sie die durchschnittliche Durchsatznutzung für Ihr Dateisystem in den letzten zwei Wochen. Beachten Sie den höchsten Spitzenwert, aufgerundet auf das nächste Megabyte. Weitere Informationen finden Sie unter Welche Durchsatzmodi sind in EFS verfügbar und welcher Durchsatzmodus ist der richtige Durchsatzmodus für meinen Workload?


Relevante Informationen

Behebung von Mount-Problemen

Fehlerbehebung bei Amazon EFS

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren