Fehlerbehebung für Netzsperrmanager

Einige Probleme im Zusammenhang mit dem Netzsperrmanager, die möglicherweise auftreten, können mit den folgenden Tipps behoben werden.

Wenn Sie eine Nachricht ähnlich der folgenden auf einem Client empfangen:

clnttcp_create: RPC: Remote System error - Connection refused
rpc.statd:cannot talk to statd at {server}

denkt das System, dass es ein anderes System gibt, das darüber informiert werden muss, dass es Wiederherstellungsmaßnahmen ergreifen muss. Wenn ein System erneut gestartet wird oder wenn rpc.lockd und rpc.statd Dämonprozesse gestoppt und erneut gestartet werden, werden Systemnamen von /var/statmon/sm nach /var/statmon/sm.bak verschoben und der rpc.statd -Dämonprozess versucht, jedes System entsprechend jedem Eintrag in /var/statmon/sm.bak darüber zu informieren, dass Wiederherstellungsprozeduren erforderlich sind.

Wenn der rpc.statd -Dämonprozess das System erreichen kann, wird der zugehörige Eintrag in /var/statmon/sm.bak entfernt. Wenn der rpc.statd -Dämonprozess das System nicht erreichen kann, versucht er es in regelmäßigen Abständen erneut. Jedes Mal, wenn das System nicht antwortet, generiert das Zeitlimit die obige Nachricht. Im Interesse der Sperrintegrität wird der Dämonprozess es weiterhin versuchen; dies kann jedoch eine negative Auswirkung auf die Sperrleistung haben. Die Handhabung ist anders, je nachdem, ob das Zielgerät gerade nicht reagiert oder semi-permanent aus der Produktion genommen wird. So entfernen Sie die Nachricht:

  1. Überprüfen Sie, ob die Dämonen statd und lockd auf dem Server aktiv sind, indem Sie die Anweisungen in Aktuellen Status der NFS -Dämonen abrufenbefolgen. Diese beiden Dämonprozesse sollten den Status active aufweisen.
  2. Wenn diese Dämonen nicht aktiv sind, starten Sie die Dämonen rpc.statd und rpc.lockd auf dem Server, indem Sie die Anweisungen in NFS -Dämonen startenbefolgen.
    Hinweis: Die Reihenfolge ist wichtig. Starten Sie den Dämonprozess statd immer zuerst.

    Nachdem Sie die Dämonprozesse neu gestartet haben, denken Sie daran, dass es eine Karenzzeit gibt. Während dieser Zeit ermöglichen die Dämonprozesse von lockd die Zurückforderung von Anforderungen, die von anderen Clients stammen, die zuvor mit dem Server gesperrt wurden, so dass Sie möglicherweise nicht sofort nach dem Starten der Dämonprozesse eine neue Sperre erhalten.

Alternativ können Sie die folgende Nachricht eliminieren:

  1. Stoppen Sie die rpc.statd -und rpc.lockd -Dämonprozesse auf dem Client, indem Sie die Anweisungen im Abschnitt NFS stoppenbefolgen.
  2. Entfernen Sie auf dem Client den Zielsystemeintrag aus der /var/statmon/sm.bak -Datei, indem Sie Folgendes eingeben:
    rm /var/statmon/sm.bak/TargetMachineName

    Mit dieser Aktion wird das Zielsystem darauf aufmerksam gemacht, dass es möglicherweise an der Sperrwiederherstellung beteiligt sein muss. Sie sollte nur verwendet werden, wenn festgestellt werden kann, dass das System keine Anwendungen hat, die an der Netzsperrung mit dem betroffenen System beteiligt sind.

  3. Starten Sie die Dämonen rpc.statd und rpc.lockd auf dem Client, indem Sie die Anweisungen in NFS startenbefolgen.

Wenn Sie eine Sperre von einem Client nicht abrufen können, gehen Sie wie folgt vor:

  1. Verwenden Sie den ping -Befehl, um zu überprüfen, ob Client und Server einander erreichen und erkennen können. Wenn die Systeme aktiv sind und das Netz intakt ist, überprüfen Sie die Hostnamen, die in der /var/statmon/hosts -Datei für jedes System aufgelistet sind. Die Hostnamen müssen genau zwischen dem Server und dem Client für die maschinelle Erkennung übereinstimmen. Wenn ein Namensserver für die Auflösung des Hostnamens verwendet wird, stellen Sie sicher, dass die Hostinformationen genau mit den Hostinformationen in der Datei /var/statmon/hosts übereinstimmen.
  2. Überprüfen Sie, ob die Dämonen rpc.lockd und rpc.statd sowohl auf dem Client als auch auf dem Server aktiv sind, indem Sie die Anweisungen in Aktuellen Status der NFS -Dämonen abrufenbefolgen. Diese beiden Dämonprozesse sollten den Status active aufweisen.
  3. Wenn sie nicht aktiv sind, starten Sie die Dämonen rpc.statd und rpc.lockd , indem Sie die Anweisungen im Abschnitt NFS Dämonen startenbefolgen.
  4. Wenn sie aktiv sind, müssen Sie sie möglicherweise sowohl auf Clients als auch auf Servern zurücksetzen. Um dies zu tun, stoppen Sie alle Anwendungen, die Sperren anfordern.
  5. Stoppen Sie als Nächstes die Dämonen rpc.statd und rpc.lockd auf dem Client und auf dem Server, indem Sie die Anweisungen im Abschnitt NFS stoppenbefolgen.
  6. Starten Sie jetzt die Dämonen rpc.statd und rpc.lockd zuerst auf dem Server und dann auf dem Client erneut, indem Sie die Anweisungen im Abschnitt NFS startenbefolgen.
    Hinweis: Die Reihenfolge ist wichtig. Starten Sie den Dämonprozess statd immer zuerst.

Wenn das Verfahren das Sperrproblem nicht behebt, führen Sie den lockd -Dämonprozess im Debugmodus aus, indem Sie die folgenden Schritte ausführen:

  1. Stoppen Sie die Dämonen rpc.statd und rpc.lockd sowohl auf dem Client als auch auf dem Server, indem Sie die Anweisungen im Abschnitt NFS stoppenbefolgen.
  2. Starten Sie den rpc.statd -Dämon auf dem Client und dem Server, indem Sie die Anweisungen in NFS startenbefolgen.
  3. Starten Sie den rpc.lockd -Dämonprozess auf dem Client und Server, indem Sie Folgendes eingeben:
    /usr/sbin/rpc.lockd -d1
    Wenn er mit der Markierung -d1 aufgerufen wird, stellt der lockd -Dämonprozess Diagnosenachrichten für syslog bereit. Zunächst wird es eine Reihe von Nachrichten geben, die sich mit der Karenzzeit befassen; warten Sie darauf, dass sie auslaufen. Nachdem die Karenzzeit sowohl auf dem Server als auch auf den Clients das zulässige Zeitlimit überschritten hat, führen Sie die Anwendung aus, die Sperrprobleme hat, und überprüfen Sie, ob eine Sperranforderung vom Client an den Server und vom Server an den Client übertragen wird.

Sie können den Bereich der IP-Ports, die vom NFS -Client für die Kommunikation mit dem NFS -Server verwendet werden, beschränken, indem Sie die Variable NFS_PORT_RANGE in der Datei /var/statmon/environment festlegen.