[Debian]:Re: mehr zu:NFS-Locking-Probleme: ?
Gerhard Kroder <gerhard.kroder@data-sciences.de> wrote:
> mooment, was ist das? ich bin leider gerade erst auf den thread
> gestoßen und kenne die andere mails dazu nicht. aber es interessiert
> mich doch was da mit defektem nfs (locking) ist. wir haben liunux
> mit nfs doch erheblich im einsatz. ich stelle gerade unsere
> vorhandenen linux-maschinen auf debian um, und es kommen auch noch
> immer mehr dazu... :-)? das problem betrifft aber nur die
> nfs-server, richtig?
Nein, die Probleme hängen von extrem vielen Faktoren auf Client und
Server ab:
- Kernel des Client
- Mount-Optionen des Client
- Locking-Technik der Client-Programme
- Kernel des Servers
- nfsd des Servers
Leider sind die Kombinationen, bei denen Mail verloren gehen kann,
ganz klar in der Überzahl.
> wir haben zwar viel nfs im einsatz, die server sind aber (fast) alle
> solaris-maschinen (gerade nachgesehen, der bisher einzige offizielle
> linux-server ist 2.0.36). und ich benutze selbst den 2.2.10 seit 2
> monaten als client, ohne probleme bemerkt zu haben... (/home,
> /usr/local und andere datenbereiche).
Die Probleme treten auf, wenn auf Client und Server oder auf zwei
verschiedenen Clients auf das selbe File geschrieben wird.
Das Problem-Scenario kann etwa so aussehen:
- Client liest seine Mail via NFS
- Am Server trifft eine neue Mail ein und wird in den Mailfolder
gespeichert, der gerade von dem Client gelesen wird
- Client hat eine Mail aus der Mailbox gelöscht und schreibt die
Mailbox nun zurück
Dank Locking sollte es theoretisch keine Probleme geben, in der Praxis
können die aber auftreten, sobald der Client Kernel 2.2.* verwendet.
Der 2.2.* cacht nämlich Files und bekommt es so u.U. schlicht und
ergreifend nicht mit, daß sich die Mailbox geändert hat, weil er den
Server einfach nicht neu befragt. Daher ist im Kernel ein Trick
eingebaut, der dafür sorgt, daß fcntl()-Locking den Cache für das
gelockte File flusht.
Das setzt natürlich voraus, daß alle Client-Programme fcntl()-Locking
verwenden, aber genau das ist bei Debian nicht vorgeschrieben und Mutt
ist vermutlich das einzige Paket, das das (entgegen der Policy) schon
umgesetzt hat.
Hinzu kommt dann noch ein Bug in allen 2.2.* Kernels bis
einschließlich 2.2.12 (seit 2.2.13ac10 ist das behoben und wird wohl
auch in 2.2.13 behoben sein), der das Flushen des Caches mittels
fcntl() nur dann durchführt, wenn der Server ebenfalls Locking
unterstützt und dieses client-seitig nicht durch "nolock" als
Mount-Option abgeschaltet ist.
Mit einem 2.0.36 auf dem Server hast Du da also schon verloren und
solltest den Client dringend auf 2.2.13 bringen. Mit Solaris dürfte es
keine Probleme geben, denn die bieten ja schon lange Locking via NFS
an, aber damit habe ich bisher noch keine Erfahrungen gesammelt, da
kann ich also nichts zu sagen.
> ist das in einer (welcher?) der mailinglisten ausführlicher
> diskutiert worden?
Auf keiner :-(
Das Problem ist, daß dieses Problem kaum jemanden zu interessieren
scheint, auf debian-devel und debian-policy hat sich jedenfalls
niemand dafür interessiert (daher ist es nichtmal ansatzweise
behoben). Du kannst Dir aber mal die Bugs #43491 und #39030 anschauen,
da ist einiges an Diskussion zu dem Thema drin.
Tschoeeee
Roland
--
* roland@spinnaker.de * http://www.spinnaker.de/ *
PGP (RSA): 1024R/DD08DD6D 2D E7 CC DE D5 8D 78 BE 3C A0 A4 F1 4B 09 CE AF
GPG (DSA): 1024D/BD8B050D 3A63 2410 4B40 422D 1111 1D2C 3BBF CF77 BD8B 050D
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder: 744
Reply to: