Não é possível obter o nscd para executar. Cache de DNS obsoleto como resultado

2

Estou tentando solucionar um problema em um servidor do MediaTemple (executando o CentOS5) onde o cache do DNS ficou obsoleto - acho que porque o nscd travou. Eu tentei reiniciar o nscd:

# service nscd restart
Stopping nscd:                                             [FAILED]
Starting nscd:                                             [  OK  ]

Isso faz sentido, já que acredito que o nscd travou, então ele não deveria estar rodando, mas quando eu vejo o status do nscd:

# service nscd status
nscd dead but subsys locked

E ps -A não retorna nenhum processo relacionado ao nscd (suponho que esteja morto). Eu editei /etc/nscd.conf e descomentei a linha que define o local para o arquivo de log. Ele criou o arquivo, mas nunca escreve nada nele.

Eu tentei olhar o script de inicialização, mas descobri que não é de nenhuma ajuda, já que o script acha que tudo está funcionando bem - o serviço retorna que foi iniciado corretamente.

Como faço para 'desbloquear' os subsys dos quais o nscd está reclamando?

    
por Phunt 14.06.2011 / 23:34

4 respostas

0

Infelizmente, estes são erros nos scripts init do nscd e o status não tem significado. O script de inicialização está esperando que o arquivo pid seja /var/run/nscd.pid (o que seria se o script de inicialização estivesse gravando o arquivo pid). Ai, nscd escreve seu arquivo pid para /var/run/nscd/nscd.pid .

Para simplificar, tente solucionar problemas com nscd off.

Se você quiser saber o que ncsd está falhando ao iniciar, examine a saída de strace -f /usr/sbin/nscd .

    
por 15.06.2011 / 01:50
0

Explore a opção do pacote bind-chroot (e suas dependências). Simplesmente yum instale e modifique seu /etc/resolv.conf para apontar para 127.0.0.1. É um pouco mais robusto do que o nscd fora dos portões.

    
por 15.06.2011 / 04:28
0

O Nscd grava seus arquivos em cache no disco. Eu já vi problemas com isso antes de começar a travar se houver um problema ao ler esse cache. Tente apagar quaisquer arquivos no diretório de cache (deve ser / var / cache / nscd) e reiniciar o nscd novamente.

    
por 15.06.2011 / 12:59
0

Eu tive um problema um pouco diferente - acho que surgiu da falta de espaço em disco na partição do sistema. Eu matei o serviço usando $ sudo kill <pid> , depois delete nscd.pid e inicie o serviço. localização do arquivo pode diferir com base no sistema operacional e sabor. Para CentOS (e presumivelmente outras variantes Redhat), /var/run/nscd/nscd.pid

Inicialização:

$ sudo service nscd start

    
por 25.01.2017 / 00:19