Kuinka synkronoida aika NTP: n kanssa Linuxissa
NTP (Network Time Protocol) on protokolla, jota käytetään tietokonejärjestelmän kellon synkronointiin automaattisesti verkon kautta. Kone voi saada järjestelmän kellon käyttämään UTC-aikaa (Coordinated Universal Time) paikallisen ajan sijasta.
Tarkan ajan ylläpito Linux-järjestelmissä, erityisesti palvelimissa, on tärkeä tehtävä monista syistä. Esimerkiksi verkkoympäristössä tarkkaa ajanottoa tarvitaan tarkkoihin aikaleimoihin paketeissa ja järjestelmälokeissa juurisyyanalyysiä varten, ongelmien havaitsemiseksi ja korrelaatioiden löytämiseksi.
Chrony on nyt oletusarvoinen NTP-toteutuspaketti Linux-käyttöjärjestelmien uusimmissa versioissa, kuten muun muassa CentOS, RHEL, Fedora ja Ubuntu/Debian, ja se on esiasennettu oletuksena. Paketti koostuu chronydista, käyttäjäalueella toimivasta daemonista, ja chronycista komentoriviohjelmasta chronydin seurantaan ja hallintaan.
Chrony on monipuolinen NTP-toteutus ja toimii hyvin monissa olosuhteissa (tutustu chrony-paketin vertailuun muihin NTP-toteutuksiin). Sitä voidaan käyttää järjestelmän kellon synkronointiin NTP-palvelinten kanssa (toimii asiakkaana), referenssikellon (esim. GPS-vastaanotin) tai manuaalisen aikatulon kanssa. Sitä voidaan käyttää myös NTPv4 (RFC 5905) -palvelimena tai vertaispalveluna aikapalvelun tarjoamiseksi verkon muille tietokoneille.
Tässä artikkelissa opit synkronoimaan palvelimen ajan NTP: n kanssa Linuxissa chrony-toiminnolla.
Chrony: n asentaminen Linux Serveriin
Useimmissa Linux-järjestelmissä chrony-komentoa ei ole asennettu oletuksena. Asenna se suorittamalla alla oleva komento.
$ sudo apt-get install chrony [On Debian/Ubuntu] $ sudo yum install chrony [On CentOS/RHEL] $ sudo dnf install chrony [On Fedora 22+]
Kun asennus on valmis, käynnistä chrony-palvelu ja salli se käynnistymään automaattisesti järjestelmän käynnistyksen yhteydessä ja tarkista sitten onko se käynnissä.
# systemctl enable --now chronyd # systemctl status chronyd
Suorita seuraava chronyc-komento tarkistaaksesi, onko chrony nyt käynnissä ja toimiiko oikein, ja nähdäksesi siihen kytkettyjen palvelimien ja ikäisensä määrän.
# chronyc activity
Tarkistetaan Chrony-synkronointi
Jos haluat näyttää tietoja (luettelo käytettävissä olevista palvelimista, tila ja siirrot paikallisesta kellosta ja lähteestä) nykyisistä aikalähteistä, joita chronyd käyttää, suorita seuraava komento ja -v
-lippu näyttää kuvauksen jokaiselle sarakkeelle.
# chronyc sources OR # chronyc sources -v
Edellisen komennon osalta voit näyttää lähdekoodit -komennolla muita hyödyllisiä tietoja kustakin chronydin parhaillaan tutkimasta lähteestä (kuten drift rate ja offset estimointiprosessi).
# chronyc sourcestats OR # chronyc sourcestats -v
Voit tarkistaa chrony-seurannan suorittamalla seuraavan komennon.
# chronyc tracking
Tämän komennon lähdössä viitetunnus määrittää sen palvelimen nimen (tai IP-osoitteen), johon tietokone on parhaillaan synkronoitu, kaikista käytettävissä olevista palvelimista.
Chrony-aikalähteiden määrittäminen
Pää chrony-määritystiedosto sijaitsee osoitteessa /etc/chrony.conf (CentOS/RHEL/Fedora) tai /etc/chrony/chrony.conf (Ubuntu/Debian).
Kun asennat Linux-käyttöjärjestelmää pilveen, järjestelmässäsi tulisi olla joitain oletuspalvelimia tai palvelinjoukko, jotka on lisätty asennuksen aikana. Voit lisätä tai muuttaa oletuspalvelimia avaamalla määritystiedoston muokkausta varten:
# vim /etc/chrony.conf OR # vim /etc/chrony/chrony.conf
Voit joko lisätä useita palvelimia palvelindirektiivin avulla kuvan mukaisesti.
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
tai useimmissa tapauksissa on parasta käyttää ntppool.org -ohjelmaa NTP-palvelimen löytämiseen. Tämän avulla järjestelmä voi yrittää löytää lähimmät saatavilla olevat palvelimet sinulle. Voit lisätä poolin käyttämällä allasdirektiiviä:
pool 0.pool.ntp.org burst
Tiedostossa on monia muita asetuksia. Kun olet tehnyt muutokset, käynnistä chrony-palvelu uudelleen.
$ sudo systemctl restart chrony OR # systemctl restart chronyd
Jos haluat näyttää tietoja ajankohdista, joita chronyd kysyy, suorita seuraava komento vielä kerran.
# chronyc sources
Voit tarkistaa chrony-seurannan tilan suorittamalla seuraavan komennon.
# chronyc tracking
Jos haluat näyttää nykyisen kellonajan järjestelmässäsi, tarkista onko järjestelmän kello synkronoitu ja onko NTP todella aktiivinen, suorita timedatectl-komento:
# timedatectl
Se tuo meidät tämän oppaan loppuun. Jos sinulla on kysyttävää, ota meihin yhteyttä alla olevan kommenttiosan kautta. Lisätietoja: chronian avulla voit määrittää NTP: n virallisesta Ubuntun blogista.