Perché il tempo libero del mio server EC2 è di ~ 10 secondi ogni giorno?


12

Ho quello che credo sia un file di sistema, /etc/cron.daily/ntpupdateche viene eseguito
ntpdate ntp.ubuntu.comquotidianamente per sincronizzarsi con l'ora della rete. Ogni giorno genera un output molto simile a questo:

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

Non sono 91.189.94.4sicuro di cosa significhi, ma sono abbastanza sicuro -12.646804 secche il mio server è spento per circa 12 secondi. Ma non so perché è fuori di circa la stessa quantità ogni giorno. Questa è un'istanza di Amazon EC2 che esegue Ubuntu.

Posso solo immaginare che o sta perdendo / guadagnando 12 secondi al giorno, o qualcos'altro sta sincronizzando l'ora con un altro orologio che è spento di 12 secondi e quindi lo sto risincronizzando.

Cosa devo fare per cercare di rintracciarlo ulteriormente? Non vedo altri lavori cron nelle /etc/cron.*directory o nei lavori cron degli utenti ...

AGGIORNARE

Ho pensato di condividere che ho iniziato a correre ogni ora per vedere se ci sarebbe stato un grande salto a una certa ora. Questo è l'output orario:

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

Quindi a quanto pare ogni ora l'orologio si spegne per circa mezzo secondo, quindi ha senso che ogni giorno (24 ore) l'orologio si spenga per circa 12 secondi. Indovina che l'orologio sta funzionando velocemente! Grazie!


91.189.94.4 è l'indirizzo IP di ntp.ubuntu.com
Michael Mrozek

segui questo link. Il tuo problema verrà risolto. Ha aiutato a risolvere lo stesso problema docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

Risposte:


13

Esistono diversi fattori che potrebbero rallentare o rallentare un clock del software. Gli orologi sui server virtuali sono particolarmente inclini a un'intera classe di questi problemi. 12 secondi al giorno sono piuttosto male fino a quando non ti imbatti in scatole virtuali con orologi che funzionano alla velocità del 180-200%! Anche gli orologi su computer portatili sospesi possono soffrire di problemi di orario.

Dovresti considerare di lasciarti andare ntupdatea favore di ntpd. Il nome del pacchetto è ntpsu Debian (e presumibilmente anche su Ubuntu). Il demone NTP mantiene il tempo sincronizzato in modo molto più proattivo rispetto a un cron job, sincronizzandosi con uno o più altri server NTP e mantenendo l'orologio molto più preciso. È un'altra implementazione dello stesso protocollo ntpdateutilizzato, ad eccezione del ntpdmonitoraggio continuo del tempo.

Se non vuoi il sovraccarico (molto piccolo) di ntpd, potresti considerare di correre ntpdateuna volta ogni ora. Supponendo che tu abbia 0,5 secondi di sconto ogni ora, dovrebbe essere sufficiente.


3
I problemi della macchina virtuale possono anche essere ampiamente risolti eseguendo un kernel tickless (CONFIG_NO_HZ). Non sono sicuro se questo è possibile con il kernel Ubuntu o se dovresti crearne uno tuo.
Patrick,

1
Ho appena verificato la configurazione del kernel su un'installazione di Ubuntu 11 (3.0.0-14-generica), e sicuramente è stata CONFIG_NO_HZabilitata.
Alexios,

0

Rispondendo all'altra metà della tua domanda, sul perché questo sta accadendo: gli orologi hardware del computer sono notoriamente inaccurati, quindi mentre una deriva di 12 secondi in un giorno è insolita, non è poi così insolito.

(Ciò è probabilmente dovuto alla prevalenza dell'uso del tempo di rete, quindi una deriva di persino 12 secondi al giorno è un fastidio minore rispetto a quello che sarebbe in un orologio - e quindi le aziende hardware possono usare chip di clock economici. Fisicamente, ciò che sta accadendo è probabilmente che l'oscillatore nel chip del tuo orologio non è calibrato in modo corretto, quindi corre leggermente ma in modo affidabile lento.)


-1

Sospetto che ntp non aggiorni i tempi del tuo server perché la differenza è troppo piccola. Ho avuto un problema simile, ho visto lo stesso ritardo ogni giorno, fino a quando ho scoperto che essendo una piccola differenza ntp non si sarebbe aggiornato fino a quando non fosse presente una soglia specifica.

Controlla la configurazione per la soglia minima per la sincronizzazione.


3
Questo non è vero. Al contrario, NTP tenta di ridurre la differenza il più possibile. C'è una soglia nella direzione opposta: NTP non aggiorna l'orologio se la differenza è troppo grande (sospetta una configurazione errata, ad es. Fuso orario errato).
Gilles 'SO- smetti di essere malvagio' il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.