Gleichzeitiger NFS-Zugriff

7473
Kristian

Ähnlich wie der gleichzeitige FTP-Zugriff .

Wie wird der gleichzeitige Dateizugriff für NFS behandelt? Angenommen, ein Client aktualisiert / überschreibt eine Datei auf einem NFS-Server und ein Prozess auf dem Server liest dieselbe Datei gleichzeitig aus dem Dateisystem. Gibt es eine Art atomarer Umgang mit Datei lesen / schreiben in NFS / Linux oder muss ich mit tmp-Dateien arbeiten, um die Datenkonsistenz zu gewährleisten?

Ich mache mir Sorgen, dass der Prozess, der die Datei liest, beschädigte Daten erhält.

5

3 Antworten auf die Frage

3
Josip Medved

Diese Konflikte werden normalerweise durch Sperren gelöst. Bei der Anwendung ist auf eine einwandfreie Verriegelung zu achten. Allerdings muss beachtet werden, dass die meisten Anwendungen dazu neigen, Dateien zu sperren, insbesondere beim Schreiben.

3
flybywire

NFS wird normalerweise mit dem Geschwisterprotokoll NLM (Network Lock Monitor) ausgeliefert, funktioniert jedoch nur mit Advisory-Sperren (dh nicht erzwungen).

Für diese und andere Fragen, die sich auf Ihre Frage beziehen, möchten Sie hauptsächlich " NFS als schädlich " lesen.

2
David Allan Finch

Dieses Problem ist auf jedem Multitasking-OS-Dateisystem gleich. Was stoppt einen Prozess zum Ändern einer Datei, die eine andere verwendet? Schlösser Nichts stoppt standardmäßig.

Sie können NLM oder anderen Systemen vertrauen, wenn Sie möchten, aber diese können fehlerhaft sein. Wir neigen dazu, Softlinks zu erstellen. Wenn das Erstellen fehlschlägt, hat jemand anderes die Datei. Vergessen Sie nicht, den Link zu entfernen, wenn Sie mit der Datei fertig sind.

Es gibt immer Probleme mit dem Entfernen von Dead Locks, wenn eine Maschine über das Netz oder eine Anwendung gestorben ist, da es mehr Fehlerzustände gibt. Ich glaube, es musste glauben, dass jedes NLM-ähnliche System diese 100% -ige Richtigkeit erhält.

Wenn Sie den Zugriff garantieren möchten, benötigen Sie einen speziellen Gate-Keep-Server, der nur atomare Lese- und Schreibvorgänge für die gesamte Datei zulässt.