• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

nfsserver Lesezugriffe extrem langsam

Arnt

Newbie
Hallo zusammen,

ich habe meinen alten Hausserver durch Neuinstallation von OpenSuse 11.1 auf 12.1 aktualisiert. Zwei Probleme habe ich noch, wovon ich eines gerne hier diskutieren würde.

Ich habe den nfs-Kernelserver installiert und diverse home-Verzeichnisse freigegeben:

Code:
sonne:~ # cat /etc/exports
/home	*(rw,root_squash,async,insecure,no_acl)
/home1	*(rw,root_squash,async,insecure,no_acl)
/home2	*(rw,root_squash,async,insecure,no_acl)
/home3	*(rw,root_squash,async,insecure,no_acl)
/home5	*(rw,root_squash,async,insecure,no_acl)

auf den ubuntu-Clients werden diese beim Booten direkt gemountet:

Code:
arnt@jupiter:~$ cat /etc/fstab | grep nfs
sonne:/home	/sonne/home	nfs defaults 0 0
sonne:/home1	/sonne/home1	nfs defaults 0 0
sonne:/home2	/sonne/home2	nfs defaults 0 0 
sonne:/home3	/sonne/home3	nfs defaults 0 0 
sonne:/home5    /sonne/home5    nfs defaults 0 0
arnt@jupiter:~$

Der selbe Mechanismus klappte unter OS 11.1 wunderbar. Jetzt ist es so, dass schreibende Zugriffe auf den Server mit grossen Dateien (ca. 800MB - 2 GB) auch wieder problemlos funktionieren. Beim Lesen jedoch werden etwa 30 -bis 100 MB flott auf den Client geladen, danach bricht die Übetragung jedoch fast vollständig zusammen. Dabei kann man auf dem Server sehen, wie die nfs-Prozesse auf dem Server von 1% auf in Summe fast 100% ansteigen und dort konstant stehen bis man nfs beendet, bzw. der Client beendet wird.

In den Messages kann ich keine Auffälligkeit finden. Plattenprobleme möchte ich ausschliessen, Kopieren der selben Datei ueber die verschiedenen Platten ging zügig und problemlos. Eine defekte Netzwerkkarte schliesse ich aus, ich habe weder Paketverluste oder Kollisionen, Kopieren über SMB-Protokoll geht schreibend/lesend ohne Probleme.

Etwas ratlos,
Arnt.
 

spoensche

Moderator
Teammitglied
Ist der Rechner Sonne den per DNS auflösbar? Besteht das Problem auch, wenn du die IP des Servers verwendest? Poste mal was du zu NFS in der messages findest, auch wenn du nichts auffäliges findest.

PS:
Ob du Plattenprobleme auschliessen möchtest oder nicht (wer will keine dauerhaft funktionierende Platte) interessiert deine Platte recht herzlich wenig
 
OP
A

Arnt

Newbie
hm an ein DNS-Problem habe ich auch schon gedacht, aber auch wenn ich über die IP mounte bleibt das Problem bestehen.

Ok die Messages von heute:

Code:
cat /var/log/messages | grep nfs
Feb  4 08:34:47 sonne nfsserver[4700]: Shutting down kernel based NFS server: nfsd statd mountd..done
Feb  4 08:34:51 sonne nfsserver[4727]: Starting kernel based NFS server:exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
Feb  4 08:34:51 sonne nfsserver[4727]: Assuming default behaviour ('no_subtree_check').
Feb  4 08:34:51 sonne nfsserver[4727]: NOTE: this default has changed since nfs-utils version 1.0.x
Feb  4 08:34:51 sonne kernel: [56414.910070] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Feb  4 08:34:51 sonne nfsserver[4727]: mountd statd nfsd sm-notify..done
Feb  4 08:37:18 sonne nfs[5398]: Starting NFS client services: sm-notify..done
Feb  4 12:46:58 sonne kernel: [71542.257096] svc: 10.10.10.50, port=851: unknown version (4 for prog 100003, nfsd)
Feb  4 12:46:58 sonne kernel: [71542.307370] svc: 10.10.10.50, port=1021: unknown version (4 for prog 100003, nfsd)
Feb  4 12:46:59 sonne kernel: [71542.401684] svc: 10.10.10.50, port=744: unknown version (4 for prog 100003, nfsd)
Feb  4 15:46:30 sonne kernel: [82313.830557] nfsd: last server has exited, flushing export cache
Feb  4 15:46:30 sonne nfsserver[20711]: Shutting down kernel based NFS server: nfsd statd mountd..done
Feb  4 15:46:34 sonne nfsserver[20733]: Starting kernel based NFS server:exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
Feb  4 15:46:34 sonne nfsserver[20733]: Assuming default behaviour ('no_subtree_check').
Feb  4 15:46:34 sonne nfsserver[20733]: NOTE: this default has changed since nfs-utils version 1.0.x
Feb  4 15:46:35 sonne kernel: [82318.701764] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Feb  4 15:46:35 sonne nfsserver[20733]: mountd statd nfsd sm-notify..done
Feb  4 16:07:54 sonne kernel: [83597.474973] nfsd: last server has exited, flushing export cache
Feb  4 16:07:54 sonne nfsserver[29077]: Shutting down kernel based NFS server: nfsd statd mountd..done
Feb  4 16:07:58 sonne nfsserver[29106]: Starting kernel based NFS server:exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
Feb  4 16:07:58 sonne nfsserver[29106]: Assuming default behaviour ('no_subtree_check').
Feb  4 16:07:58 sonne nfsserver[29106]: NOTE: this default has changed since nfs-utils version 1.0.x
Feb  4 16:07:59 sonne kernel: [83602.489100] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Feb  4 16:07:59 sonne nfsserver[29106]: mountd statd nfsd sm-notify..done
Feb  4 16:21:29 sonne kernel: [84413.001293] nfsd: last server has exited, flushing export cache
Feb  4 16:21:29 sonne nfsserver[32236]: Shutting down kernel based NFS server: nfsd statd mountd..done
Feb  4 16:21:33 sonne nfsserver[32273]: Starting kernel based NFS server:exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
Feb  4 16:21:33 sonne nfsserver[32273]: Assuming default behaviour ('no_subtree_check').
Feb  4 16:21:33 sonne nfsserver[32273]: NOTE: this default has changed since nfs-utils version 1.0.x
Feb  4 16:21:33 sonne kernel: [84417.228100] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Feb  4 16:21:33 sonne nfsserver[32273]: mountd statd nfsd sm-notify..done
Feb  4 23:14:35 sonne kernel: [109199.067319] svc: 10.10.10.20, port=791: unknown version (4 for prog 100003, nfsd)
Feb  4 23:14:35 sonne kernel: [109199.084631] svc: 10.10.10.20, port=952: unknown version (4 for prog 100003, nfsd)
Feb  4 23:14:35 sonne kernel: [109199.094902] svc: 10.10.10.20, port=957: unknown version (4 for prog 100003, nfsd)
Feb  4 23:14:35 sonne kernel: [109199.171429] svc: 10.10.10.20, port=669: unknown version (4 for prog 100003, nfsd)
 

mahol

Newbie
Warum nimmst du nicht nfs v4?

Code:
Server:
/shares/myuser   Meine.Netzwerk.Adr/24(fsid=0,crossmnt,rw,sync,no_subtree_check)

Client:
myserver:/     /server  nfs4   rw,auto   0 0
 
OP
A

Arnt

Newbie
hatte ich auch bereits versucht, änderte aber an meinem Problem leider nichts.
 
OP
A

Arnt

Newbie
ich habe die Ausgaben von nfsstat hier gepostet. Vielleicht sieht hier jemand das Übel.

Code:
sonne:~ # nfsstat -s
Server rpc stats:
calls      badcalls   badclnt    badauth    xdrcall
105051     52         52         0          0       

Server nfs v3:
null         getattr      setattr      lookup       access       readlink     
79        0% 36830    35% 3         0% 12678    12% 21260    20% 43        0% 
read         write        create       mkdir        symlink      mknod        
8553      8% 4935      4% 108       0% 0         0% 0         0% 0         0% 
remove       rmdir        rename       link         readdir      readdirplus  
0         0% 0         0% 1         0% 0         0% 388       0% 17360    16% 
fsstat       fsinfo       pathconf     commit       
1717      1% 140       0% 70        0% 245       0% 

sonne:~ # nfsstat -s -o fh 
Server file handle cache:
lookup     anon       ncachedir  ncachedir  stale
0          0          0          0          0       

sonne:~ # nfsstat -s -o rc
Server reply cache:
hits       misses     nocache
0          5047       100004

Die Ausgabe von top während eines Leseversuches einer etwa 2 Gb grossen Datei über nfs.

Code:
sonne:~ # top

top - 11:23:30 up 1 day, 18:28,  1 user,  load average: 0.59, 0.28, 0.23
Tasks: 134 total,   2 running, 132 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.7%us, 98.3%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3068532k total,  2872284k used,   196248k free,    93768k buffers
Swap:  2104476k total,   154004k used,  1950472k free,  2533284k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                  
 2273 root      20   0     0    0    0 S 33.5  0.0   0:09.69 nfsd                                                                     
 2274 root      20   0     0    0    0 R 32.6  0.0   0:08.80 nfsd                                                                     
 2271 root      20   0     0    0    0 S 10.9  0.0   0:02.74 nfsd                                                                     
 2268 root      20   0     0    0    0 S  9.2  0.0   0:01.18 nfsd                                                                     
 2269 root      20   0     0    0    0 S  9.2  0.0   0:02.16 nfsd                                                                     
 2272 root      20   0     0    0    0 S  1.6  0.0   0:00.61 nfsd

Die Übertragung brach nach 33 MB komplett ein und die nfsd-Prozesse stiegen auf die hohen CPU-Werte an.
 

spoensche

Moderator
Teammitglied
Wenn du auf dem Server kein NFSv4 für die Freigaben verwendest, dann darfst du auf dem Client auch kein NFS4 als Dateisystem angeben, sondern nur NFS (NFSv3)
 
OP
A

Arnt

Newbie
Danke für die Antwort. Das Thema hat sich insofern erledigt, da ich von opensuse 12.1 auf 11.4 zurückgegangen bin. Dort funktionierts mit der selben Konfig.

Trotzdem noch eine Frage:

Code:
sonne:/home   /sonne/home   nfs defaults 0 0

sollte doch nur NFS V3 verwenden,? Ich dachte, erst durch die Angabe

Code:
sonne:/home   /sonne/home   nfs4 defaults 0 0

wird die neue Version verwendet?
 

tasskaff

Member
Leider ist ein Downgrade auf 11.4 ist wegen des auch bald auslaufenden Supports keine Lösung.

Habe das gleiche Problem seit der Neuinstallation von OS 12.1. Beim lesenden Zugriff auf den Server, überträgt er ca 30 MB in der 1. Sekunde und dann nix mehr. Schreiben geht auch langsam, habe es aber noch nicht mit großen Datein (> 60 MB) ausprobiert.
Habe jetzt alle Threads verfolgt, die sich um "NFS + langsam" kümmern, NFSv4 und v3, sowie sync und async jeweils auf Server und Client (natürlich korrelierend) ausprobiert, die Rechnernamen alle mit IP, FQDN und Alias in den /etc/hosts erwähnt und auch keine relevanten Einträge in /var/log/messages gefunden.
Ist dies evtl. ein bekannter Bug? Solange der Server noch mit OS 11.3 lief, waren 10 MB/s auf meinem alten 100Mbit Netz normal. Auch mit OS 12.1 Clients.
Bitte um Ansätze zur Problemlokalisierung.

Danke schonmal für Eure Hilfe und Informationen.
 

spoensche

Moderator
Teammitglied
Was sagt den
Code:
nfsstat
und
Code:
nfsiostat
wenn Dateien übertragen werden?

Ich habe gerade mal nach NFS-Bugs unter 12.1 gesucht und bin auf https://bugzilla.novell.com/show_bug.cgi?id=751691 gestossen.
 
Oben