PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erfahrungen mit NFS v4



Stephanw
29.04.08, 13:55
Hat jemand von euch bereits praktische Erfahrungen mit NFS Version 4? Am besten mit Linux, Solaris oder AIX.

Gruß Stephan

Columbo0815
09.05.08, 07:51
Ja habe ich. Meine Erfahrung damit ist (sofern du mit deiner Frage auf das "welche" abzielst):

Es wird kein UDP mehr unterstützt weshalb ich wieder NFSv3 benutze (insbesondere auch, da NFSv4 lange Zeit nicht für BSD verfügbar war). UDP ist in manchen Konstellationen einfach schneller.

Dellerium
09.05.08, 08:28
Ich klinke mich hier mal ein ;)

Afaik sollen mit NFSv4 ja Möglichkeiten vorhanden sein, den Zugriff abzusichern (also zu verhindern, das jeder das Share mounten kann). Hat da schon jemand Erfahrungen mit gesammelt?

(Begrenzung auf eine bestimmte IP reicht halt oftmals nicht...)

Stephanw
12.05.08, 12:37
@Dellerium:Ja, kryptologische Verfahren werden durch NFS v4 vorausgesetzt; allerdings bieteten viele Implementierungen von NFS v3 diese Features auch an. Es gibt die Möglichkeit, Kerberos zu benutzen oder eine auf Diffie-Hellman basierende Schlüsselaustausch-Dingsbums.

Mein Problem ist, das NFS v4 fast in allen Disziplinen langsamer ist als NFS v3 (unter Benutzung von TCP), obwohl so Sachen wie compund RPC calls das Gegenteil bewirken sollten. Ich habe Benchmarks mit Bonnie++, IOzone und selbstgemachten Skripts durchgeführt.

Gruß Stephan

BedriddenTech
12.05.08, 14:18
Wir haben mit dem Drehen an den TCP-Paramtern einiges verbessern können. 18 Rechner im Labor, Gigabit-Ethernet als Anbindung. Es gibt ja eine Reihe von Anleitungen dazu; denen zu folgen kann helfen.

Stephanw
14.05.08, 11:19
Ich hab mal mitgesnoopt, was beim Anlegen einer leeren Datei mittels touch passiert. NFS 4 ist da ja langsamer als NFS 3.

Ausgabe zu NFS 4:



10.65.103.34 -> 10.65.57.100 NFS C 4 (lookup ) PUTFH FH=2532 SAVEFH LOOKUP xx GETFH GETATTR 10011a b0a23a RESTOREFH NVERIFY GETATTR 10011a b0a23...
10.65.57.100 -> 10.65.103.34 NFS R 4 (lookup ) NFS4ERR_NOENT PUTFH NFS4_OK SAVEFH NFS4_OK LOOKUP NFS4ERR_NOENT
10.65.103.34 -> 10.65.57.100 NFS C 4 (lookup valid) PUTFH FH=2532 NVERIFY GETATTR 10011a b0a23a ACCESS rd,lk,mo,ext,dl LOOKUP xx GETFH GETATTR 10011a...
10.65.57.100 -> 10.65.103.34 NFS R 4 (lookup valid) NFS4ERR_SAME PUTFH NFS4_OK NVERIFY NFS4ERR_SAME
10.65.103.34 -> 10.65.57.100 NFS C 4 (lookup ) PUTFH FH=2532 SAVEFH LOOKUP xx GETFH GETATTR 10011a b0a23a RESTOREFH NVERIFY GETATTR 10011a b0a23...
10.65.57.100 -> 10.65.103.34 NFS R 4 (lookup ) NFS4ERR_NOENT PUTFH NFS4_OK SAVEFH NFS4_OK LOOKUP NFS4ERR_NOENT
10.65.103.34 -> 10.65.57.100 NFS C 4 (open ) PUTFH FH=2532 SAVEFH OPEN xx OT=CR(G) SQ=18 CT=N AC=W DN=N OO=000B GETFH GETATTR 10011a b0a23a RE...
10.65.57.100 -> 10.65.103.34 NFS R 4 (open ) NFS4_OK PUTFH NFS4_OK SAVEFH NFS4_OK OPEN NFS4_OK ST=1687:1 RF=PL DT=W DST=1A01:0 LB=SZ(0) GETFH NFS4_OK ...
10.65.103.34 -> 10.65.57.100 NFS C 4 (access ) PUTFH FH=2FCD ACCESS rd,mo,ext,exc
10.65.57.100 -> 10.65.103.34 NFS R 4 (access ) NFS4_OK PUTFH NFS4_OK ACCESS NFS4_OK Supp=rd,mo,ext,exc Allow=rd,mo,ext,exc
10.65.103.34 -> 10.65.57.100 NFS C 4 (close ) PUTFH FH=2FCD GETATTR 10011a b0a23a CLOSE SQ=19 OST=1687:1
10.65.57.100 -> 10.65.103.34 NFS R 4 (close ) NFS4_OK PUTFH NFS4_OK GETATTR NFS4_OK CLOSE OST=1687:2
10.65.103.34 -> 10.65.57.100 NFS C 4 (setattr ) PUTFH FH=2FCD SETATTR ST=SPC0 GETATTR 10011a b0a23a
10.65.57.100 -> 10.65.103.34 NFS R 4 (setattr ) NFS4_OK PUTFH NFS4_OK SETATTR 8 208000 GETATTR NFS4_OK


Und das passiert bei NFS 3:



10.65.103.34 -> 10.65.57.100 NFS C LOOKUP3 FH=011B xx
10.65.57.100 -> 10.65.103.34 NFS R LOOKUP3 No such file or directory
10.65.103.34 -> 10.65.57.100 NFS C GETATTR3 FH=011B
10.65.57.100 -> 10.65.103.34 NFS R GETATTR3 OK
10.65.103.34 -> 10.65.57.100 NFS_ACL C GETACL3 FH=011B mask=8
10.65.57.100 -> 10.65.103.34 NFS_ACL R GETACL3 OK
10.65.103.34 -> 10.65.57.100 NFS C LOOKUP3 FH=011B xx
10.65.57.100 -> 10.65.103.34 NFS R LOOKUP3 No such file or directory
10.65.103.34 -> 10.65.57.100 NFS C CREATE3 FH=011B (GUARDED) xx
10.65.57.100 -> 10.65.103.34 NFS R CREATE3 OK FH=6793
10.65.103.34 -> 10.65.57.100 NFS C GETATTR3 FH=6793
10.65.57.100 -> 10.65.103.34 NFS R GETATTR3 OK
10.65.103.34 -> 10.65.57.100 NFS C SETATTR3 FH=6793
10.65.57.100 -> 10.65.103.34 NFS R SETATTR3 OK


Die Transaktionszahl ist identisch, die Operationszahl bei NFS 4 allerdings wesentlich höher. Da drängt sich die Frage auf, was macht der da für einen *******?

Gruß Stephan