Bonsoir à tous,
Je n'ai bientôt plus de cheveux ! Je suis face un problème ou je ne trouve pas de solution et surtout, pas de cause. Je me permet donc de faire appel à la communauté pour savoir si certains d'entres vous auriez des idées.
Voila le soucis :
J'administre un cluster de serveur web sous FreeBSD. Le cluster est organisé sous cette forme :
- Un serveur SSD en FreeBSD avec ZFS et NFS server.
- 5 nodes web apache en FreeBSD avec NFS client, connectés au NFS server
- Un load balancer HaProxy
- Deux serveurs Mysql.
Mon problème est que aléatoirement, une fois par jour ou une fois par semaine la charge des machines web connectés au serveur NFS monte fortement. Dans les logs d'une des machines je peux voir une erreur de "lock". Il semblerait qu'ils n'arrivent plus à "locker" les fichiers et donc comme ils sont en attentes de "lock", ils montent en charge. Durant cette montée en charge, l'ensemble de l'architecture est HS, les sites dynamiques (et non les statiques) sont inaccessibles.
Parfois, le soucis disparait aussi vite qu'il est arrivé sans aucune action de ma part. Parfois le soucis dure et je suis obligé de redémarrer le serveur SSD électriquement. Un reboot soft bloque et ne fait rien.
Sur le serveur BSD et sur les clients BSD tournent rpc.lockd, aucun ne semble avoir de soucis. Il y a également rpc.statd.
NFS server est configuré pour avoir minthread et maxthread à 256, il refuse une valeur supérieur. Sur Solaris j'ai vu qu'il existait la variable LOCKD_SERVER à mettre dans /etc/defauts/nfs et à augmenter à 1024, mais pas de ça sous BSD.
Du coup je ne vois pas du tout d'ou peut venir le soucis. En lisant ce texte et peut être par votre expérience personnelle, auriez-vous une idée ?
Merci par avance pour ceux qui auront tout lu !
Bonne soirée
Partager