Puncte:0

ntpd nu sincronizează ceasul dacă se conectează la internet puțin târziu

drapel cn

În cutia noastră de producție, mă confrunt cu o problemă cu ntpd. Activez caracteristica NTP pentru caseta noastră de producție și observ o problemă.

Pornim demonul ntpd în procesul de inițializare a casetei noastre. În acest timp conexiunea la internet nu există. Mai jos este micuța mea ntp.conf fişier

driftfile /etc/ntp.drift
logconfig =syncstatus
server pool.ntp.org iburst

Cutia noastră primește conexiunea la internet puțin târziu odată ce interfața apare. Acea dată văd că ntpd nu sincronizează ceasul. Cand fac ntpq -c ca , Eu iau nu a fost găsit nici un ID de asociere. Am așteptat aproape 30 de minute, dar tot am primit nu a fost găsit nici un ID de asociere

Trebuie să repornesc ntpd-ul. După repornirea acestuia, ntpd sincronizează ceasul și totul funcționează normal. Dar din nou, dacă îmi repornesc cutia, se întâmplă aceeași problemă. Din nou, trebuie să repornesc ntpd, odată ce apare caseta și internetul este accesibil.

S-a confruntat cineva cu o problemă similară?

Ar trebui să amân pornirea ntpd până când apare interfața de timp?

Actualizați

Am mai făcut un experiment și l-am înlocuit server pool.ntp.org iburst cu pool pool.ntp.org iburst iar cu această schimbare ntpd sincroniza automat ceasul. Nu a trebuit să repornesc ntpd-ul. Așa că aici îmi apare o altă întrebare.

Ce s-a întâmplat când am înlocuit Server cu bazin?

Ar trebui să folosesc întotdeauna bazin cuvânt cheie în loc de Server?

Când ar trebui să folosesc bazin si cand ar trebui sa folosesc Server?

Am făcut câteva cercetări și am găsit asta pool este același cu server, cu excepția faptului că rezolvă un nume în mai multe adrese și le folosește pe toate dacă fac același lucru, atunci de ce server pool.ntp.org iburst nu a funcționat pentru mine, dar pool pool.ntp.org iburst a lucrat.

Actualizați

După cum am sugerat, am folosit bazin în loc de Server dar totuși ceasul meu nu se poate sincroniza la pornire. Anterior nu a fost găsit nici un ID de asociere venea, dar după ce a folosit pool-ul afișează lista.

GW:/admin# ntpq -c lpeer
     telecomandă refid st t când sondaj atinge întârziere offset jitter
==================================================== =============================
 time.google.com .POOL. 16 p - 64 0 0.000 +0.000 0.002

GW:/admin# ntpq -np
      telecomandă refid st t când sondaj atinge întârziere offset jitter

 time.google.com .POOL. 16 p - 64 0 0.000 +0.000 0.002

GW:/admin# ntpq -c ca
ind assid status conf reach auth condition last_event cnt
==================================================== =========
  1 34173 8811 da niciunul niciunul respinge mobilizează 1

GW:/admin# ntpq -c „rv 34173”
associd=34173 status=8811 conf, bcast, sel_reject, 1 eveniment, mobilizare,
srcadr=0.0.0.0, srcport=0, srchost="time.google.com", dstadr=0.0.0.0,
dstport=0, leap=11, strat=16, precizie=-19, rootdelay=0,000,
rootdisp=0.000, refid=POOL, reftime=(fără timp), rec=(fără timp), reach=000,
unreach=0, hmode=3, pmode=0, hpoll=6, ppoll=10, headway=0,
flash=1400 peer_dist, peer_unreach, keyid=0, offset=+0,000, întârziere=0,000,
dispersie=16000.000, jitter=0.002,
filtdelay= 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00,
filtoffset= +0,00 +0,00 +0,00 +0,00 +0,00 +0,00 +0,00 +0,00,
filtdisp= 16000,0 16000,0 16000,0 16000,0 16000,0 16000,0 16000,0 16000,0

Văd starea blițului ca 1400. Ce înseamnă 1400 Nu am putut găsi starea blițului 1400 în documentația ntp.

Actualizați

A început să funcționeze. am inlocuit iburst cu minpoll 3 maxpoll 4 și după aceea lucrează la repornire. Am folosit piscina asa pool pool.ntp.org minpoll 3 maxpoll 4. Nu sunt sigur ce diferență face această schimbare.

Am mai citit că ar trebui să evităm să folosim minpoll și maxpoll. Prea frecvent pentru o perioadă susținută și serviciile publice NTP vă pot bloca. ntpd este deja bun la selectarea dinamică a intervalului de pool.

Oricum, vă mulțumesc tuturor pentru că m-ați ajutat.

Paul Gear avatar
drapel cn
Dacă nu aveți un motiv foarte special, ar trebui să utilizați întotdeauna „pool” în loc de „server”. Are caracteristici operaționale mai bune în aproape toate aspectele, inclusiv comportamentul de interogare DNS pe care l-ați descoperit.
user10489 avatar
drapel nc
„Motivele speciale” pentru utilizarea unei linii de server includ ceasurile de referință hardware locale, autentificarea folosind chei și (opțional) servere locale cu adrese IP statice.
vivek avatar
drapel cn
@user10489 `autentificare folosind chei` înseamnă asta că nu putem folosi `pool` în autentificare? Ar trebui să fie întotdeauna „server”.
user10489 avatar
drapel nc
Cel puțin conform paginii de manual, nu puteți utiliza o directivă cheie sau cheie automată într-o linie de pool.
vivek avatar
drapel cn
@user10489 Mă întrebam doar dacă avem nevoie de autentificare pentru numele de gazdă, atunci aceasta devine ambiguitate. În ceea ce privește rezoluția numelui de gazdă, modalitatea preferată este să folosești linia „pool” și pentru cheie nu pot folosi „pool”.
user10489 avatar
drapel nc
Dacă aveți suficient control asupra ambelor gazde pentru a utiliza o directivă cheie, ar trebui să puteți utiliza, de asemenea, un ip în loc de un nume DNS. Și nimic nu vă împiedică să aveți mai multe intrări de diferite tipuri la diferite gazde pentru redundanță.
user10489 avatar
drapel nc
Update2: Fie dn-ul este încă stricat, fie nu ați așteptat suficient înainte de a verifica. Ar trebui să testați dns cu dig sau host și dacă funcționează, așteptați cel puțin 64-128 de secunde.
Puncte:1
drapel nc

Când furnizați un server la ntpd, la pornire, acesta rezolvă numele de gazdă la o adresă IP și încearcă să folosească adresa IP pentru a sincroniza ora. Dacă numele de gazdă nu se rezolvă, îl șterge. Chiar dacă o rezolvă, nu își amintește numele de gazdă, ci doar adresa IP.

Dacă serverul din dvs Server line era o gazdă locală cu o adresă ip fixă ​​(mai degrabă decât un pool dinamic), ai putea înlocui numele de gazdă cu adresa IP reală și nu ar trebui să o ștergă chiar dacă rețeaua nu este activată la pornire.

Dacă furnizați în schimb un pool către ntpd, acesta păstrează numele de gazdă (și îl etichetează cu .BAZIN.). Periodic (inclusiv la pornire), acesta va rezolva acel nume de gazdă în DNS și va adăuga orice IP-uri pe care le primește ca intrări separate și va elimina unele dintre cele mai puțin favorabile.

Puteți vedea unele dintre acestea cu comanda ntpq -np sau echivalent ntpq -n -c egali

Rețineți că există, de asemenea, probleme de sincronizare și probleme de versiune ntpd cu toate acestea. Această problemă exactă a fost înregistrată ca o eroare în ntpd și au existat mai multe variante de remediere. Unele versiuni de ntpd vor amâna rezoluția numelui de gazdă dacă eșuează, dar oricum poate renunța în cele din urmă; deci, dacă testați prin deconectarea scurtă a rețelei și reconectarea acesteia, este posibil ca problema să nu apară. De asemenea, ntp folosește un algoritm de sondare care crește exponențial timpul de sondare a gazdei atât pentru gazde accesibile, cât și pentru cele inaccesibile (în funcție de stabilitatea ceasului și de utilitatea gazdei ca sincronizare a timpului) cu o limită superioară de 1024 de secunde (32 de minute), deci dacă accesibilitatea rețelei se modifică, poate dura atât de mult până să se observe. (Timpurile și intervalele de sondare sunt listate în ntpq -np)

În plus, unele scripturi de pornire de pornire folosesc ntpdate sau instrumente similare pentru a seta ceasul sistemului la un server de la ntp.conf, astfel încât ceasul să fie parțial sincronizat înainte de a începe ntpd. Aceasta este o încercare de o singură lovitură și, dacă nu reușește, ntpd poate începe cu ceasul extrem de greșit. Dacă este doar ușor greșit, ntp îl va repara, dar dacă este greșit major, ntpd poate refuza să sincronizeze ceasul și, în unele cazuri și versiuni de ntpd, se poate bloca sau ieși. Unele versiuni de ntpd au propriile lor opțiuni de pas mare de ceas cu un singur shot.

vivek avatar
drapel cn
Am înțeles punctul tău. Întrebarea mea este: putem furniza adresa IP pool-ului sau ar trebui să fie întotdeauna numele gazdă.
user10489 avatar
drapel nc
Puteți furniza o adresă IP pe o linie de server. Nu are sens să furnizezi o adresă IP pe o linie de pool.
vivek avatar
drapel cn
Am făcut un mic test în care am oprit interfața pentru a întrerupe conexiunea la internet. După aceea am configurat `server pool.ntp.org iburst` și am început ntpd. După ceva timp am adus în discuție interfața și pot vedea că ntpd este capabil să sincronizeze ceasul. Deci, așa cum ați spus, „la pornire, acesta rezolvă numele de gazdă la o adresă IP și încearcă să folosească adresa IP pentru a sincroniza ora. Dacă acel nume de gazdă nu se rezolvă, îl șterge` nu pare a fi corect de data aceasta.
user10489 avatar
drapel nc
Pot exista și probleme legate de sincronizare. Voi adăuga asta la răspuns.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.