Pourquoi le temps de mon serveur EC2 est-il interrompu d'environ 10 secondes par jour?

12

J'ai ce que je crois être un fichier système, /etc/cron.daily/ntpupdatequi s'exécute
ntpdate ntp.ubuntu.comquotidiennement pour se synchroniser avec l'heure du réseau. Chaque jour, il génère une sortie très similaire à celle-ci:

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

Je ne suis pas 91.189.94.4sûr de -12.646804 secce que cela signifie, mais je suis sûr que cela signifie que mon serveur est éteint d'environ 12 secondes. Mais je ne sais pas pourquoi il est à peu près le même montant chaque jour. Il s'agit d'une instance Amazon EC2 exécutant Ubuntu.

Je peux seulement deviner que soit il perd / gagne 12 secondes par jour, soit quelque chose d'autre synchronise l'heure avec une autre horloge qui est éteinte de 12 secondes, puis je la resynchronise.

Que dois-je faire pour essayer de retrouver cela plus loin? Je ne vois aucun autre travail cron dans les /etc/cron.*répertoires ou dans les travaux cron des utilisateurs ...

MISE À JOUR

Je pensais juste partager que j'ai commencé à courir cette heure pour voir s'il y aurait un grand saut à une certaine heure. Voici ce qu'est la sortie horaire:

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

Donc, apparemment, toutes les heures, l'horloge est désactivée d'environ une demi-seconde, il est donc logique que chaque jour (24 heures), l'horloge soit désactivée d'environ 12 secondes. Je suppose que l'horloge tourne vite! Merci!

cwd
la source
91.189.94.4 est l'adresse IP de ntp.ubuntu.com
Michael Mrozek
Suivez ce lien. Votre problème sera résolu. Il a aidé à résoudre le même problème docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

Réponses:

13

Un certain nombre de facteurs peuvent ralentir ou accélérer l'exécution d'une horloge logicielle. Les horloges des serveurs virtuels sont particulièrement sujettes à toute une classe de ces problèmes. 12 secondes par jour est assez mauvais jusqu'à ce que vous rencontriez des boîtes virtuelles avec des horloges qui fonctionnent à une vitesse de 180-200%! Les horloges des ordinateurs portables suspendus peuvent également souffrir de problèmes de temps.

Vous devriez envisager d'abandonner ntupdateen faveur de ntpd. Le nom du paquet est ntpsur Debian (et probablement Ubuntu aussi). Le démon NTP garde votre temps synchronisé beaucoup plus proactivement qu'un travail cron, en se synchronisant avec un ou plusieurs autres serveurs NTP et en gardant votre horloge beaucoup plus précise. C'est une autre implémentation des mêmes ntpdateutilisations de protocole , sauf ntpdsurveille l'heure en continu.

Si vous ne voulez pas les (très petits) frais généraux de ntpd, vous pourriez envisager de courir ntpdateune fois par heure. En supposant que vous ayez 0,5 seconde de réduction toutes les heures, cela devrait suffire.

Alexios
la source
3
Les problèmes de machine virtuelle peuvent également être largement résolus en exécutant un noyau sans tique (CONFIG_NO_HZ). Je ne sais pas si cela est possible avec le noyau ubuntu, ou si vous devez créer le vôtre.
Patrick
1
Je viens de vérifier la configuration du noyau sur une installation d'Ubuntu 11 (3.0.0-14-générique), et elle a définitivement été CONFIG_NO_HZactivée.
Alexios
0

Répondant à l'autre moitié de votre question, pourquoi cela se produit: les horloges du matériel informatique sont notoirement inexactes, alors même si une dérive de 12 secondes par jour est inhabituelle, ce n'est pas vraiment si inhabituel.

(Cela est probablement dû à la prévalence de l'utilisation du temps réseau, de sorte qu'une dérive de 12 secondes par jour est une gêne mineure par rapport à ce qu'elle serait dans une montre - et donc les fabricants de matériel peuvent utiliser des puces d'horloge bon marché. Physiquement, ce qui se passe est probablement que l'oscillateur de votre puce d'horloge n'est pas calibré tout à fait correctement, il fonctionne donc légèrement mais de manière fiable.)

Brooks Moses
la source
-1

Je soupçonne que ntp ne met pas à jour l'heure de votre serveur car la différence est trop petite. J'ai eu un problème similaire, j'ai vu le même retard chaque jour, jusqu'à ce que je découvre qu'être une petite différence ntp ne se mettrait pas à jour tant qu'un seuil spécifique n'est pas présent.

Vérifiez votre configuration pour le seuil minimum de synchronisation.

Patkos Csaba
la source
3
Ce n'est pas vrai. Au contraire, NTP tente de réduire autant que possible la différence. Il y a un seuil dans l'autre sens: NTP ne mettra pas à jour l'horloge si la différence est trop grande (il soupçonne une mauvaise configuration, par exemple un fuseau horaire incorrect).
Gilles 'SO- arrête d'être méchant'