So machen Sie NFS robuster, wenn der Server Geräte verliert

So machen Sie NFS robuster, wenn der Server Geräte verliert

Ich habe einen Fall, bei dem ich eine Maschine mit zahlreichen NFS-Mounts habe. Hin und wieder verliert einer der NFS-Server seine Geräte aufgrund eines Hardwareproblems, für dessen Behebung ein Neustart erforderlich ist.

Dann kommen Benutzer über etwas wie FTP, führen ein „ls“ in einem Verzeichnis aus und es hängt sich auf. Dann sind sie normalerweise frustriert und versuchen es erneut. Dies endet damit, dass der Client-Rechner hängt, weil alle FTP-Sitzungen verbraucht sind.

Gibt es eine Möglichkeit, NFS dazu zu bringen, die Einbindung einfach zu löschen, sodass sie bei einem „ls“ einfach ein leeres Verzeichnis erhalten? Oder gibt es für mich eine Möglichkeit, zu erkennen, wenn ein NFS-Host nicht richtig reagiert, und ihn zu löschen? ... Oder kann ich dies irgendwie von der Serverseite aus tun, wenn Laufwerke nicht mehr vorhanden sind?

Antwort1

Sie müssen zuerst Ihre NFS-Mounts ändern, um die unterbrechbaren Optionen zu verwenden (intr bei den meisten Varianten). Dadurch können Sie mit Strg+C Apps beenden, die normalerweise hängen bleiben und auf eine Rückgabe vom Kernel warten würden, was aber nie passieren wird.

Antwort2

Es ist hilfreich, wenn Sie Autofs, einen Soft-Mount und einen kurzen Timeo-Wert auf dem Client verwenden.

Antwort3

Die obigen Antworten sind aus Client-Sicht ausgezeichnet, Sie sollten jedoch auch an die Serverseite denken.

In unserer Umgebung verwenden wir einen NFS-Server, um Webinhalte auf mehrere Rechner zu verteilen. Die Rechner verwenden außerdem Pacemaker/OpenAis, um herauszufinden, wer den NFS-Serverprozess ausführen, das Fiber-Channel-Volume mounten und die IP-Adresse für den NFS-Server festlegen soll.

Wenn wir eine Maschine neu starten müssen, erkennt Pacemaker dies und verschiebt den aktiven NFS-Server auf einen anderen Knoten, damit die Dienste nicht unterbrochen werden.

verwandte Informationen