J'ai ce que je crois être un fichier système, /etc/cron.daily/ntpupdate
qui s'exécute
ntpdate ntp.ubuntu.com
quotidiennement 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.4
sûr de -12.646804 sec
ce 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!
Réponses:
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
ntupdate
en faveur dentpd
. Le nom du paquet estntp
sur 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êmesntpdate
utilisations de protocole , saufntpd
surveille l'heure en continu.Si vous ne voulez pas les (très petits) frais généraux de
ntpd
, vous pourriez envisager de courirntpdate
une fois par heure. En supposant que vous ayez 0,5 seconde de réduction toutes les heures, cela devrait suffire.la source
CONFIG_NO_HZ
activée.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.)
la source
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.
la source