Eu tenho tentado determinar por que / como meu servidor NFS do CentOS 7.3 parou, e espero obter algum insight ou direção com este post. A finalidade da máquina é fornecer armazenamento NFS aos clientes. Eu uso o Nagios para monitorar o servidor e o Ganglia / Graphite para coletar e visualizar as métricas. Eu observei o problema pela primeira vez quando as verificações do Nagios retornaram um status desconhecido e, na verdade, não consegui conectar o SSH ao servidor. Eu procurei um pouco no console, mas acabei desistindo e reiniciei a máquina quando os clientes começaram a reclamar. A reinicialização pareceu resolver o problema.
Os registros realmente tinham apenas alguns eventos de interesse: um bom número de avisos 'nfsd' seguidos por uma enxurrada de 'limite máximo de arquivo < > erros atingidos:
As métricas do Ganglia mostraram um aumento nas operações e conexões NFS ~ 1 hora antes dos erros de limite máximo do arquivo. As métricas também mostraram o número de arquivos abertos aumentando constantemente ao longo dessa hora (normalmente, o número de arquivos abertos é ~ 7K com os maiores picos sendo ~ 100K).
Aqui estão as perguntas com as quais estou lutando:
Não tenho muita visibilidade dos clientes NFS e suspeito que as cargas de trabalho possam ter acionado o problema. O número de threads do NFS (RPCNFSDCOUNT) é definido como 24 e 'ulimit -n' retorna 1024. Isso significa que o número máximo de arquivos abertos que os clientes do NFS podem estar usando é 24 x 1024?
Enquanto o sistema informava que o limite máximo de arquivos foi atingido, não consegui identificar o processo responsável. Observando a saída de lsof, os dois processos principais eram / usr / sbin / gssproxy e / usr / sbin / tuned, mas nenhum deles reportou muitos arquivos abertos (algumas centenas de cada IIRC). Pesquisando o problema do limite de arquivo-max, encontrei algumas menções a bugs que resultaram em vazamentos de descritores de arquivo, mas nada que fosse relevante para as versões que estou executando.
É possível que este seja o resultado de algum cliente agressivo ou pareça mais provável que seja um vazamento em um dos processos (o tempo de atividade foi de aproximadamente 300 dias). De qualquer forma, há alguma sugestão de como identificar a causa raiz?
Obrigado,