Eu tenho uma caixa (física) executando um Ubuntu despojado; de vez em quando (6 vezes em 3 meses), o relógio retrocede exatamente 300 segundos (+ - 0,01 segundos; sempre exatamente 300 segundos). Isso acontece de um minuto para o outro (eu tenho uma máquina externa pesquisando uma vez por minuto).
A caixa está executando 2.6.26-genérico (kernel compilado personalizado), Ubuntu 9.04 (eu sei, estou tentando atualizá-lo, mas está semi-incorporado). Não há nada nos logs que indique o que aconteceu, e eu tenho uma grande variedade de servidores pool.ntp.org ntp, que corrigem o problema após um tempo.
Alguém sabe o que pode causar isso?
1 adicional:
Eu também tenho várias outras caixas executando o mesmo kernel (binário idêntico) e pequenas variações do mesmo software, que não têm esse problema. Eu também troquei o hardware.
2 adicionais (resumo dos meus comentários individuais):
- Sei que o 9.04 está desatualizado, concordo que deve ser atualizado e que esta decisão está fora de meu controle. Porque gestão.
- Eu tentei um grande número de servidores ntp e um número pequeno. Isso ainda acontece nos dois casos; se eu tiver um grande número de servidores ntp, ele se corrigirá mais rapidamente.
- Troquei o hardware
- Estou usando o mesmo kernel / sistema operacional em outra caixa (com hardware idêntico), que não está mostrando o problema.
- Reiniciar não ajudou. (esse problema está em andamento há cerca de 6 meses)
- O tempo de atividade é de cerca de 3 meses. A caixa está "sempre ativada", executando um PBX (asterisco).
- No momento, o hwclock corresponde exatamente ao relógio do software - 0,000000 segundos
- Não consegui encontrar nenhum trabalho cron que leia o relógio do hardware.
- Não há padrão relacionado à carga (embora a carga seja bastante baixa).
- Isso acontece durante o dia e a noite.
- Isso não acontece em intervalos regulares. Dos últimos 3 meses, metade ocorreu nos últimos 9 dias.
- Isso não é "desvio" - 99% do tempo, ocorre em uma fração minúscula de segundo e, de um minuto para o outro, salta EXATAMENTE 300 segundos, para trás. Então, em um minuto, pode-se dizer que são 3:07:03, correspondendo meu outro computador a 1 microssegundo, 60 segundos depois, diz 3:04:03.
- Não encontro nada nos logs.
Respostas:
Parece um relógio em tempo real (RTC) com falha. Se esse for um hardware sobressalente, você poderá confirmar o problema executando um sistema operacional diferente, como inicializar um CD live linux ou inicialização PXE e verifique se é possível replicar a falha. Se exatamente o mesmo horário ocorrer em outro sistema operacional, você confirmou que o problema é uma falha de hardware.
Supondo que seja o RTC, você pode tentar as seguintes soluções em ordem de gravidade.
fonte
Você pode executar um script na caixa que monitora os processos em execução e ao mesmo tempo monitora o relógio. Se o relógio voltar repentinamente, ele registra a lista de processos ativos naquele momento. Talvez isso dê uma dica de qual processo muda o relógio.
Obviamente, isso pressupõe que você tenha um problema de software. Você não encontrará nada dessa maneira se apenas o seu hardware estiver falhando.
fonte
A resposta de Michael Yasumoto parece cobrir todas as bases - eu concordo que você provavelmente está olhando para hardware instável - mas aqui está uma idéia prática: use uma máquina confiável com muito boa conectividade interna que tenha alguns ciclos de sobra para executar um Servidor NTP e, em seguida, faça " o que for necessário " para fazer com que o cliente NTP em execução na caixa de PBX incorporada faça spam desse servidor NTP local para solicitações de tempo com a maior frequência possível (por exemplo, a cada 30 segundos).
Então, quando a caixa for finalmente atualizada, coloque-a de lado e descubra o que havia de errado com ela em algum momento (TM). : P
fonte