Fornire ntpd per apportre modifiche in passaggi più piccoli

La documentazione NTP dice:

In condizioni di ordinaria, ntpd regola l'orologio in piccoli passi in modo che il tempo temporale sia effettivamente continuo e senza discontinuità – http://doc.ntp.org/4.1.0/ntpd.htm

  • file system per milioni di piccoli file
  • Dovremmo distriggersre l'utente root?
  • Tempo di creazione dei file su Windows vs Linux
  • Come utilizzare realmd in Ubuntu 14.04 LTS per unirsi a un dominio di Active Directory?
  • Problemi di configuration di HP MSA2000 SAN - critica di installazione (msa2324sa)
  • Come fermare un attacco ICMP?
  • Tuttavia, questo non è affatto quello che ho notato in pratica. Se cambio manualmente il tempo di sistema all'indietro o in avanti per 5 o 10 secondi, quindi avviare ntpd , noto che regola l'orologio in un solo colpo.

    Ad esempio, con questo codice:

     #!/usr/bin/env python import time last = time.time() while True: time.sleep(1) print time.time() - last last = time.time() 

    Quando cambiamo prima il tempo, noterò qualcosa di simile:

     1,00194311142
     8,29711604118
     1,0010,509491 millions
    

    Poi, quando avrò inizio NTPd, vedrò qualcosa come:

     1,00194311142
     -8,117301941
     1,0010,509491 millions
    

    C'è un modo per forzare ntpd per eseguire le regolazioni in piccoli passi?

  • Ottenere "anno" con l'ultimo command su Red Hat 5
  • TC class Linux / numero di filter
  • Come superare il nome host configurato da DHCP in una casella CentOS7 in AWS?
  • Semplice modo di riavviare i processi in crisi?
  • Quali sono i migliori strumenti open source per stressare un sistema Linux?
  • Quanto cade la cache del disco rigido con Linux morbido?
  • 2 Solutions collect form web for “Fornire ntpd per apportre modifiche in passaggi più piccoli”

    Passando ntpd -x all'avvio del demone, le modifiche verranno mantenute molto piccole: non ci sarà nessun passo dell'orologio. Naturalmente, l'impostazione della rotazione significa solo che potrebbe richiedere un po 'di tempo per correggere le lacune più grandi se si inizia con il tuo orologio molto lontano dall'ora corretta. Citando alcuni paragrafi dalla pagina uomo

    Nelle normali condizioni, ntpd regola l'orologio in piccoli passi in modo che la scala temporale sia effettivamente continua e senza discontinuità. In condizioni di congestione di networking estrema, il jitter di ritardo di andata e return può superare i tre secondi e la distanza di sincronizzazione, pari alla metà del ritardo di andata e dei termini di errore di errore, può diventare molto grande. Gli algoritmi ntpd scartano gli offset di campioni superiori a 128 ms, a less che l'intervallo durante il quale nessun offset di campione è inferiore a 128 ms superi i 900. Il primo campione dopo che, indipendentemente dall'offset, passa l'orologio all'ora indicata. In pratica, questo riduce il tasso di allarme falso in cui l'orologio è scalato in errore ad un'infezione di vanishingly bassa.

    Dal momento che hai regolato il tuo orologio per 10 secondi, è sicuramente superato il regno di ciò che NTP si aspettava di vedere, quindi il passo.

    Come risultato di questo comportmento, una volta che l'orologio è stato impostato, molto raramente si percorre più di 128 ms, anche in casi estremi di congestione e jitter di path di networking. A volte, in particolare quando viene avviato il primo ntpd, l'errore potrebbe superare 128 ms. Questo può causare l'orologio all'indietro se l'orologio locale è più di 128 s in futuro rispetto al server. In alcune applicazioni, questo comportmento può essere inaccettabile. Se l'opzione -x è inclusa nella row di command, l'orologio non sarà mai passato e verranno utilizzate solo correzioni slew.

    Le problematiche dovrebbero essere esplorate con attenzione prima di decidere di utilizzare l'opzione -x. La velocità massima ansible è limitata a 500 parti per milione (PPM) come conseguenza dei principi di correttezza su cui si basa il protocollo NTP e il disegno di algorithm. Di conseguenza, l'orologio locale può richiedere molto tempo per convergere in un offset accettabile, circa 2.000 s per each secondo l'orologio è al di fuori della gamma accettabile. Durante questo intervallo, l'orologio locale non sarà coerente con nessun altro clock di networking e il sistema non può essere utilizzato per applicazioni distribuite che richiedono tempo di networking correttamente sincronizzato.

    L'esecuzione di ntpdate prima di avviare servizi importnti e quindi l'esecuzione di ntpd -x dopo che questa può essere una buona soluzione combinata per assicurarsi che accadano qualsiasi passaggio importnte prima che sia necessario eseguire un timer senza passo.

    Se questo è per il codice che vuoi scrivere, questa potrebbe essere la risposta che stai cercando: https://stackoverflow.com/questions/1205722/how-do-i-get-monotonic-time-durations-in-python

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.