NFS Blockieren beim Schreiben verhndern

F

Fux

Jungspund
Hallo zusammen!

Folgende Situation:

Server mit NFS-Server, dessen HDs nach einer Stunde ohne Akktivität herunterfahren (SpinDown). (Root-Partition auf anderer HD, die nicht herunterfährt).

Schreibt man während die HDs down sind lokal oder per SCP, so werden die HDs im Hintergrund hochgefahren während der Kopiervorgang läuft.

Versucht man das gleiche jedoch auf einem NFS-Mount, so blockt dieser, bis die HDs hochgefahren sind. Obwohl im Cache auf dem Server genug Platz wäre.

Die NFS-Optionen auf dem Server (/etc/exports) lauten :

rw,root_squash,async,no_wdelay,no_subtree_check

auf dem Client:

rw,v3,rsize=32768,wsize=32768,soft,udp,nolock.

Weiß jemand, wie ich NFS dazu bringe, zunächst in den Cache zu schreiben und nicht zu blockieren?

Vielen Dank im Voraus!
Fux
 
Ja, ist es. Das ist ein kleiner Homeserver, dessen HDs nur ein- bis zweimal am Tag aktiviert werden. Das ganze läuft soweit - bis auf die beschriebene Verzögerung - seit mehreren Jahren gut.


Grüße
Fux
 
Da no_wdelay gesetzt ist, dürfte hier das Problem zu suchen sein. Ausserdem solltest du synchronisiertes schreiben (anstelle von async einfach sync) aktivieren, damit der HD-Cache auch genutzt wird. Soweit ich informiert bin, sorgt async dafür, dass der Schreibvorgang nicht über den Cache synchron gehalten wird. Ausserdem ist async nicht gerade anzuraten, wenn paralllele Schreibzugriffe erfolgen.
 
Hallo zusammen,

vielen Dank für die Tipps soweit!

In Bezug auf die no_wdelay Option, die ich mal irgendwoher übernommen hatte, gab es offensichtlich ein Verständnis-Problem meinerseits: Ich habe es so verstanden, daß Schreibzugriffe nicht zu Verzögerungen führen sollten. Aber offensichtlich ist es genau anders herum - die Option wdelay (die der Standard zu sein scheint) führt dazu, daß Schreibzugriffe der Clients erst verzögert auf die Platten geschrieben werden.

Das hat insoweit schonmal geholfen.

Ob soft oder hard besser ist, versuche ich gerade herauszufinden.

@bitmuncher:

Eine Rückfrage hätte ich zu der Option[a]sync: Laut Man-Page soll async die höhere Performance bieten, da Schreibzugriffe gecached werden.

Du schreibst, daß sync die bessere Wahl wäre. Das hat mich jetzt etwas irritiert. Woher hast du das mit dem Plattencache?

Grüße
Fux
 
Meine Erfahrung hat mir gezeigt, dass beim Benutzen von async die Daten verloren waren, wenn der Client die Verbindung trennte. Das zeigte mir, dass offenbar nicht der HD-Cache des Servers genutzt wurde, da dann ein Ausführen von 'sync' die Daten auf die HD geschrieben hätte, was aber nicht der Fall war. Bei meiner Nachfrage auf dem Linux-Channel im Undernet wurde mir das dann bestätigt.
 
Zurück
Oben