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.