Portál AbcLinuxu, 25. dubna 2024 09:44


Dotaz: ntpdate - nesynchronizuje

21.11.2007 13:43 toxin | skóre: 6
ntpdate - nesynchronizuje
Přečteno: 3209×
Odpovědět | Admin
Ahoj mam problem se synchronizaci casu na Fedora core 4 - ja vim, ale system musi zustat :(. Normalne mi tam bezi NTPD, ktery bere cas ze synchronizacniho serveru ze site - bohuzel cas ale nesesynchronizuje. Stopnul jsem tedy NTPD a chtel jsem cas jednorazove sesynchronizovat. NTPdate projde, ale s casem nehne. Vystup:
[root@localhost ~]# ntpdate -vd 172.28.1.10
21 Nov 13:37:01 ntpdate[30685]: ntpdate 4.2.0a@1.1196-r Fri May 12 09:51:45 EDT 2006 (1)
Looking for host 172.28.1.10 and service ntp
host found : 172.28.1.10
transmit(172.28.1.10)
receive(172.28.1.10)
transmit(172.28.1.10)
receive(172.28.1.10)
transmit(172.28.1.10)
receive(172.28.1.10)
transmit(172.28.1.10)
receive(172.28.1.10)
transmit(172.28.1.10)
server 172.28.1.10, port 123
stratum 3, precision -20, leap 00, trust 000
refid [172.28.1.10], delay 0.02580, dispersion 0.00000
transmitted 4, in filter 4
reference time:    caeea386.0498f5c4  Wed, Nov 21 2007 13:31:02.017
originate timestamp: caeea5e8.c4b3157a  Wed, Nov 21 2007 13:41:12.768
transmit timestamp:  caeea4ed.425d6beb  Wed, Nov 21 2007 13:37:01.259
filter delay:  0.02582  0.02580  0.02580  0.02580
         0.00000  0.00000  0.00000  0.00000
filter offset: 251.5090 251.5090 251.5090 251.5090
         0.000000 0.000000 0.000000 0.000000
delay 0.02580, dispersion 0.00000
offset 251.509015

21 Nov 13:37:01 ntpdate[30685]: step time server 172.28.1.10 offset 251.509015 sec
Podle me je to takhle spravne ne? Akorat to s casem proste nehne. Nevite jaky cas ntpdate nastavuje? Systemovy nebo hwclock?

Predem dekuji za odpovedi...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.11.2007 13:53 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nastavovat by měl systémový čas. Někdy někdy jsem měl takový pocit, že ntpdate nesesynchronizuje čas v případě, že rozdíl správného a místního čau je příliš velký (pokud se zároveň o místním čase ví, že má být synchronizován). Vím, že to není zrovna počítačově přesné, ale takovýhle dojem jsem z ntpdate získal, a ntpdate nepatří zrovna mezi mé oblíbené programy, takže jsem nezkoumal, jak to funguje doopravdy. Zkuste čas nastavit „přibližně přesně“ ručně a pak jen dosesynchronizovat s ntpdate.
21.11.2007 14:01 toxin | skóre: 6
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Heureka! Mate pravdu! Dal jsem hwclock -systohc a pak jsem pustil ntpdate a jede to! Dekuji :)...
21.11.2007 15:18 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
To jste mne tedy moc nepotěšil. Doufal jsem, že se dozvím nějaké rozumnější vysvětlení, v čem je chyba. Protože tomu mému pozorování jsem dával váhu jenom o něco větší, než kdyby mi někdo tvrdil, že je potřeba ten počítač zaříkávat. Jako vysvětlení jsem to používal, protože jsem nic lepšího neměl. Teď abych tomu snad začal doopravdy věřit. Jenom mne to utvrzuje v přesvědčení, že ntpdate a ntpd jsou fakt divné programy (ntpd se zase prozměnu nevyrovná s výpadkem spojení k časovému serveru – program běží dál, ale nesynchronizuje).
21.11.2007 15:34 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje

Rozhodně se tak nechovají všechny implementace ntpdate:

  lion:~ # date 010101001970 ; date +%s ; ntpdate ntp.dragon.cz ; date
  Čt led  1 01:00:00 CET 1970

  0



  21 Nov 15:31:10 ntpdate[11811]: step time server 213.168.176.1 offset 1195655470.565820 sec

  St lis 21 15:31:10 CET 2007

Ani by to nemělo smysl - v řadě distribucí se před startem xntpd provádí jednorázová synchronizace pomocí ntpdate právě proto, aby se odstranila případná nadměrná odchylka.

21.11.2007 15:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Ani by to nemělo smysl - v řadě distribucí se před startem xntpd provádí jednorázová synchronizace pomocí ntpdate právě proto, aby se odstranila případná nadměrná odchylka.
Mně to smysl taky nedává, proto se pořád odmítám smířit s tím, že to tak ntpdate dělá (konkrétně tato implementace).

Ten příklad, který uvádíte, u mne dopadne stejně. I mně ntpdate někdy sesynchronizuje čas správně i pokud je tam velký rozdíl. Ale pokud ntpd přestalo synchronizovat čas a následně jsem jej ukončil, odmítalo mi opakovaně ntpdate čas sesynchronizovat do té doby, než jsem čas nastavil ručně na přibližně správný čas.
21.11.2007 16:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Podivné. V OpenSuSE je tentýž (jako asi skoro všude), verze 4.2.4p3 a nevypadá to, že by v distribučním balíčku byl nějaký patch, který by takovou funkci vypínal.
21.11.2007 16:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Nedaří se mi nijak nasimulovat ten stav – ntpdate vždy čas správně sesynchronizuje. Jestli to tak bude napořád, budu jedině rád…
21.11.2007 17:10 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Mám pocit, že problém možná nastává v trochu jiném případě: když je systémový čas moc divoký v tom smyslu, že běží třeba poloviční rychlostí nebo jeho rychlost moc kolísá.
21.11.2007 22:25 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Nevim, jak ntpdate, ale u ntpd je to dokumentovane chovani, ktere je mozne zrusit parametrem -g :

Normally, the daemon exits if the offset exceeds a 1000s sanity limit. This option overrides this limit and allows the time to be set to an value without restriction.
22.11.2007 19:40 cronin | skóre: 49
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
ntpdate(8) sa na zaklade velkosti odchylky rozhoduje, ci prestavi cast jednorazovo, alebo ci len spomali alebo zrychli jeho pocitanie. Oboje ide vynutit prepinacmi:
     -B      Force the time to always be slewed using the adjtime(2) system
             call, even if the measured offset is greater than +-128 ms.  The
             default is to step the time using settimeofday(2) if the offset
             is greater than +-128 ms.  Note that, if the offset is much
             greater than +-128 ms in this case, it can take a long time
             (hours) to slew the clock to the correct value.  During this
             time, the host should not be used to synchronize clients.

     -b      Force the time to be stepped using the settimeofday(2) system
             call, rather than slewed (default) using the adjtime(2) system
             call.  This option should be used when called from a startup file
             at boot time.
(Vynate z manualu na FreeBSD 6.2.)
21.11.2007 14:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: ntpdate - nesynchronizuje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevite jaky cas ntpdate nastavuje? Systemovy nebo hwclock?

Samozřejmě systémový. Když budete předpokládat, že hwclock je jediný program, který zajímají hardwarové hodiny, nebude to sice úplně přesné, ale je to velmi dobrá aproximace.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.