Sådan synkroniseres tid med NTP i Linux


Network Time Protocol (NTP) er en protokol, der bruges til automatisk at synkronisere computersystemets ur over et netværk. Maskinen kan få systemuret til at bruge Coordinated Universal Time (UTC) snarere end lokal tid.

Opretholdelse af nøjagtig tid på Linux-systemer, især servere, er af mange grunde en vigtig opgave. For eksempel er det i et netværksmiljø nødvendigt med nøjagtig tidtagning for nøjagtige tidsstempler i pakker og systemlogfiler til rodårsagsanalyse, bestemme hvornår der opstod problemer og finde sammenhænge.

Chrony er nu standard NTP-implementeringspakken på de nyeste versioner af Linux-operativsystemer som CentOS, RHEL, Fedora og Ubuntu/Debian blandt andre og er forudinstalleret som standard. Pakken består af chronyd, en dæmon, der kører i brugerområdet, og chronyc et kommandolinjeprogram til overvågning og styring af chronyd.

Chrony er en alsidig NTP-implementering og fungerer godt under en lang række forhold (se sammenligningen af chrony-suite med andre NTP-implementeringer). Det kan bruges til at synkronisere systemuret med NTP-servere (fungere som en klient), med et referenceur (f.eks. En GPS-modtager) eller med en manuel tidsindgang. Det kan også bruges som en NTPv4 (RFC 5905) server eller peer til at levere en tidstjeneste til andre computere i netværket.

I denne artikel lærer du, hvordan du synkroniserer servertid med NTP i Linux ved hjælp af chrony.

Installation af Chrony i Linux Server

I de fleste Linux-systemer er chrony-kommandoen ikke installeret som standard. For at installere det skal du udføre nedenstående kommando.

$ sudo apt-get install chrony    [On Debian/Ubuntu]
$ sudo yum  install chrony       [On CentOS/RHEL]
$ sudo dnf install chrony        [On Fedora 22+]

Når installationen er afsluttet, skal du starte chrony-tjenesten og aktivere den automatisk at starte ved systemstart, og derefter kontrollere, om den er i gang.

# systemctl enable --now chronyd
# systemctl status chronyd

For at krydstjekke, om chrony nu er i orden og for at se antallet af servere og peers, der er forbundet til den, skal du køre følgende chronyc-kommando.

# chronyc activity

Kontrollerer Chrony Synchronization

For at få vist oplysninger (liste over tilgængelige servere, status og forskydninger fra det lokale ur og kilden) om de aktuelle tidskilder, som chronyd har adgang til, skal du køre følgende kommando med flagget -v viser beskrivelsen for hver kolonne.

# chronyc sources
OR
# chronyc sources -v

Vedrørende den forrige kommando skal du bruge sourcestats-kommandoen for at få vist andre nyttige oplysninger for hver af de kilder, der i øjeblikket undersøges af chronyd (såsom drivhastighed og offset-estimeringsproces).

# chronyc sourcestats
OR
# chronyc sourcestats -v

For at kontrollere kronysporing skal du køre følgende kommando.

# chronyc tracking

I output af denne kommando angiver reference-ID'et navnet (eller IP-adressen), hvis det er tilgængeligt, på den server, som computeren i øjeblikket er synkroniseret med, ud af alle de tilgængelige servere.

Konfiguration af kroniske tidskilder

Hovedkronikonfigurationsfilen findes på /etc/chrony.conf (CentOS/RHEL/Fedora) eller /etc/chrony/chrony.conf (Ubuntu/Debian).

Når du installerer et Linux OS i skyen, skal dit system have nogle standardservere eller en pool af servere tilføjet under installationsprocessen. For at tilføje eller ændre standardservere skal du åbne konfigurationsfilen til redigering:

# vim /etc/chrony.conf
OR
# vim /etc/chrony/chrony.conf

Du kan enten tilføje flere servere ved hjælp af serverdirektivet som vist.

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

eller i de fleste tilfælde er det bedst at bruge ntppool.org til at finde en NTP-server. Dette gør det muligt for systemet at forsøge at finde de nærmeste tilgængelige servere til dig. Brug pool-direktivet for at tilføje en pool:

pool 0.pool.ntp.org burst

Der er mange andre muligheder, du kan konfigurere i filen. Når du har foretaget ændringer, skal du genstarte kroniktjenesten.

$ sudo systemctl restart chrony		
OR
# systemctl restart chronyd

For at vise oplysninger om de aktuelle tidskilder, som chronyd forespørger, skal du køre følgende kommando igen.

# chronyc sources

For at kontrollere kronysporingsstatus skal du køre følgende kommando.

# chronyc tracking

For at få vist det aktuelle klokkeslæt på dit system skal du kontrollere, om systemuret er synkroniseret, og om NTP faktisk er aktivt, kør kommandoen timedatectl:

# timedatectl

Det bringer os til slutningen af denne vejledning. Hvis du har spørgsmål, kan du kontakte os via kommentarfeltet nedenfor. For mere information, tjek: Brug chrony til at konfigurere NTP fra den officielle Ubuntu-blog.