[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