NetWorker : occupé Linux NetWorker Server signale le message « nsrd RPC critical Impossible d’accepter une connexion client : Trop de fichiers ouverts"
Summary: Un NetWorker Server Linux occupé signale le message « nsrd RPC critical Impossible d’accepter une connexion client : Trop de fichiers ouverts"
Symptoms
Le serveur NetWorker ne répond plus, notamment :
- La console NMC se bloque sur une barre de progression
- Le
nsradminLa commande ne renvoie pas - Le
nsrwatchne renvoie pas - Les clients perdent des connexions
Les processus d’un serveur NetWorker pour Linux démarrent avec une limite de fichiers ouverts trop faible. Cela est dû au fait que les processus n’héritent pas des limites par processus au démarrage. La limite utilisée revient à 1 024. Cela peut être insuffisant sur des zones de données plus grandes.
Cause
La limite de fichiers ouverts sur le NetWorker Server est trop faible.
- Obtenez le PID de la commande nsrd
$ ps aux | grep nsrd | grep -v grep | grep -v disp | awk '{ print $2; }'
4021
-
Le PID fait partie du chemin dans
/proc/<nsrd_PID>/limitsà réviser avec lecatWMIC suivante :
$ cat /proc/4021/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 10485760 unlimited bytes Max core file size unlimited unlimited bytes Max resident set unlimited unlimited bytes Max processes 63833 63833 processes Max open files 1024 1024 files Max locked memory 32768 32768 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 63833 63833 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 $
Resolution
Créez un script de démarrage distinct pour les NetWorker Servers avec des charges importantes en activant les variables d’environnement suivantes avant le démarrage des services NetWorker :
Pour définir au niveau du système d’exploitation complet :
Descripteurs de fichiers ouverts : Définissez le paramètre open file descriptors sur un minimum de :
- 8192 (environnement NetWorker de petite taille)
- 16 384 (environnement NetWorker de taille moyenne)
- 32 768 (environnement NetWorker de grande taille)
Vous trouverez les définitions d’un serveur NetWorker de petite, moyenne ou grande taille dans le Guide d’optimisation et de planification des performances de NetWorker.
Nombre max. de fichiers ouverts
Sur un serveur Linux NetWorker, ajoutez ulimit -n 8192 dans l' .bash_profile et redémarrez la session en cours.
Pour définir des descripteurs de fichiers minimum et maximum par processus : Red Hat 7, SLES 12, SLES 15
prlimit --pid <pid_of_the_process> --nofile=<min_limit>:<max_limit>Exemple :prlimit --pid 12345 --nofile=1024:4096
Pour définir des descripteurs de fichiers minimum et maximum par processus : Red Hat 6
echo -n "Max open files=min_limit:max_limit" > /proc/pid_of_the_process/limitsExemple :echo -n "Max open files=4096:16384" > /proc/1208/limits
Paramètres TCP
Ajoutez les paramètres TCP suivants lorsque le NetWorker Server s’exécute avec une charge importante (s’exécute simultanément avec de nombreuses demandes de socket effectuées sur les ports d’application du serveur) :
- Sur un serveur NetWorker Linux, ajoutez les paramètres TCP suivants dans le champ
/etc/sysctl.confet exécutez la commandesysctl --systemWMIC suivante :net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 15000 65535 net.core.somaxconn = 1024 - Sur un serveur Linux NMC, mettez à jour la valeur file-max sur 65536 pour garantir la connectivité de la base de données Postgres lorsque le NetWorker Server s’exécute avec des charges importantes :
echo 65536 > /proc/sys/fs/file-max