NetWorker: occupato Il server NetWorker Linux riporta il messaggio "nsrd RPC critical Unable to accept client connection: Troppi file aperti"
Summary: Un server NetWorker Linux occupato riporta il messaggio "nsrd RPC critical Unable to accept client connection: Troppi file aperti"
Symptoms
Il server NetWorker non risponde, e di conseguenza:
- La console NMC si blocca in corrispondenza di una barra di avanzamento
- La variabile
nsradminIl comando non restituisce - La variabile
nsrwatchnon ritorna - I client perdono le connessioni
I daemon su un server NetWorker per Linux iniziano con un limite di file aperti troppo basso. Ciò è dovuto al fatto che i daemon non ereditano i limiti per processo al momento dell'avvio. Il limite utilizzato torna a 1024. Questo potrebbe essere insufficiente in datazone di dimensioni maggiori.
Cause
Il limite di file aperti sul server NetWorker è troppo basso.
- Ottenere il PID per nsrd
$ ps aux | grep nsrd | grep -v grep | grep -v disp | awk '{ print $2; }'
4021
-
Il PID fa parte del percorso in
/proc/<nsrd_PID>/limitsda riesaminare con ilcat:
$ 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
Creare uno script di avvio separato per i server NetWorker con carichi pesanti abilitando la seguente variabile di ambiente prima dell'avvio dei servizi NetWorker:
Per impostare a livello di sistema operativo completo:
Descrittori di file aperti: Modificare il parametro Open file descriptors impostandolo su un minimo di:
- 8192 (ambiente NetWorker di dimensioni ridotte)
- 16.384 (ambiente NetWorker di medie dimensioni)
- 32.768 (ambiente NetWorker di grandi dimensioni)
Le definizioni di server NetWorker di piccole, medie o grandi dimensioni sono disponibili nella Guida alla pianificazione e all'ottimizzazione delle prestazioni di NetWorker.
Numero massimo di file aperti
Su un server NetWorker Linux, aggiungere ulimit -n 8192 Nel .bash_profile file e riavviare la sessione corrente.
Per impostare i descrittori di file minimi e massimi per processo: Red Hat 7, SLES 12, SLES 15
prlimit --pid <pid_of_the_process> --nofile=<min_limit>:<max_limit>Esempio:prlimit --pid 12345 --nofile=1024:4096
Per impostare i descrittori di file minimi e massimi per processo: Red Hat 6
echo -n "Max open files=min_limit:max_limit" > /proc/pid_of_the_process/limitsEsempio:echo -n "Max open files=4096:16384" > /proc/1208/limits
Parametri TCP
Aggiungere i seguenti parametri TCP quando il server NetWorker viene eseguito con un carico pesante (esecuzioni simultanee con molte richieste di socket effettuate sulle porte delle applicazioni del server):
- Su un server NetWorker Linux, aggiungere i seguenti parametri TCP in
/etc/sysctl.conffile ed eseguire il comandosysctl --system:net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 15000 65535 net.core.somaxconn = 1024 - Su un server NMC Linux, aggiornare il valore file-max a 65536 per garantire la connettività del database Postgres quando il server NetWorker viene eseguito con carichi pesanti:
echo 65536 > /proc/sys/fs/file-max