ntpd vs ntpdate: Vor- und Nachteile

20

Um die Zeit auf einem Ubuntu-System genau zu halten, kann man entweder:

  • Führen Sie den ntpd(Network Time Protocol Daemon) aus, der die ganze Zeit ausgeführt wird, und passen Sie die Systemzeit kontinuierlich an, wenn die Uhren driften. oder alternativ:
  • In ntpdateregelmäßigen Abständen anrufen (zB von cron)

Fragen:

  • Was sind die Vor- und Nachteile dieser beiden Methoden?
  • Welche unterschiedlichen Szenarien erfordern eine Überlagerung?
Arielf
quelle

Antworten:

25

ntpdate ist seit September 2012 veraltet . Anscheinend kann ntpd jetzt bei Bedarf einmalige Aktualisierungen durchführen, und ntpdate basiert auf "lang vernachlässigtem" ntpd-Code. (Neuigkeiten für mich, da mein System ntpdate aber nicht ntpd hat! Ich werde das gleich beheben; danke, dass Sie diese Frage gestellt haben.)

Was den Unterschied zwischen kontinuierlichen und regelmäßigen Aktualisierungen angeht, denke ich, dass die Kompromisse dort genau so sind, wie Sie es erwarten würden. Kontinuierliche Anpassungen behalten über die Zeit eine bessere Genauigkeit bei, was für Datenbanken und MailDir wichtig sein kann (siehe gleichen Link). Dies würde natürlich etwas mehr Netzwerkverkehr erfordern (der für den Austausch einfacher Zeitstempel vermutlich vernachlässigbar ist) sowie eine ständige Online-Netzwerkverbindung, einen geringen Verbrauch an RAM und CPU usw. Aber all diese Nachteile sind in einer modernen Computerumgebung winzig. Insgesamt bezweifle ich, dass es gute Gründe gibt, cron für ntpd einzusetzen.

Paul
quelle
2
Vielen Dank für die Antwort. Ich hatte keine Ahnung, dass ntpdate veraltet ist. Es funktioniert seit Jahren gut für mich.
Arielf
4

Nach meinem Verständnis im NTP-Kapitel der Linux-Systemadministratoren bedeutet "fortlaufende Updates" nicht, dass ntpd seine Server ständig abfragt (etwa einmal pro Sekunde), aber dass die Zeitkorrekturen keine Diskontinuitäten mit sich bringen.

Anstatt nur die richtige Zeit ntpdeinzustellen, läuft die Uhr Ihres Computers etwas langsamer oder schneller, bis die richtige Zeit erreicht ist (vorausgesetzt, der Fehler ist nicht zu groß). Dies vermeidet Probleme mit Software, die aufgrund von Zeitlücken oder negativer Dauer verwüstet wird - die meisten Programmierer erwarten nicht, dass ein Prozess beendet wird, bevor er gestartet wird, und somit eine negative Dauer ergibt ...

Darüber hinaus besagt das Handbuch, dass ntpd auch die Drift Ihrer Computeruhr lernt und kompensiert (zumindest den konstanten Teil).

Das Network Time Protocol Project hat eine nette FAQ ( http://www.ntp.org/ntpfaq/), die erklärt, wie NTP die Zeit hält .

sruetti
quelle