
Wir führen NFS über einen Isilon-Cluster aus und erleben zeitweise eine ziemliche Verzögerung (von etwa 30 Sekunden), wenn wir auf einer Maschine ein Verzeichnis erstellen und auf einer anderen lesen.
Dies scheint nur zu passieren, wenn das Netzwerk stark ausgelastet ist. Es wurde jedoch empfohlen, vor dem Versuch, das neue Verzeichnis zu lesen, „ls“ im übergeordneten Verzeichnis auszuführen, um eine erneute Zwischenspeicherung des NFS zu erzwingen.
Klingt das richtig?
Antwort1
Scheint, als müssten Sie die Einbindungsoptionen acdirmin/acdirmax auf Ihren Clients anpassen, um die Ober- und Untergrenzen des Cachealters von Verzeichnisinformationen zu ändern. Diese 30 Sekunden entsprechen dem Standardwert von acdirmin von 30 Sekunden, was bedeutet, dass Informationen mindestens 30 Sekunden im Cache verbleiben müssen, bevor der Client in Erwägung zieht, ihn zu verlassen und zu aktualisieren.
Prüfen Sie, ob es hilft, Acdirmin auf 15 oder 10 Sekunden zu reduzieren.
Außerdem könnte das „ls“ hilfreich sein, weil es ein stat() bei „.“ verursacht, was möglicherweise den Cache für diesen Dentry ungültig machen könnte. Ich erinnere mich, dass wir einige unserer Tools ändern mussten, um vor open() eine Datei oder ein Verzeichnis mit stat() zu überprüfen, um zu bestätigen, dass das Element für einige unserer NFS-Sachen vorhanden war.
Antwort2
Bemerken also andere Clients, dass die Datei erstellt wurde? (Oder sind darin Änderungen beim Dateninhalt der Dateien enthalten?)
Befinden sich alle Vorgänge in einem einzigen Verzeichnis, da Isilons in einem einzigen Verzeichnis Probleme mit der Metadatenleistung haben?
Sind Sie sicher, dass es nicht der Server ist, der die Datei schreibt und den Cache ausführt? Wenn Sie sich bei Isilon anmelden und das Verzeichnis vom „Gerät“ aus beobachten, sehen Sie, dass die Dateien gleichzeitig mit der Meldung des Clients auf dem Server erscheinen.
Nur aus Neugier: Auf beiden Maschinen ist der gleiche Isilon-Stein montiert (obwohl das keine Rolle spielen sollte, wäre es doch interessant).
Welche Mount-Optionen haben Sie? (Macht NFS v2 einen Unterschied (eher eine Kuriosität, es hat kein Readir+))