GNU/Linux >> Znalost Linux >  >> Linux

Linux – synchronizace času NTP trvá dlouho?

Používám Raspberry Pi 3 a po restartu systému potřebuji aktualizovat čas přes ntp.

Mělo by se aktualizovat přes wifi s dhcp. Obecně to funguje, ale synchronizace potřebuje cca. půl hodiny a nechápu proč.

Když chci spustit službu ntp ručně pomocí

>>sudo /etc/init.d/ntp restart

Říká „ok“, ale systém nic nedělá – na RTC je stále nesprávný čas.

Máte nápad, v čem by mohl být problém?

Další informací je, že Pi běží v režimu pouze pro čtení... ale pokud nefunguje bez přístupu pro zápis, nebude se po půl hodině aktualizovat, že?

Další podrobnosti:

K dokončení mého problému zde je ntp.conf:

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

Driftfile /var/lib/ntp/ntp.drift

Statistics loopstats peerstats clockstats
Filegen loopstats file loopstats type day enable
Filegen peerstats file peerstats type day enable
Filegen clockstats file clockstats type day enable

...

Server 0.de.pool.ntp.org iburst
Server 1.de.pool.ntp.org iburst
Server 2.de.pool.ntp.org iburst
Server 3.de.pool.ntp.org iburst

Server 127.127.1.0 #local clock
Fudge 127.127.1.0 stratum 10

...

Abych rozšířil své vysvětlení o mém projektu. Chci používat Pi jako NTP server. První problém byl, že RTC „uteče“ po restartu nebo při vypnutí Pi – zejména na delší dobu. Proto mě napadlo, že Pi by měl být nejprve NTP klient pro nastavení RTC a poté Pi musí být NTP server pro zařízení, které je připojeno přes ethernert k Pi. Připojil jsem tedy Pi přes Wifi, abych získal aktuální čas. Jak jsem již řekl, obecně to funguje, ale zabere to příliš mnoho času.

Pak jsem chtěl provést synchronizaci ručně pomocí tohoto příkazu, který jsem zveřejnil dříve. Můj nápad byl udělat to jako cronjob, ale je tu další problém:1. Pi ignoroval příkaz; 2. cronjob je také ignorován nebo smazán po restartu.

Ale chci jít krok za krokem a první problém, který chci vyřešit, je snížit čas synchronizace.

Doufám, že nyní máte lepší přehled o mé situaci….

Potřebujete další podrobnosti?

NOVÉ INFORMACE:01.02.2018

Dobře, takže teď mám řešení, které chci, ALE existuje chování, kterému nerozumím. Konfigurace byly správné.
Nicméně používám integrovanou WiFi k synchronizaci systémového času přes NTP server, který jsem nakonfiguroval v ntp.conf. Jako NTP server pro kabelové zařízení k RPi používám ethernet (kabelovou LAN). Zde nastavení IP:

WLAN (DHCP): 192.168.1.x
Ethernet (static): 192.168.10.10

Obě rozhraní jsem dal do různých sítí, protože jinak by fungovalo jen jedno připojení – Ale proč vlastně?
A to je hlavní problém, proč ta synchronizace trvala tak dlouho. Když okomentuji řádek s místními hodinami

Server 127.127.1.0

Pak synchronizace přes síť funguje okamžitě...
Proč se to děje?

Související:Debian – Proč se host Debian Hyper-V neaktualizuje, jakmile se hostitel probudí ze spánku?

Přijatá odpověď:

rpi nemá RTC, a tak se spouští vždy 1. ledna 1970 – čas pomalého a postupného synchronizování serveru a NTP je delší; takže standardně NTP nezačne fungovat normálně, dokud nebude opraven rozdíl mezi NTP a systémem.

Přidal bych do vašeho ntp.conf soubor jako první řádek (musí to být první řádek):

tinker panic 0

Toto nastavení se doporučuje pro virtuální počítače a zařízení iOTs.

tinker panic – Určuje práh paniky v sekundách s výchozí hodnotou
1000 s. Je-li nastaveno na nulu, kontrola paniky je deaktivována a bude akceptován posun hodin
libovolné hodnoty.

Také bych zvážil nákup RTC, protože je levný, zvláště pokud máte v úmyslu mít projekty bez připojení k internetu. viz hwclock nemůže otevřít soubor rtc


Linux
  1. Připojení SSH trvá dlouho? Zde je několik oprav

  2. Ssh – Proč připojení Ssh trvá dlouho?

  3. Jak synchronizovat čas pomocí NTP na serveru Ubuntu?

  1. Time Sync Linux

  2. Sledovat, jak dlouho trvá příkaz v UNIX/LINUX?

  3. Jednoduchý linuxový nástroj pro načasování http požadavku v milisekundách

  1. Jak nastavit časové pásmo a synchronizovat čas serveru s NTP v Linuxu

  2. Synchronizujte čas serveru Linux se serverem času sítě

  3. Zkontrolujte, jak dlouho trvá spuštění Bash skriptu s Time Command