ntpd vs ntpdate: zalety i wady

20

Aby zachować dokładność czasu w systemie Ubuntu, możesz:

  • Uruchom ntpd(demon protokołu czasu sieciowego), który będzie działał cały czas i stale dostosowuje czas systemowy, gdy dryfują zegary. lub alternatywnie:
  • Dzwoń ntpdateokresowo (np. Z cron)

Pytania:

  • Jakie są zalety i wady każdej z tych dwóch metod?
  • Które różne scenariusze wymagają wybrania jednego z drugiego?
arielf
źródło

Odpowiedzi:

25

ntpdate jest przestarzałe od września 2012 r .; najwyraźniej ntpd ma teraz możliwość jednorazowej aktualizacji w razie potrzeby, a ntpdate opiera się na „dawno zaniedbanym” kodzie ntpd. (Wiadomość dla mnie, ponieważ mój system ma ntpdate, ale nie ntpd! Naprawię to w tej chwili; dziękuję, że zadałeś to pytanie).

Jeśli chodzi o różnicę między ciągłymi a okresowymi aktualizacjami, myślę, że istnieją kompromisy, których można się spodziewać; ciągłe dostosowania utrzymują lepszą dokładność w czasie, co może być ważne dla baz danych i MailDir (patrz ten sam link). Ale oczywiście wymagałoby to nieco większego ruchu sieciowego (przypuszczalnie nieistotnego przy wymianie prostych znaczników czasu), a także ciągłego połączenia sieciowego, niewielkiego zużycia pamięci RAM i procesora itp. Ale wszystkie te wady są niewielkie w nowoczesnym środowisku komputerowym; ogólnie wątpię, czy istnieją dobre powody, aby zastąpić cron ntpd.

Paweł
źródło
2
Dziękuję bardzo za odpowiedź. Nie miałem pojęcia, że ​​ntpdate zostało wycofane. Od lat działa dobrze dla mnie.
arielf
4

O ile rozumiem rozdział NTP Przewodniki dla administratorów systemu Linux , „ciągłe aktualizacje” nie oznaczają, że ntpd stale wysyła zapytania do swoich serwerów (jak raz na sekundę), ale że korekty czasowe nie wprowadzają nieciągłości.

Zamiast ustawiać właściwy czas, ntpdzegar komputera będzie działał nieco wolniej lub szybciej, aż osiągnie właściwy czas (zakładając, że błąd nie jest zbyt duży). Pozwala to uniknąć problemów z działającym spustoszeniem w oprogramowaniu z powodu luk czasowych lub negatywnych czasów trwania - większość programistów nie spodziewa się zakończenia procesu przed jego uruchomieniem, a tym samym daje ujemny czas trwania ...

Ponadto instrukcja mówi, że ntpd również uczy się i kompensuje przesunięcie zegara komputera (przynajmniej stałą część).

Projekt protokołu czasu sieciowego ma fajne FAQ ( http://www.ntp.org/ntpfaq/) wyjaśniające NTP i sposób, w jaki utrzymuje czas .

sruetti
źródło