NetWorker: zaneprázdněný linuxový server NetWorker hlásí zprávu "nsrd RPC critical Unable to accept client connection: Příliš mnoho otevřených souborů"
Summary: Zaneprázdněný server Linux NetWorker hlásí zprávu "nsrd RPC critical Unable to accept client connection: Příliš mnoho otevřených souborů"
Symptoms
Server NetWorker přestane reagovat, například:
- Konzole NMC se zablokuje na ukazateli průběhu
- Skript
nsradminPříkaz se nevrací - Skript
nsrwatchnevrací se - Klienti ztrácejí připojení.
Démoni na serveru NetWorker for Linux začínají s příliš nízkým limitem otevřených souborů. To je způsobeno tím, že démoni při spuštění nedědí limity pro jednotlivé procesy. Použitý limit se vrací k hodnotě 1024. To může být ve větších datových zónách nedostatečné.
Cause
Limit otevřených souborů na serveru NetWorker je příliš nízký.
- Získání identifikátoru PID pro nsrd
$ ps aux | grep nsrd | grep -v grep | grep -v disp | awk '{ print $2; }'
4021
-
Identifikátor PID je součástí cesty v
/proc/<nsrd_PID>/limitsk přezkoumání pomocícat:
$ 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
Vytvořte samostatný spouštěcí skript pro servery NetWorker s velkým zatížením povolením následující proměnné prostředí před spuštěním služeb NetWorker:
Nastavení na úplné úrovni operačního systému:
Otevřené popisovače souborů: Změňte parametr open file descriptors na minimum:
- 8192 (malé prostředí NetWorker)
- 16384 (střední prostředí NetWorker)
- 32768 (velké prostředí NetWorker)
Definice malého, středního nebo velkého serveru NetWorker naleznete v příručce NetWorker Performance Optimization and Planning Guide.
Maximální počet otevřených souborů
Na serveru NetWorker se systémem Linux přidejte ulimit -n 8192 V dialogovém okně .bash_profile a restartujte aktuální relaci.
Nastavení minimálního a maximálního počtu popisovačů souborů na proces: Red Hat 7, SLES 12, SLES 15
prlimit --pid <pid_of_the_process> --nofile=<min_limit>:<max_limit>Příklad:prlimit --pid 12345 --nofile=1024:4096
Nastavení minimálního a maximálního počtu popisovačů souborů na proces: Red Hat 6
echo -n "Max open files=min_limit:max_limit" > /proc/pid_of_the_process/limitsPříklad:echo -n "Max open files=4096:16384" > /proc/1208/limits
Parametry TCP
Pokud je server NetWorker spuštěn s velkým zatížením (souběžná spuštění s mnoha požadavky na soket na portech serverových aplikací), přidejte následující parametry TCP:
- Na serveru NetWorker se systémem Linux přidejte do složky
/etc/sysctl.confa spusťtesysctl --system:net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 15000 65535 net.core.somaxconn = 1024 - Na serveru NMC se systémem Linux aktualizujte maximální hodnotu souboru na 65536, abyste zajistili konektivitu databáze Postgres, když server NetWorker běží s velkým zatížením:
echo 65536 > /proc/sys/fs/file-max