ntpd, per capirci di più

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

ntpd, per capirci di più

Messaggio da tgmx »

Ciao Ragazzi,

apro questa discussione forse lunga e noiosa solo per capire qualcosa in più di ntpd.

Questi giorni sto configurando un paio di macchine in cui gira Slackware13.1 e mi serve che abbiano l'orologio preciso e sincronizzato.

Niente di difficile:
- rendo eseguibile rc.ntpd
- edito /etc/ntp.conf e decommento questa riga:
server pool.ntp.org
- riavvio

Ovviamente impostando sul bios l'ora UTC e mettendo come localtime (in fase di installazione) Rome .

Ho sempre fatto così e l'ora dei "miei" pc è sempre stata precisa.

Voglio però capire un po' meglio come funziona ntpd quindi ho fatto alcune prove.

Dopo aver riavviato la macchina (che già aveva l'ora precisa e sincronizzata) ho spostato l'ora 2 minuti indietro. Dato che erano le 20:00 ho eseguito da root:

Codice: Seleziona tutto

date -s 19:58
poi ho provato a riavviare ntpd :

Codice: Seleziona tutto

sh /etc/rc.d/rc.ntpd stop
sh /etc/rc.d/rc.ntpd start
ma l'ora non si è aggiornata. Eppure il comando che viene eseguito in rc.ntpd è:

Codice: Seleziona tutto

/usr/sbin/ntpd -g -p /var/run/ntpd.pid
e dalla documentazione:

Codice: Seleziona tutto

-g, --panicgate
              Allow the first adjustment to be Big.  This option may appear an unlimited number of times.

              Normally, ntpd exits with a message to the system log if the offset exceeds the panic threshold,
              which is 1000 s by default. This option allows the time to be set to any value without  restric-
              tion;  however,  this  can  happen only once. If the threshold is exceeded after that, ntpd will
              exit with a message to the system log. This option can be used with the -q and -x options.   See
              the tinker configuration file directive for other options.
quindi mi aspettavo di vedere immediatamente l'ora giusta.

So che eseguendo ntpdate avrei avuto l'ora giuta immediatamente ma vorrei capire come ragiona ntpd...

Avatar utente
tiferet
Linux 1.x
Linux 1.x
Messaggi: 103
Iscritto il: sab 29 apr 2006, 0:25
Slackware: 13.1 (x86_64)
Kernel: 2.6.33.4
Desktop: KDE 4.4.3

Re: ntpd, per capirci di più

Messaggio da tiferet »

prova ad eseguire

Codice: Seleziona tutto

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.inrim.it   .CTD.            1 u    8   64    1   36.621  157758.   0.002
 ntp2.inrim.it   .CTD.            1 u    7   64    1   35.995  157758.   0.002
probabilmente, il primo "grosso" aggiornamento dell'ora avviene quando "reach" raggiunge il valore 377 ed appare un asterisco sul primo server

Codice: Seleziona tutto

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.inrim.it   .CTD.            1 u   51   64  377   35.968  -33.107   2.685
+ntp2.inrim.it   .CTD.            1 u   16   64  377   35.920  -29.688  50.387

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: ntpd, per capirci di più

Messaggio da tgmx »

Sì, ho fatto questa prova ed effettivamente pare faccia come dici.
Anche a me dopo un certo tempo ha fatto l'aggiornamento tutto in una volta ma non mi aspettavo un comportamento del genere.

Supponiamo che io abbia una server di posta che gira. Cambio ora manualmente e riavvio il pc. Quello che accade è che parte tutto normalmente con l'ora sbagliata. All'avvio ntpd non aggiorna subito l'ora ma lo fa dopo diversi minuti (20/25 min) dall'avvio quindi il server di posta mi rileva una variazione anomala dell'orologio e probabilmente si chiude da solo.
Non sarebbe meglio se ntpd aggiornasse l'ora all'avvio del pc?
E poi questo 377 da cosa deriva, ha un senso "noto" o dipende dalle misteriose logiche di ntpd ?

Avatar utente
freefred
Linux 0.x
Linux 0.x
Messaggi: 87
Iscritto il: dom 28 set 2008, 19:08
Slackware: 13.1
Kernel: 2.6.36.2
Desktop: kde 4.4.3
Contatta:

Re: ntpd, per capirci di più

Messaggio da freefred »

tgmx ha scritto: Non sarebbe meglio se ntpd aggiornasse l'ora all'avvio del pc?
E poi questo 377 da cosa deriva, ha un senso "noto" o dipende dalle misteriose logiche di ntpd ?
"The column reach shows if a reference time source could be reached at the last polling intervals, i.e. data could be read from the reference time source, and the reference time source was synchronized. The value must be interpreted as an 8 bit shift register whose contents is for historical reasons displayed as octal values. If the NTP daemon has just been started, the value is 0. Each time a query was successful a '1' is shifted in from the right, so after the daemon has been started the sequence of reach numbers is 0, 1, 3, 7, 17, 37, 77, 177, 377. The maximum value 377 means that the eight last queries were completed successfully."

Qua spiega piu' o meno tutto:
http://www.meinberg.de/english/info/ntp.htm

(propenderei quindi per le misteriose logiche di ntpd:-)

bye

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: ntpd, per capirci di più

Messaggio da tgmx »

Se non altro ora sappiamo che l'ora viene "aggiustata" quando il contatore raggiunge quota 377.

:-)

Rispondi