[linux-l] nfs einbindung ohne zugang

Peter Ross Peter.Ross at alumni.tu-berlin.de
So Feb 26 13:08:25 CET 2006


Hallo Kai,
On Sun, 26 Feb 2006, Kai Kuehne wrote:

> On 2/26/06, Peter Ross <Peter.Ross at alumni.tu-berlin.de> wrote:
>> Tja.. Frustrierenderweise meine
>> Standard-Linux-2.2/2.4-Kernel-NFS-Erfahrung seit 1999. Wenn ich nicht
>> muss, ist ein NFS-Server auf x86 FreeBSD.
>
> Na klasse, die Implementierung von NFS scheint echt schwer zu sein...

Es ist nicht simpel, aber unter Linux zumindest frueher nach meinem 
Empfinden irgendwie aus dem Ruder gelaufen.

Ich habe NFS-Probleme gedebugt, und der Code war reichlich unbegreiflich. 
Den korrespondierenden FreeBSD-Code konnte ich verstehen, das hat bei 
Linux dreimal so lange gedauert.

Den no_subtreecheck z.B. - kaum begreiflich, worum es da geht. Ich kannte 
die Option gar nicht, und unter FreeBSD gibt es sie auch nicht.

Der Mountpoint eines NFS-Filesystems wird beim Mounten geprueft, und ein 
File oder Directory wird vom Client ueber einen Pfadnamen geoeffnet. Dabei 
muss der Server sich durch den Verzeichnisbaum vom Mountpoint angefangen 
durchhangeln, und dabei werden die Permissions einmal geprueft. Sind die 
OK, gibt der Server ein Filehandle.

Nachfolgende Operationen beziehen sich auf das Filehandle, welches 
geoeffnet ist. Der NFS-Server kennt den korresponsierenden inode und kann 
genau das Gleiche tun, was es bei lokalem Zugriff machen konnte.

Warum Linux die o.g. Option braucht, kann ich nur vermuten.. Ich habe 
extrem kaputtes Verhalten erlebt, beispielsweise war ein NFS-Filehandle 
ungueltig, wenn auf das via NFS geoeffnete File lokal ein Hardlink gelegt 
wurde:-( (Debain woody, Kernel 2.4.19)

>> Wobei mein Chef, der bis vor einem Jahr bei SGI in Melbourne in der
>> Storage-Entwicklungsabteilung (SAN, XFS, CXFS, NFS) gearbeitet hat,
>> schwoert, dass unter 2.6 alles viel besser geworden sei. Speziell bei SGI
>> hat jemand da intensiv dran gearbeitet.
>
> Super. War das frueher noch langsamer oder was? ;-)

Hmmh.. Vielleicht auch nur unsauberer?

>> Drum waere ich mal an Details interessiert, was denn mit NFS v3 sauber
>> oder unsauber laeuft (Distribution, Kernel etc.)
>
> Distribution: Gentoo
> Kernel: 2.6.15 mit div. Kerneln, wahrscheinlich *kein* NFS-Patch
> NFSd: Kernel
> nfs-utils: 1.0.6

Also ein 2.6er:-(

> (Zumindest bei mir) ist es so, dass bei Auswahl von NFSv4 die TCP-Option
> deaktiviert wird. Du sagst oben selbst, dass das keine gute Idee ist.

Naja, ich habe das noch nicht zu Ende durchdacht. Version 4 ist stateful, 
im Gegensatz zu 2 oder 3.. Das aendert die Ausgangslage etwas, da klingt 
mir NFS ueber UDP nicht mehr ganz so verwegen.

Gruss
Peter



Mehr Informationen über die Mailingliste linux-l