Qual è il modo consigliato per sincronizzare l'ora usando NTP?


18

Questa domanda è emersa più volte in modo localizzato, questa domanda ha lo scopo di fornire il metodo preferito / migliore per sincronizzare l'orologio di un sistema usando NTP.

La soluzione dovrebbe gestire correttamente più problemi, ad esempio:

  1. Corretto per il tempo all'avvio rapido in cui l'orologio ha una grande inclinazione.

  2. Fornire una configurazione che protegga e / o corregga le situazioni in cui l'orologio a volte può sviluppare una grande inclinazione nel tempo.

  3. Una soluzione affidabile in grado di gestire e sincronizzare rapidamente il tempo quando si presentano determinati problemi come: "il server del tempo non era accessibile durante l'avvio" o "Internet non è accessibile durante l'avvio".

La soluzione ideale sarebbe un singolo file di configurazione NTP in grado di gestire tutto questo.

Riferimenti

Molti dei pezzi che forniranno la soluzione "definitiva" sono sparsi sul sito U&L in domande come queste:

Ci sono sicuramente altri, ma questi sono quelli che ho visto che mi vengono in mente come rilevanti.



1
FYI: Pianificazione di lavorare su una risposta completa a questo. Guarda il registro chat a partire da chat.stackexchange.com/transcript/message/11350138#11350138
derobert

# 2 non dovrebbe accadere se ntpd è in esecuzione
dfc,

@dfc - questo può accadere quando una VM viene messa in pausa e poi ripresa, ci sono altre situazioni in cui può accadere anche.
slm

@slm "sviluppa" significa un salto temporale nel disallineamento dopo il riavvio della VM? Sembra che entro un paio d'ore dopo il riavvio ntpd dovrebbe tenere sotto controllo l'inclinazione. Sicuramente non peggiorare le cose. Quali sono le altre situazioni?
dfc,

Risposte:


6

Dal momento che non puoi correggere grandi deviazioni nel tempo usando ntp (a meno che tu non abbia qualche ora affinché l'orologio raggiunga o rallenti) Faccio questo:

servizio ntpd stop
ntpdate us.pool.ntp.org
servizio ntpd start

Lo chiamo una volta al giorno, tutti i giorni. Ho anche messo ntpdate in uno script di init per essere eseguito prima che ntp si avvii dopo l'avvio, poiché riavvii e cicli di accensione sono gli eventi più probabili / frequenti che interferiscono con l'ora del sistema.


Se ntpd funziona correttamente, perché è necessario arrestarlo e avviarlo? Sembra un'idea terribile.
dfc,

3
ntpdate non funzionerà se ntpd è in esecuzione.
Grizly,

4

Quello che stai cercando è ntpdcon l' --panicgateopzione.

L'opzione panicgate consente alla prima regolazione dopo l' ntpdavvio di avere qualsiasi dimensione. Questo è esattamente per il caso d'uso che hai descritto dove arriva una macchina e il suo orologio è incredibilmente impreciso. Quando ntpd inizia con questa opzione abilitata, può richiedere qualche istante per trovare un server e stabilire la sincronizzazione con esso.

Questa opzione in sé risolve il tuo oggetto n. 1.

# 2 è vaniglia ntpd. Ntpd mantiene un file di deriva che è la frequenza con cui il clock del sistema si inclina.

Il n. 3 è uguale al n. 1. L' --panicgateopzione non si limita immediatamente all'avvio di ntpd, è limitata alla "prima regolazione", ogni volta che tale regolazione è.


digitando ntpd --panicgate e quindi la data non fa assolutamente nulla
AlxVallejo

Modifichi i file init per passare -go esiste un'opzione equivalente da impostare ntp.conf?
Jérôme,

Ho appena realizzato che -gè già usato di default nella mia installazione Debian, ma non so in quale file init / config questo sia fatto.
Jérôme,

2

Usa chronyd / chronyc invece di ntp / ntpdate. È già il metodo predefinito in fedora e, suppongo, sarà in RHEL 7.0 non appena sarà pronto.

La documentazione è disponibile all'indirizzo http://chrony.tuxfamily.org/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.