Come configurare ntpd per sincronizzare il tempo più frequentemente?


10

Devo impostare ntpd per sincronizzare il tempo il più spesso possibile, come fare?

UPD Devo fare in modo che ntpd regoli l'orologio di sistema più frequentemente, non i server di polling. È necessario perché l'orologio di sistema del mio PC virtuale deriva da un eccesso di
maxpoll che non sembra cambiare nulla, perché ho impostato minpoll / maxpoll su 4 e 5 e le regolazioni del tempo sembrano essere fatte solo una volta ogni pochi minuti


Perchè vuoi fare questo?
Kyle Smith,

Perché ho bisogno di tempo preciso per il mio compito. Qualche motivo per non farlo?
user626528

8
@ user626528 definisce "tempo preciso". Dire che hai bisogno di precisione senza quantificare il grado di precisione di cui hai bisogno non ha senso: sia un fucile di precisione che un proiettile da mortaio da 51 pollici sono munizioni "precise".
voretaq7,

Risposte:


12

L' iburstopzione esegue rapidamente diversi controlli non appena viene avviato il daemon e ogni volta che il server non è raggiungibile se lo si possiede nella propria configurazione. L' burstopzione esegue rapidamente numerosi controlli ogni volta che il server è raggiungibile.

Di default ntpdsegue quindi un backoff esponenziale in cui il tempo tra i controlli aumenta progressivamente, a partire da 64 secondi e raddoppiando ogni volta, fino a un massimo di 1024 secondi.

L' maxpollopzione consente di impostare il valore massimo più alto o più basso. Questo valore è la potenza di 2 in secondi tra i controlli, quindi per 1024 secondi, maxpollè 10. Esiste anche un minpollvalore predefinito di 6 che può essere ridotto a 4.

Se vuoi qualcosa di più frequente di ogni 16 secondi, probabilmente dovrai usare ntpdateinvece di ntpded eseguire il tuo loop.

Si prega di non puntare a server di orario pubblico senza prima contattare i manutentori.


3
Probabilmente è meglio che non usi mai NTPdate, poiché non obbedisce ai messaggi KOD o ICMP.
Chris S,

Ulteriori letture su KoD e su come gestire un buon client NTP in generale: en.wikipedia.org/wiki/NTP_server_misuse_and_abuse
Ladadadada

Quello che ha detto @ChrisS - ntpdateè ottimo per sincronizzare l'orologio una volta o per sincronizzare forzatamente il proprio server NTP ogni secondo su macchine in cui la deriva dell'orologio locale è atroce. Se ti trovi in ​​quest'ultima situazione, sostituisci la macchina (un orologio così brutto andrà alla deriva di alcuni secondi ogni minuto - non avrai mai tempo preciso).
voretaq7,

10
Per favore, per favore, per favore NON essere quel ragazzo che cambia le impostazioni predefinite su NTP. Devo guardare settimanalmente il mio server NTP pubblico e annusare i ragazzi che inviano 1 pacchetto al secondo. Se il tuo server non ascolta il messaggio ICMP che dice "amministrativamente vietato" , chiamerò il NOC del tuo ISP e avrai una brutta giornata. NTP stabilirà da solo in millisecondi e regolerà la velocità di interrogazione su e giù secondo necessità. Il violinismo non aiuta.
Jeff Ferland,

20

ntpdnon sincronizza periodicamente il tempo nel modo in cui lo pensi, vedi qui per maggiori informazioni (leggi tutto, è tutto importante. Versione breve: ntpdsincronizza il tempo e dice al sistema quanto velocemente si sta allontanando dal tempo "vero", il il sistema quindi regola la frequenza di clock per tracciare correttamente il tempo "vero". Entro un giorno la maggior parte dei sistemi sta eseguendo il tracciamento entro 5 ms dal riferimento).

In assenza di un motivo ECCELLENTE di cui non dovresti preoccuparti del modo in cui ntpdregola e disciplina l'orologio: questi algoritmi sono stati accuratamente testati e sottoposti a debug e dato un riferimento temporale adeguato produrrà tassi di errore molto piccoli.
Francamente, se hai una ragione così ECCELLENTE, sai già di cosa si tratta e hai un budget considerevole per assumere un esperto per apportare queste modifiche per te ("non faresti questa domanda se ne avessi davvero bisogno").

Se si richiede una migliore accuratezza del tempo rispetto a ciò che ntpdpuò farti sincronizzare da solo con una macchina in rete, è necessario un orologio di riferimento hardware di precisione specializzato collegato localmente alla macchina. Il trading ad alta frequenza e gli esperimenti scientifici critici per picosecondi sono le uniche cose a cui riesco a pensare che richiedono questo tipo di precisione.


@ChrisS è una banda abbastanza ampia - potresti avere problemi di controllo della temperatura nel tuo datacenter
voretaq7

3
Usiamo il Precision Time Protocol quando è veramente critico ... en.wikipedia.org/wiki/Precision_Time_Protocol
ewwhite

6
-1 algorithm or program that requires high precision and accuracy! = mega corp with super massive budget.
TheLQ

@TheLQ Un ricevitore GPS (come Chris S menzionato nella sua risposta) è anche un riferimento di precisione, e non richiede nulla che assomigli ad un "budget super massiccio" (puoi aspettarti di spendere ovunque da cento a mille dollari per uno). La precisione sale da lì e il costo aumenta insieme ad essa, in genere su una curva esponenziale. Il preciso cronometraggio non è mai stato gratuito /
voretaq7

1
Un altro uso per avere un orologio di riferimento locale: misurazione delle prestazioni della rete unidirezionale ad alta precisione. internet2.edu/performance/owamp
Dan Pritts,

7

Ottieni un ricevitore orario GPS se hai bisogno di un orario estremamente preciso. Controllerà l'orologio ogni secondo. Se non vuoi spendere molto, puoi ottenere un Garmin 18x LVC su eBay o Amazon per <$ 100 e collegarlo a una porta COM. Indicazioni su Internet, ma richiede un livello minimo di abilità nel cablaggio. Sono disponibili soluzioni complete che costano di più, se non ti piacciono i progetti fai-da-te.

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.