Jaki jest zalecany sposób synchronizacji czasu za pomocą NTP?


18

To pytanie pojawiło się wiele razy w sposób lokalny, to pytanie ma zapewnić preferowaną / najlepszą metodę synchronizacji zegara systemowego za pomocą NTP.

Rozwiązanie powinno poprawnie obsługiwać wiele problemów, takich jak:

  1. Popraw czas na szybkie uruchomienie, gdy zegar ma duże przekrzywienie.

  2. Podaj konfigurację, która chroni i / lub koryguje sytuacje, w których zegar może czasem rozwinąć duże przekrzywienie w czasie.

  3. Solidne rozwiązanie, które może szybko obsłużyć i zsynchronizować czas, gdy pojawią się pewne problemy, takie jak: „serwer czasu nie był dostępny podczas rozruchu” lub „internet jest niedostępny podczas rozruchu”.

Idealnym rozwiązaniem byłby pojedynczy plik konfiguracyjny NTP, który jest w stanie obsłużyć to wszystko.

Bibliografia

Wiele elementów, które zapewnią „ostateczne” rozwiązanie, jest rozłożonych na stronie U&L w takich pytaniach:

Będą inni, ale są to te, które uważałem za istotne.



1
FYI: Planowanie pracy nad kompleksową odpowiedzią na to pytanie. Zobacz dziennik czatów zaczynający się na chat.stackexchange.com/transcript/message/11350138#11350138
derobert

# 2 nie powinno się zdarzyć, jeśli ntpd jest uruchomiony
dfc

@dfc - może się tak zdarzyć, gdy maszyna wirtualna zostanie wstrzymana, a następnie wznowiona, są też inne sytuacje, w których może się zdarzyć.
slm

@slm „rozwija” oznacza skok czasu w skosie po ponownym uruchomieniu VM? Wygląda na to, że w ciągu kilku godzin po restarcie ntpd powinien opanować przekrzywienie. Na pewno nie pogorszy tego. Jakie są inne sytuacje?
dfc,

Odpowiedzi:


6

Ponieważ nie możesz skorygować dużych odchyleń czasu za pomocą ntp (chyba że masz kilka godzin, aby zegar nadrobił lub zwolnił), robię to:

service ntpd stop
ntpdate us.pool.ntp.org
usługa start NTTP

Codziennie go kupuję. Umieszczam także ntpdate w skrypcie init, aby działał przed uruchomieniem ntp po uruchomieniu, ponieważ ponowne uruchomienie i cykle zasilania są najbardziej prawdopodobnymi / częstymi zdarzeniami, które psują czas systemowy.


Jeśli ntpd działa poprawnie, dlaczego musisz go zatrzymać i uruchomić? To wydaje się okropnym pomysłem.
dfc

3
Narzędzie ntpdate nie będzie działać, jeśli jest uruchomiony program ntpd.
Grizly,

4

Co szukasz jest ntpdz --panicgateopcją.

Opcja paniki pozwala na pierwszą regulację po ntpdrozpoczęciu dowolnego rozmiaru. Dotyczy to dokładnie opisanego przypadku użycia, w którym pojawia się maszyna, a jej zegar jest niesamowicie niedokładny. Gdy ntpd zaczyna się z włączoną tą opcją, może chwilę potrwać, zanim znajdzie serwer i ustanowi synchronizację z nim.

Ta opcja sama w sobie rozwiązuje twój przedmiot nr 1.

# 2 to waniliowy ntpd. Ntpd przechowuje plik drift, który jest częstotliwością skosu zegara twojego systemu.

# 3 jest również taki sam jak # 1. --panicgateOpcja nie ogranicza się natychmiast, gdy zaczyna ntpd, to ogranicza się do „pierwszej korekty”, gdy korekta taka jest.


wpisanie ntpd --panicgate, a następnie data absolutnie nic nie robi
AlxVallejo 27.04.16

Czy modyfikujesz pliki init, aby je przekazać, -gczy jest dostępna odpowiednia opcja ntp.conf?
Jérôme,

Właśnie zdałem sobie sprawę, że -gjest już domyślnie używany w mojej instalacji Debiana, ale nie wiem, w którym pliku init / config jest to zrobione.
Jérôme,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.