Kako sinhronizirati čas z NTP v Linuxu
Network Time Protocol (NTP) je protokol, ki se uporablja za samodejno sinhronizacijo ure računalniškega sistema prek omrežij. Naprava lahko uporablja sistemsko uro za usklajen univerzalni čas (UTC) in ne za lokalni čas.
Ohranjanje natančnega časa na sistemih Linux, zlasti na strežnikih, je pomembna naloga iz več razlogov. V omrežnem okolju je na primer potrebno natančno merjenje časa za natančne časovne žige v paketih in sistemskih dnevnikih za analizo vzrokov, ugotavljanje, kdaj so se pojavile težave, in iskanje korelacij.
Chrony je zdaj privzeti izvedbeni paket NTP za najnovejše različice operacijskih sistemov Linux, kot so med drugim CentOS, RHEL, Fedora in Ubuntu/Debian, privzeto pa je vnaprej nameščen. Paket je sestavljen iz chronyda, demona, ki se izvaja v uporabniškem prostoru, in chronyc iz programa ukazne vrstice za spremljanje in nadzor chronyda.
Chrony je vsestranska izvedba NTP in se dobro obnese v številnih pogojih (preverite primerjavo paketa chrony z drugimi izvedbami NTP). Uporablja se lahko za sinhronizacijo sistemske ure s strežniki NTP (deluje kot odjemalec), z referenčno uro (na primer sprejemnik GPS) ali z ročnim vnosom časa. Uporablja se lahko tudi kot strežnik NTPv4 (RFC 5905) ali enakovreden za zagotavljanje časovne storitve drugim računalnikom v omrežju.
V tem članku se boste naučili, kako sinhronizirati čas strežnika z NTP v Linuxu s pomočjo chronyja.
Namestitev Chronyja v strežnik Linux
V večini sistemov Linux ukaz chrony ni privzeto nameščen. Če ga želite namestiti, izvedite spodnji ukaz.
$ sudo apt-get install chrony [On Debian/Ubuntu] $ sudo yum install chrony [On CentOS/RHEL] $ sudo dnf install chrony [On Fedora 22+]
Ko je namestitev končana, zaženite storitev chrony in ji omogočite samodejni zagon ob zagonu sistema, nato preverite, ali je zagnana in deluje.
# systemctl enable --now chronyd # systemctl status chronyd
Če želite navzkrižno preveriti, ali je chrony zdaj v redu in deluje, ter videti število strežnikov in vrstnikov, ki so z njim povezani, zaženite naslednji ukaz chronyc.
# chronyc activity
Preverjanje Chrony sinhronizacije
Za prikaz informacij (seznam razpoložljivih strežnikov, stanje in odmiki od lokalne ure in vira) o trenutnih časovnih virih, do katerih dostopa chronyd, zaženite naslednji ukaz z zastavico -v
, ki prikazuje opis za vsak stolpec.
# chronyc sources OR # chronyc sources -v
Kar zadeva prejšnji ukaz, za prikaz drugih uporabnih informacij za vsak vir, ki ga trenutno pregleduje chronyd (na primer postopek ocenjevanja hitrosti odmika in odmika), uporabite ukaz sourcestats.
# chronyc sourcestats OR # chronyc sourcestats -v
Če želite preveriti chrony sledenje, zaženite naslednji ukaz.
# chronyc tracking
Referenčni ID v izhodu tega ukaza podaja ime (ali naslov IP) strežnika, na katerega je računalnik trenutno sinhroniziran, od vseh razpoložljivih strežnikov.
Konfiguriranje Chrony časovnih virov
Glavna konfiguracijska datoteka chrony se nahaja na /etc/chrony.conf (CentOS/RHEL/Fedora) ali /etc/chrony/chrony.conf (Ubuntu/Debian).
Ko nameščate operacijski sistem Linux v oblak, bi moral imeti vaš sistem med namestitvijo dodane nekaj privzetih strežnikov ali skupino strežnikov. Če želite dodati ali spremeniti privzete strežnike, odprite konfiguracijsko datoteko za urejanje:
# vim /etc/chrony.conf OR # vim /etc/chrony/chrony.conf
S strežniško direktivo lahko dodate več strežnikov, kot je prikazano.
server 0.europe.pool.ntp.org iburst server 1.europe.pool.ntp.org iburst server 2.europe.pool.ntp.org ibusrt server 3.europe.pool.ntp.org ibusrt
ali v večini primerov je najbolje uporabiti ntppool.org za iskanje strežnika NTP. To sistemu omogoča, da poišče najbližje razpoložljive strežnike za vas. Če želite dodati bazen, uporabite direktivo pool:
pool 0.pool.ntp.org burst
V datoteki lahko konfigurirate še veliko drugih možnosti. Po spremembah znova zaženite storitev chrony.
$ sudo systemctl restart chrony OR # systemctl restart chronyd
Če želite prikazati informacije o trenutnih časovnih virih, ki jih poizveduje chronyd, znova zaženite naslednji ukaz.
# chronyc sources
Če želite preveriti stanje sledenja chrony, zaženite naslednji ukaz.
# chronyc tracking
Če želite prikazati trenutni čas v sistemu, preverite, ali je sistemska ura sinhronizirana in ali je NTP res aktiven, zaženite ukaz timedatectl:
# timedatectl
S tem smo prišli do konca tega vodnika. Če imate kakršna koli vprašanja, nam pišite v spodnjem razdelku za komentarje. Za več informacij si oglejte: uporabo chronyja za konfiguracijo NTP iz uradnega spletnega dnevnika Ubuntu.