NFS et echec de stat/lstat

Le
Vincent Lefevre
Bonjour,

Depuis quelques jours, il m'arrive le problème suivant (sur une
machine sous Linux): sur certains fichiers d'un répertoire sous
NFS, les appels système stat et lstat échouent. Résultat d'un
strace:

lstat("results.p2031.0.54", 0x7fff4d1d0490) = -1 EACCES (Permission denied)

L'erreur se voit notamment quand je fais un "ls -l" du répertoire:

-????????? ? ? ? ? ? results.p2031.0.54

Le problème disparaît après lecture du fichier (e.g. avec "cat").
Une idée du problème?

Note: ces derniers jours, il y a eu des coupures réseau sur le site
en question, mais c'est résolu.

--
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JKB
Le #20257921
Le 29-09-2009, ? propos de
NFS et echec de stat/lstat,
Vincent Lefevre ?crivait dans fr.comp.os.unix :
Bonjour,



Bonjour,

Depuis quelques jours, il m'arrive le problème suivant (sur une
machine sous Linux): sur certains fichiers d'un répertoire sous
NFS, les appels système stat et lstat échouent. Résultat d'un
strace:

lstat("results.p2031.0.54", 0x7fff4d1d0490) = -1 EACCES (Permission denied)

L'erreur se voit notamment quand je fais un "ls -l" du répertoire:

-????????? ? ? ? ? ? results.p2031.0.54

Le problème disparaît après lecture du fichier (e.g. avec "cat").
Une idée du problème?

Note: ces derniers jours, il y a eu des coupures réseau sur le site
en question, mais c'est résolu.




Ma boule de cristal est en panne. Quelles configurations de part et
d'autre ? Quelles versions de NFS (ce ne serait pas du NFSv4 ?) ?
TCP ? UDP ? Taille des paquets ?

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Vincent Lefevre
Le #20261451
Dans l'article JKB
Ma boule de cristal est en panne. Quelles configurations de part et
d'autre ? Quelles versions de NFS (ce ne serait pas du NFSv4 ?) ?
TCP ? UDP ? Taille des paquets ?



Je ne sais pas trop comment avoir ces infos. Il y a déjà ça:

$ nfsstat -v234
Client packet stats:
packets udp tcp tcpconn
0 0 0 0

Client rpc stats:
calls retrans authrefrsh
15419684 0 0

Client nfs v2:
null getattr setattr root lookup readlink
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
read wrcache write create remove rename
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
link symlink mkdir rmdir readdir fsstat
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%

Client nfs v3:
null getattr setattr lookup access readlink
0 0% 1487518 9% 207481 1% 8514849 55% 1113872 7% 59 0%
read write create mkdir symlink mknod
291600 1% 900874 5% 210543 1% 726 0% 85 0% 1 0%
remove rmdir rename link readdir readdirplus
224495 1% 465 0% 65249 0% 9769 0% 1579104 10% 33105 0%
fsstat fsinfo pathconf commit
1 0% 180 0% 0 0% 779706 5%

Client nfs v4:
null read write commit open open_conf
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
open_noat open_dgrd close setattr fsinfo renew
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
setclntid confirm lock lockt locku access
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
getattr lookup lookup_root remove rename link
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
symlink create pathconf statfs readlink readdir
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
server_caps delegreturn getacl setacl fs_locations
0 0% 0 0% 0 0% 0 0% 0 0%

et "nfsstat -m" donne en ce qui me concerne:

/home/vlefevre from filer.lip.ens-lyon.fr:/export/home/vlefevre
Flags: rw,relatime,vers=3,rsize&2144,wsize&2144,namlen%5,hard,nointr,proto=tcp,timeo`0,retrans=2,sec=sys,addr0.77.14.16

Y a-t-il d'autres commandes à lancer pour avoir d'autres infos?

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
JKB
Le #20261441
Le 30-09-2009, ? propos de
Re: NFS et echec de stat/lstat,
Vincent Lefevre ?crivait dans fr.comp.os.unix :
Dans l'article JKB
Ma boule de cristal est en panne. Quelles configurations de part et
d'autre ? Quelles versions de NFS (ce ne serait pas du NFSv4 ?) ?
TCP ? UDP ? Taille des paquets ?



Je ne sais pas trop comment avoir ces infos. Il y a déjà ça:

$ nfsstat -v234
Client packet stats:
packets udp tcp tcpconn
0 0 0 0

Client rpc stats:
calls retrans authrefrsh
15419684 0 0

Client nfs v2:
null getattr setattr root lookup readlink
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
read wrcache write create remove rename
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
link symlink mkdir rmdir readdir fsstat
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%

Client nfs v3:
null getattr setattr lookup access readlink
0 0% 1487518 9% 207481 1% 8514849 55% 1113872 7% 59 0%
read write create mkdir symlink mknod
291600 1% 900874 5% 210543 1% 726 0% 85 0% 1 0%
remove rmdir rename link readdir readdirplus
224495 1% 465 0% 65249 0% 9769 0% 1579104 10% 33105 0%
fsstat fsinfo pathconf commit
1 0% 180 0% 0 0% 779706 5%

Client nfs v4:
null read write commit open open_conf
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
open_noat open_dgrd close setattr fsinfo renew
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
setclntid confirm lock lockt locku access
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
getattr lookup lookup_root remove rename link
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
symlink create pathconf statfs readlink readdir
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
server_caps delegreturn getacl setacl fs_locations
0 0% 0 0% 0 0% 0 0% 0 0%

et "nfsstat -m" donne en ce qui me concerne:

/home/vlefevre from filer.lip.ens-lyon.fr:/export/home/vlefevre
Flags: rw,relatime,vers=3,rsize&2144,wsize&2144,namlen%5,hard,nointr,proto=tcp,timeo`0,retrans=2,sec=sys,addr0.77.14.16



rsize et wsize me semblent un peu grand. Version du noyau ? Parce
que certains noyaux linux sont buggués jusqu'à la moëlle.

Au passage, ton truc semble être du NFSv3/UDP.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Vincent Lefevre
Le #20261621
Dans l'article JKB
Le 30-09-2009, ? propos de
Re: NFS et echec de stat/lstat,
Vincent Lefevre ?crivait dans fr.comp.os.unix :
>
> /home/vlefevre from filer.lip.ens-lyon.fr:/export/home/vlefevre
> Flags: rw,relatime,vers=3,rsize&2144,wsize&2144,namlen%5,hard,nointr,proto=tcp,timeo`0,retrans=2,sec=sys,addr0.77.14.16



rsize et wsize me semblent un peu grand.



Oui, il me semble aussi. En février 2007, ils étaient à 8192.
Je ne sais pas quand ça a changé...

Version du noyau ? Parce que certains noyaux linux sont
buggués jusqu'à la moëlle.



tomate:~> uname -a
Linux tomate 2.6.30.7-server-amd64 #1 SMP Mon Sep 21 15:12:25 CEST 2009 x86_64 GNU/Linux

Il me semble justement que les problèmes se produisent depuis la
mise à jour du noyau (pas complètement sûr, mais en tout cas ils
ne se sont jamais produits avant).

Au passage, ton truc semble être du NFSv3/UDP.



UDP? Pourquoi y a-t-il proto=tcp?

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
JKB
Le #20261821
Le 30-09-2009, ? propos de
Re: NFS et echec de stat/lstat,
Vincent Lefevre ?crivait dans fr.comp.os.unix :
Dans l'article JKB
Le 30-09-2009, ? propos de
Re: NFS et echec de stat/lstat,
Vincent Lefevre ?crivait dans fr.comp.os.unix :
>
> /home/vlefevre from filer.lip.ens-lyon.fr:/export/home/vlefevre
> Flags: rw,relatime,vers=3,rsize&2144,wsize&2144,namlen%5,hard,nointr,proto=tcp,timeo`0,retrans=2,sec=sys,addr0.77.14.16



rsize et wsize me semblent un peu grand.



Oui, il me semble aussi. En février 2007, ils étaient à 8192.
Je ne sais pas quand ça a changé...



Je raconte peut-être une honnerie, mais il me semble que 32k est le
maximum recommandé. En tout cas, après 32k, j'ai eu des problèmes
d'interaction entre du Linux et du Solaris.

Version du noyau ? Parce que certains noyaux linux sont
buggués jusqu'à la moëlle.



tomate:~> uname -a
Linux tomate 2.6.30.7-server-amd64 #1 SMP Mon Sep 21 15:12:25 CEST 2009 x86_64 GNU/Linux

Il me semble justement que les problèmes se produisent depuis la
mise à jour du noyau (pas complètement sûr, mais en tout cas ils
ne se sont jamais produits avant).



Le noyau Linux est inutilisable en production depuis le 2.6.27.
C'est d'ailleurs pour cela qu'il est toujours maintenu. Essaie un
2.6.27.xx pour commencer. Le NFS est une histoire foireuse sur les
noyaux 2.6.18/19/20 et les noyaux 2.6.28/29/30/31 sont vraiment
expérimentaux. Ils ne bootent même pas chez moi.

Au passage, ton truc semble être du NFSv3/UDP.



UDP? Pourquoi y a-t-il proto=tcp?



Parce que mon clavier a fouché.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Vincent Lefevre
Le #20261811
Dans l'article JKB
[rsize et wsize]
Je raconte peut-être une honnerie, mais il me semble que 32k est le
maximum recommandé. En tout cas, après 32k, j'ai eu des problèmes
d'interaction entre du Linux et du Solaris.



Le noyau Linux est inutilisable en production depuis le 2.6.27.
C'est d'ailleurs pour cela qu'il est toujours maintenu. Essaie un
2.6.27.xx pour commencer. Le NFS est une histoire foireuse sur les
noyaux 2.6.18/19/20 et les noyaux 2.6.28/29/30/31 sont vraiment
expérimentaux. Ils ne bootent même pas chez moi.



Merci. Je vais transmettre ces infos aux administrateurs système, en
espérant qu'ils feront quelque chose. D'après le contenu du /boot de
la machine, le noyau utilisé précédemment (avant le 23/09) était un
2.6.26.8.

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
Publicité
Poster une réponse
Anonyme