Por que o tempo do meu servidor EC2 é de aproximadamente 10 segundos todos os dias?

12

Eu tenho o que acredito ser um arquivo de sistema, /etc/cron.daily/ntpupdate , que executa ntpdate ntp.ubuntu.com diariamente para sincronizar com o horário da rede. Todos os dias gera uma saída muito semelhante a esta:

/etc/cron.daily/ntpupdate:
16 Jan 06:30:42 ntpdate[21446]:
step time server 91.189.94.4 offset -12.646804 sec

Não estou certo do que o 91.189.94.4 significa, mas tenho certeza que -12.646804 sec significa que meu servidor está desligado por cerca de 12 segundos. Mas eu não sei por que está fora por aproximadamente a mesma quantia todos os dias. Esta é uma instância do Amazon EC2 executando o Ubuntu.

Eu só posso adivinhar que ou está perdendo / ganhando 12 segundos por dia, ou alguma coisa está sincronizando o tempo com outro relógio que está desligado por 12 segundos e então estou re-sincronizando-o.

O que devo fazer para tentar acompanhar isso ainda mais? Não vejo outros trabalhos cron nos diretórios /etc/cron.* ou nos trabalhos agendados dos usuários ...

UPDATE

Pensei em compartilhar que comecei a executar esse relatório por hora para ver se haveria um grande salto em determinada hora. Isto é o que a saída horária é:

16 Jan 15:17:04 ntpdate[8346]:
adjust time server 91.189.94.4 offset -0.464418 sec

Então, aparentemente a cada hora o relógio está desligado por cerca de meio segundo, então faz sentido que a cada dia (24 horas) o relógio esteja desligado por cerca de 12 segundos. Acho que o relógio está correndo rápido! Obrigado!

    
por cwd 16.01.2012 / 14:09

3 respostas

13

Existem vários fatores que podem tornar o relógio do software lento ou rápido. Os clocks em servidores virtuais são especialmente propensos a toda uma classe desses problemas. 12 segundos por dia é muito ruim até você se deparar com caixas virtuais com relógios que rodam a 180–200% de velocidade! Relógios em laptops que podem ser suspensos também podem sofrer com problemas de tempo.

Você deve considerar a perda de ntupdate em favor de ntpd . O nome do pacote é ntp no Debian (e presumivelmente também no Ubuntu). O daemon NTP mantém seu tempo sincronizado de maneira muito mais proativa do que um cron job, sincronizando com um ou mais outros servidores NTP e mantendo seu relógio muito mais preciso. É outra implementação do mesmo protocolo ntpdate usa, exceto ntpd monitora o tempo continuamente.

Se você não quiser a sobrecarga (muito pequena) de ntpd , considere executar ntpdate uma vez por hora. Assumindo que você está a 0,5s a cada hora, isso deve ser suficiente.

    
por 16.01.2012 / 15:17
0

Respondendo a outra metade da sua pergunta, por que isso está acontecendo: Os relógios de hardware do computador são notoriamente imprecisos, então, embora um desvio de 12 segundos em um dia seja incomum, não é tão incomum.

(Isto é provavelmente devido à prevalência do uso do tempo de rede, de modo que um desvio de até 12 segundos por dia seja um aborrecimento menor comparado ao que seria em um relógio - e assim as empresas de hardware podem usar Fisicamente, o que está acontecendo é, provavelmente, que o oscilador no seu chip de clock não esteja calibrado corretamente, então ele funciona de maneira lenta, mas confiável.

    
por 16.01.2012 / 20:43
-1

Eu suspeito que o ntp não atualiza a hora do seu servidor porque a diferença é muito pequena. Eu tive um problema semelhante, eu vi o mesmo atraso todos os dias, até que descobri que ser um pouco diferente ntp não atualizaria até que um limiar específico estivesse presente.

Verifique sua configuração quanto ao limite mínimo para sincronização.

    
por 16.01.2012 / 17:05