NetWorker: ocupado servidor Linux NetWorker informa el mensaje "nsrd RPC crítico no se puede aceptar la conexión del cliente: Demasiados archivos abiertos"
Summary: Un NetWorker Server Linux ocupado informa el mensaje "nsrd RPC critical no se puede aceptar la conexión del cliente: Demasiados archivos abiertos"
Symptoms
NetWorker Server deja de responder, incluido lo siguiente:
- La consola NMC se bloquea en una barra de progreso
- La variable
nsradminEl comando no devuelve - La variable
nsrwatchno regresa - Los clientes pierden conexiones
Los demonios en un servidor de NetWorker para Linux comienzan con un límite de archivos abiertos demasiado bajo. Esto se debe a que los demonios no heredan los límites por proceso en el momento del inicio. El límite utilizado vuelve a 1024. Esto puede ser insuficiente en zonas de datos más grandes.
Cause
El límite de archivos abiertos en NetWorker Server es demasiado bajo.
- Obtener el PID para nsrd
$ ps aux | grep nsrd | grep -v grep | grep -v disp | awk '{ print $2; }'
4021
-
El PID es parte de la ruta en
/proc/<nsrd_PID>/limitsPara revisar con elcatel comando:
$ 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
Cree un script de inicio independiente para los servidores NetWorker Server con cargas pesadas mediante la habilitación de la siguiente variable de entorno antes del inicio de los servicios de NetWorker:
Para configurar en el nivel completo del SO:
Abra los descriptores del archivo: Cambie el parámetro open file descriptors a un mínimo de:
- 8192 (entorno pequeño de NetWorker)
- 16384 (entorno medio de NetWorker)
- 32768 (entorno grande de NetWorker)
Las definiciones de NetWorker Server pequeño, mediano o grande se pueden encontrar en la Guía de planificación y optimización del rendimiento de NetWorker.
Máx. de archivos abiertos
En un servidor Linux NetWorker, agregue ulimit -n 8192 En .bash_profile y reinicie la sesión actual.
Para configurar descriptores de archivos mínimos y máximos por proceso: Red Hat 7, SLES 12 y SLES 15
prlimit --pid <pid_of_the_process> --nofile=<min_limit>:<max_limit>Ejemplo:prlimit --pid 12345 --nofile=1024:4096
Para configurar descriptores de archivos mínimos y máximos por proceso: Red Hat 6
echo -n "Max open files=min_limit:max_limit" > /proc/pid_of_the_process/limitsEjemplo:echo -n "Max open files=4096:16384" > /proc/1208/limits
Parámetros de TCP
Agregue los siguientes parámetros de TCP cuando el servidor de NetWorker se ejecute con una carga pesada (ejecución simultánea con muchas solicitudes de conectores que se realizan en los puertos de aplicación del servidor):
- En un servidor Linux NetWorker, agregue los siguientes parámetros de TCP en el
/etc/sysctl.confy ejecute el archivosysctl --systemel comando:net.ipv4.tcp_fin_timeout = 30 net.ipv4.ip_local_port_range = 15000 65535 net.core.somaxconn = 1024 - En un servidor NMC de Linux, actualice el valor máximo de archivos a 65 536 para garantizar la conectividad de la base de datos Postgres cuando el servidor NetWorker Server se ejecute con cargas pesadas:
echo 65536 > /proc/sys/fs/file-max