Re: NFS locking

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Mon, 24 Jan 2011 13:43:19 +0100

Am Montag, den 24.01.2011, 12:45 +0100 schrieb Oliver Brandmueller:
> Hallo,
>
> On Sat, Jan 22, 2011 at 08:20:16PM +0100, Marc Santhoff wrote:

> st das richtig, ist "NFS Locking" sicher, stabil und empfehlenswert?
> >
> > Falls es eine passende Informationsquelle zu dm Thema gibt, welche?
> >
> > Der Handbuchabschnitt auf meinem 7er FBSD ist etwas knapp und sagt nur,
> > daß man es benutzen kann, wenn eine Programm, etwa mutt, es verlangt.
> > Betroffen sind hier Systeme von Version 6 bis 8 und womöglich weiter 9.
>
> Ich denke mal, wir reden von NFSv3, die Angaben unten beziehen sich
> darauf - komme mir also keiner mit "bei NFSv4 ...", anderes Thema.

Genau.

> Also, es funktioniert (für gewisse Werte von "Funktionieren"), wenn auf
> Client und server statd und lockd laufen.
>
> ABER: Locking auf NFS ist broken by design. Grob gesagt behält der lockd
> eine Liste von Locks und kommuniziert mit dem lockd des Servers darüber.
> Im Idealfall sind die Ideen darüber, welche Datei gelockt ist, auf dem
> Server und allen Clients gleich. In einer Situation, wo der Server außer
> NFS nichts mit den Daten tut (also keine lokalen Locks erstellt) und es
> nur einen Client gibt wird das i.d.R. gutgehen. Bei vielen Clients gibt
> es dann lustige Effekte, wenn Clients oder gar der Server zwischendurch
> mal booten (oder es andere Probleme mit dem lockd oder der Kommunikation
> gibt). Dann kommt es gut und gerne mal vor, daß sich nicht mehr alle
> einig sind darüber, was denn nun genau gelockt ist. Das wiederum kann
> dan dazu führen, daß manche Programm ewiglich darauf warten, daß sie den
> lock für eine Datei bekommen etc.

Also eine Schönwettertechnik, solange alles normal ist, funktioniert's
gut.

> Neben fcntl-Locking gibt es dann natürlich noch das Dotlocking (ja, auch
> im Jahre 2010). Dabei passiert im wesentlichen sowas wie das Anlegen
> einer lock-Datei, auf deren Existenz dann geprüft wird. Da NFS durch
> sein Caching allerdings nicht wirklich Realtime-Operationen liefert ist
> auch das eher ein gefährliches Spiel.

Einleuchtend, ansonsten müßte das Setzen eines Locks erzwingen, das der
NFS-Server seinen Cache ausleert - macht sicher die Performance kaputt.

> Fazit: Für kleinere Anwendungen geht das, in größerem Maßstab ist man
> bei NFSv3 besser bedient, wenn man weitgehend auf Locking verzichten
> kann. Ein mbox file shared zugreifen via NFS mit einem client und dem
> Server, der versucht, dort Mail auszuliefert wird fast unweigerlich
> irgendwann mal zu Problemen führen. Ein Maildir, was ohne Locking
> auskommt ist problemlos.

Das reicht eigentlich schon. Zumindest habe ich einen aktuellen Stand
und genug Hintergrund um zu wissen, warum und wie man sich damit in den
Fuß schießen kann.

Danke sehr,

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 24 Jan 2011 - 13:43:01 CET

search this site