NetWorker: optaget Linux NetWorker-server rapporterer meddelelsen "nsrd RPC kritisk Kan ikke acceptere klientforbindelse: For mange åbne filer"
Summary: En optaget Linux NetWorker-server rapporterer meddelelsen "nsrd RPC kritisk Kan ikke acceptere klientforbindelse: For mange åbne filer"
Symptoms
NetWorker-serveren svarer ikke, herunder:
- NMC-konsollen hænger på en statuslinje
- Ikonet
nsradminKommandoen vender ikke tilbage - Ikonet
nsrwatchvender ikke tilbage - Klienterne mister forbindelsen
Dæmonerne på en NetWorker for Linux-server starter med en for lav åben filgrænse. Dette skyldes, at dæmonerne ikke arver grænser pr. Proces ved opstartstidspunktet. Den anvendte grænse falder tilbage til 1024. Dette kan være utilstrækkeligt i større datazoner.
Cause
Grænsen for åbne filer på NetWorker-serveren er for lav.
- Hent PID til nsrd
$ ps aux | grep nsrd | grep -v grep | grep -v disp | awk '{ print $2; }'
4021
-
PID er en del af stien i
/proc/<nsrd_PID>/limitsat gennemgå medcatkommando:
$ 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
Opret et separat startscript til NetWorker-servere med store belastninger ved at aktivere følgende miljøvariabel, før NetWorker-tjenesterne starter:
Sådan indstilles til komplet OS-niveau:
Beskrivelser af åbne filer: Skift parameteren for beskrivelser af åbne filer til mindst:
- 8192 (lille NetWorker-miljø)
- 16384 (mellemstort NetWorker-miljø)
- 32768 (stort NetWorker-miljø)
Definitionerne af en lille, mellemstor eller stor NetWorker-server findes i NetWorker-vejledningen til optimering og planlægning af ydeevne.
Maks. åbne filer
På en Linux NetWorker-server skal du tilføje ulimit -n 8192 I .bash_profile fil og genstart den aktuelle session.
Sådan angives minimums- og maksimumsfilbeskrivelser pr. proces: Red Hat 7, SLES 12, SLES 15
prlimit --pid <pid_of_the_process> --nofile=<min_limit>:<max_limit>Eksempel:prlimit --pid 12345 --nofile=1024:4096
Sådan angives minimums- og maksimumsfilbeskrivelser pr. proces: Red Hat 6
echo -n "Max open files=min_limit:max_limit" > /proc/pid_of_the_process/limitsEksempel:echo -n "Max open files=4096:16384" > /proc/1208/limits
TCP-parametre
Tilføj følgende TCP-parametre, når NetWorker-serveren kører med en kraftig belastning (samtidig kører med mange sokkelanmodninger på serverprogramportene):
- På en Linux NetWorker-server skal du tilføje følgende TCP-parametre i
/etc/sysctl.confFil og kørsysctl --systemkommando:net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 15000 65535 net.core.somaxconn = 1024 - På en Linux NMC-server skal du opdatere filmaks.-værdien til 65536 for at sikre Postgres-databaseforbindelse, når NetWorker-serveren kører med store belastninger:
echo 65536 > /proc/sys/fs/file-max