Bonjour,
Depuis 3 jours nous avons des problèmes avec la gestion des locks NFS, par exemple pour ouvrir “firefox” sur un /home monté en nfs depuis le serveur. Le client ne reçoit jamais la reponse du serveur.
Le process ‘lockd’ se bloque (sur le serveur) et se met en status ‘D’. Un reboot du serveur retablit le fonctionnement du lockd mais lorsque tous les utilisateurs sont connectés, ça replante. Nous avons installé la dernière version nfs-kernel et nfs-common ça a été aussi efficace qu’un reboot
mais au bout d’un moement ça a replanté.
Une idée pour arriver à traquer ce qui fait planter le process “lockd” ?
Merci de votre aide
Lorsque cela arrive, ce n’est pas à proprement parler un plantage, mais un blocage (temporaire), un délai d’attente inhabituel. Comment sont montés les HOME des utilisateurs via NFS ? Quelle version de NFS ? Utilisez-vous le montage automatique (autofs) sur les postes clients ?
Combien y-a-t-il d’utilisateurs simultanés ?
Je vous conseille d’utiliser systématiquement le montage automatique, ce qui libère des ressources sur le serveur (au moins la nuit )
Sur un poste client
mount | fgrep /home
Sur le serveur
ps -edf | fgrep lockd
sudo ls -lpR /proc/<pid> | less
et tenter de voir quel est le fichier qui passe en état Ddisk sleep.
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)
« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac
Il faut utiliser la première commande donnée par littlejohn: ps -edf | fgrep lockd
Cette commande permettra de repérer les PID des des processus en état lockd, et c’est pour chacun de ceux-là qu’il faut inspecter leur répertoire dans /proc
Pas besoin de copie d’écran, les retours de commande en mode texte sont tr_s bien.
Pouvez-vous donner les retours de (sur le serveur)
/sbin/showmount -a
/sbin/showmount -e
df -hTx tmpfs
cat /etc/exports
Vous n’avez toujours pas dit comment se font les montages NFS depuis les clients (/etc/fstab, automount, autre ) et combien de clients accèdent simultanément au serveur NFS.
Comment sont identifiés sur le serveurs les postes clients, les utilisateurs et les groupes ? Utilisez-vous NIS, LDAP, autre ?
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français
« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)
Merci de continuer à m’aider.
Nous pensons avoir trouver la source de notre problème. Nous avons cherché pendant 6 jours pour trouver enfin nous pensons. Je répond à tes questions et je donne les indications sur ce que nous avons fait. Merci encore. Je ne connais pas les commandes “showmount” /sbin/showmount -a
15.1.0.117:/data
15.1.0.117:/home
15.1.0.117:/opt
…
/sbin/showmount -e
Export list for monserveur
/home *
/data *
/opt * cat /etc/exportfs
/home *(ro,async,no_subtree_check,ro_root_squash)
/opt *(ro,async,no_subtree_check,ro_root_squash)
/data *(ro,async,no_subtree_check,ro_root_squash)
-Comment se font les montages NFS depuis le client: /etc/fstab
-Combien de clients accèdent simultanément au serveur: 50
Comment sont identifiés sur les postes clients, les utilisateurs …: LDAP
Description des symptomes:
Le daemon lockd est en status “D” => consequences on arrive plus à locker les fichiers avec “flock”.
le netstat est trés lent sur le serveur mais pas sur les clients
Sur le serveur:
Nous avons remarqué que le repertoire “/var/lib/nfs/sm”, il y avait des adresses IP et des noms de client mais avec le mauvais domain name
Finalement, le problème venait du fichier /etc/bind/dns.inv qui contenait un caractère parasite. Nous avons verifier la syntaxe avec la commande cd /etc/bind;names-checkconf -z
La commande a détecté une erreur de syntaxe sur le fichier inversé. Solution:
Reparé le fichier dns.inv
Supprimer les fichiers dans le répertoire /var/lib/nsf/sm/*
Redemarrer les services: nfs-kernel, nfs-common,nfs-bind
=> Le process “lockd” se reveille et tout repart.
Ouff!!!
Merci encore à tous pour votre aide qui nous a permis de continuer à chercher en se sentant moins seuls.
Pourquoi ne pas faire un copier/coller. C’est /etc/exports pas exportfs.
Export vers ‹ * › : on sème à tout vent.
Vous êtes sûr de l’option ro pour /home ? C’est très bizarre.
Le système de fichiers /data est uniquement modifié sur le serveur ?
Mauvaise pioche.; à mon avis, cette méthode ne présente aucun avantage par rapport à automount/autofs.
Il serait judicieux de modifier le fichier /etc/nsswitch.conf de telle sorte qu’apparaisse le nom de la machine et non pas son numéro IP
getent hosts 15.1.0.117
hostname --fqdn
De même dans /etc/exports remplacer ‹ * › par quelque chose comme 15.1.0.*ne me paraîtrait pas aberrant.
Lancer des commandes
getent hosts _nom_
getent hosts _IP_
ne coûte pas cher et cela peut rapporter gros
man nsswitch.conf
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac
« Je préfère le vin d’ici à l’au-delà »
Pierre Dac