Téma: Synchronizace času pomocí NTP
Aktuálně se problém týká SDS micro,
Toto je *BETA-VERSION* verze hw SoC-ARM REV4 100Mbit DF5, ze dne 13.11.2012.
© AN-D.cz , eshop: OnlineTechnology.cz , web: Micro.MereniEnergie.cz
Stejně se však chová i s poslední verzí, tedy s RC1.
Problém je následující…
Používáme v síti vlastní NTP server stratum 2,
root@ns1:/etc# ntptrace
localhost: stratum 2, offset -0.000466, synch distance 0.001901
tak.cesnet.cz: stratum 1, offset 0.000004, synch distance 0.000000, refid 'GPS'
root@ns1:/etc#
,pro jistotu jsem ještě ověřil i s nastavením NTP na jiné servery dle http://bass.wz.cz/ntp.html
V programu pomocí
if (sys[10] == 5 ) odesli_data_na_sql(); // pokud je systemovy cas 5, odeslou se data na sql server
odesílám každou 5 sec. data na sql server.
Na straně serveru pak vypadá záznam takto:
ID
datum
cas
1 2012-12-01 00:00:05
2 2012-12-01 00:01:05
3 2012-12-01 00:02:05
4 2012-12-01 00:03:05
5 2012-12-01 00:04:05
6 2012-12-01 00:05:05
7 2012-12-01 00:06:05
8 2012-12-01 00:07:05
9 2012-12-01 00:08:05
10 2012-12-01 00:09:05
Na fw ze 6.7. je vše OK, ale na vyšším firmware dochází k posunu času v sds, výsledek pak vypadá tak, že čas v db se mění..
ID
datum
cas
1 2012-12-06 01:13:14
2 2012-12-06 01:14:14
3 2012-12-06 01:14:15
4 2012-12-06 01:15:16
5 2012-12-06 01:16:17
6 2012-12-06 01:17:18
7 2012-12-06 01:18:19
8 2012-12-06 01:19:20
9 2012-12-06 01:20:21
Zkoumáním jsem zjistil, že čas v SDS se rozchází s časem serveru, vyčítal jsem ručně každou celou minutu čas v LXu a v SDS a zjistil jsem tento posun:
So pro 8 20:02:19 CET 2012
root@sds:~# date
So pro 8 20:03:20 CET 2012
root@sds:~# date
So pro 8 20:04:21 CET 2012
root@sds:/etc# date
So pro 8 20:05:22 CET 2012
root@sds:/etc# date
So pro 8 20:06:23 CET 2012
root@sds:/etc# date
So pro 8 20:06:24 CET 2012
root@sds:/etc# date
So pro 8 20:07:25 CET 2012
Právě o +1 sec každých 60 sec. Proto dochází k posunu času při zápisu dat do databáze.
Neshledal se někdo další s podobným chováním ??
L.