À quelle distance est «trop loin» pour ntpd? Peut-il y arriver par un saut soudain à une charge lourde? Cela peut-il être annulé?

21

Dans de nombreuses amorces sur ntpd, comme celle-ci , il y a toujours un avertissement que ntpd arrêtera de réinitialiser l'horloge "[si] votre horloge est trop éloignée."

À quelle distance est «trop loin»?

De plus, si un serveur passe soudainement à une charge élevée, par exemple de l'oisiveté totale à 100% du processeur, l'augmentation de la température entraînera-t-elle un décalage de l'horloge à "trop ​​loin"?

NTPD peut-il être configuré pour réinitialiser l'horloge même si l'heure est "trop ​​éloignée" ou du moins "trop ​​éloignée" un peu plus loin?


la source
How far off is "too far off"?Dépend. Quel (s) OS / distributions utilisez-vous spécifiquement?
HopelessN00b
@ Serveur Ubuntu HopelessN00b. J'ai pensé que ce serait difficile à cerner à cause de la complexité de l'algo, donc je peux vivre avec une figurine approximative.
Toutes vos questions sont des variables que vous pouvez définir dans la configuration
Jacob
@Jacob Merci Jacob! Pourriez-vous me montrer où? Je n'ai jamais rien vu qui élargit la bande de réinitialisation, et tout ce que je peux trouver pour une fréquence de synchronisation plus élevée est burstce qui vous interdit. :/ Merci d'avance!
Je ne pense pas que la charge du processeur ou la température devraient avoir un effet sur votre horloge. Tous les temporisateurs sur un ordinateur typique proviennent finalement d'un oscillateur qui, pour autant que je sache, est en dehors du package CPU et n'est affecté par rien de ce que le CPU fait.
Nate Eldredge

Réponses:

19

Tout d'abord, la différence maximale par défaut est de 1000 comme d'autres l'ont mentionné. Comme indiqué @kyle vous pouvez utiliser le -gdrapeau pour ignorer ONE fois pour que d' abord votre horloge.

Après cela, vous ne devriez vraiment pas voir votre horloge dériver de 1000 secondes entre les mises à jour, même sous forte charge, et si vous le faites, vous devez vraiment remplacer l'horloge. Les paramètres de la configuration dont vous avez besoin sont minpollet maxpoll. Ceux-ci vous permettront de régler la durée de l'intervalle à la puissance de 2 (par exemple 10 signifie 2 10 = 1024 s).

Veuillez noter que votre système ne va probablement pas dériver de manière substantielle, même sous une charge élevée, et les paramètres par défaut doivent le garder sous contrôle. Vous ne voulez pas bombarder les serveurs NTP avec des mises à jour chaque seconde car vous gaspillez des ressources, cela vous bloquera et très probablement un appel à votre FAI NOC. Si vous avez vraiment besoin d'une heure extrêmement précise, utilisez le GPS ou configurez votre propre serveur NTP.

Jacob
la source
2
Selon ce que vous faites, les quelques ms qu'il peut dériver par jour sont "substantiellement" pour les gens.
PlasmaHH du
2
@PlasmaHH Ensuite, je suggérerais d'utiliser une meilleure source de temps comme le GPS.
Jacob
Merci beaucoup Jacob! Savez-vous par hasard quelle est la limite de taux la plus courante? Je voudrais garder du bon temps dans la bande de 10 ms présentée ici ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK sans matériel coûteux. Merci beaucoup d'avance!
1
@Gracchus C'est aux serveurs NTP individuels, et vous devez les contacter. À mon avis, vous essayez d'utiliser NTP comme béquille pour quelque chose où vous avez besoin d'un temps très précis. En tant que tel, vous devriez utiliser une meilleure solution (comme le GPS) pour l'obtenir plutôt que d'ajouter de la charge à un service gratuit.
Jacob
3
@Gabe: Remplacer ici peut également signifier ajouter une autre horloge au système. Il existe également de nombreuses options pour ajouter différents types d'horloges en tant que cartes PCI.
PlasmaHH
12

NTPD peut ajuster votre horloge par incréments lents si elle est désactivée, le pivotement de l'horloge. L'idée derrière cela est que les étapes lentes ne causeront pas de problèmes avec les temporisateurs logiciels, d'étranges lacunes dans les fichiers journaux, etc.

La vitesse de balayage maximale possible est limitée à 500 parties par million (PPM) par le noyau Unix. Par conséquent, l'horloge peut prendre 2000 secondes pour chaque seconde, l'horloge est en dehors de la plage acceptable.

Selon la page de manuel, ntpd ne fonctionnera pas si votre horloge est à plus de 1000 secondes.

Étant donné que faire pivoter l'horloge pour l'ajuster de 1000 secondes prendra au moins 3 semaines et pendant ce temps, toutes les dates / horodatages sont toujours éteints, cela ne semble pas déraisonnable.

La ntpdatecommande a un commutateur -b pour simplement régler l'heure sans pivoter. Ceci est utile dans les cas où l'horloge du système local s'écarte trop de l'heure "correcte".

HBruijn
la source
9

Ceci est spécifié dans man ntpd, et vous le remplacez, vous pourriez être intéressé par l' -goption (Notez le "qui est de 1000 s par défaut":

-g Normalement, ntpdquitte avec un message dans le journal système si le décalage dépasse le seuil de panique, qui est de 1000 s par défaut. Cette option permet de régler l'heure sur n'importe quelle valeur sans restriction; cependant, cela ne peut se produire qu'une seule fois. Si le seuil est dépassé après cela, ntpdquittera avec un message dans le journal système. Cette option peut être utilisée avec les options -qet -x. Voir la tinkercommande pour d'autres options.

Vous pouvez ajuster cela ntpd.conf. Si vous souhaitez le désactiver, vous pouvez le définir tinker panic 0. Consultez la documentation des Options diverses pour en savoir plus.

Kyle Brandt
la source
Parfait! Enfin trouvé minpollet maxpoll. Merci!
Kyle, c'est faux. Il s'agit d'une commande unique et ne résoudra pas les problèmes futurs. Vous ne mentionnez pas non plus minpollou maxpoll.
Jacob
1
Pour que cela fonctionne pour moi, j'ai dû utiliser les étapes suivantes 'sudo service ntp stop' 'ntpq -gq' et 'sudo service ntp start'
Terry Horner