Muokataan sivua NTP

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
Tietokoneen kello ei yleensä pysy kovin hyvin ajassa ja ajan asettaminen tarkasti luotettavasta lähteestä itse voi olla hankalaa. Eräs ratkaisu tähän on käyttää Internetistä löytyviä aikapalvelimia [[wikipedia:fi:NTP_(tietotekniikka)|NTP]]-protokollan kautta. Tässä artikkelissa kerrotaan NTP-protokollaa käyttävän ntpd-[[taustaprosessi]]n asentamisesta ja käyttämisestä sekä ntpdate-ohjelmasta.
Tietokoneen kello ei yleensä pysy kovin hyvin ajassa ja ajan asettaminen tarkasti luotettavasta lähteestä voi olla hankalaa. Eräs ratkaisu tähän on käyttää Internetistä löytyviä aikapalvelimia [[wikipedia:fi:NTP_(tietotekniikka)|NTP]]-protokollan kautta. Tässä artikkelissa kerrotaan NTP-protokollaa käyttävän ntpd-[[taustaprosessi]]n asentamisesta ja käyttämisestä sekä ntpdate-ohjelmasta.


==Yleistä==
==Yleistä==
Unix-koneet käyttävät aikaa monesssa yhteydessä ja väärin käyvä kello voi aikaansaada erinäisiä kummallisuuksia. Myös kellon asettaminen, varsinkin taaksepäin, sekoittaa joitakin ohjelmia. Koneessa kannattaa siis olla jokin ohjelma, joka huolehtii kellon pitämisestä ajassa. Internetiin kytketyssä koneessa asia on helppo hoitaa hyvin.
Ntpdate asettaa kellon aikaan halutun aikapalvelimen mukaan. Ntpdaten käyttämä NTP-protokolla mahdollistaa kellon tarkan synkronoinnin aikapalvelimelta. Ntpdatessa on kuitenkin se huono puoli, että se ei säädä tietokoneen kellon käyntinopeutta. Kellon saa asetettua aikaan, mutta sitten se ryömii itsekseen taas pois ajasta. Toisaalta Ntpdaten käyttö on yksinkertaisempaa.
Ntpdate asettaa kellon aikaan halutun aikapalvelimen mukaan. Ntpdaten käyttämä NTP-protokolla mahdollistaa kellon tarkan synkronoinnin aikapalvelimelta. Ntpdatessa on kuitenkin se huono puoli, että se ei säädä tietokoneen kellon käyntinopeutta. Kellon saa asetettua aikaan, mutta sitten se ryömii itsekseen taas pois ajasta. Toisaalta Ntpdaten käyttö on yksinkertaisempaa.


Ntpd pitää yhteyttä aikapalvelimiin ja säätää kellon käyntinopeutta "jatkuvasti". Yksi hyvä puoli verrattuna esimerkiksi [[cron]]issa ajettavaan ntpdate komentoon on se, ettei kellonaika muutu hyppäyksittäin aina synkronoitaessa. Linux sisältää kellonsäätömekanismin, jota ntpd käyttää. Kun tietokoneen kellon käyntinopeus on mitattu, kello pysyy ajassa vaikka Internet-yhteys välillä katkeaisikin.
Ntpd pitää yhteyttä aikapalvelimiin ja säätää kellon käyntinopeutta "jatkuvasti". Yksi hyvä puoli verrattuna esimerkiksi [[cron]]issa ajettavaan ntpdate komentoon on se, ettei kellonaika muutu hyppäyksittäin aina synkronoitaessa. Linux sisältää kellonsäätömekanismin, jota ntpd käyttää. Kun tietokoneen kellon käyntinopeus on mitattu, ei ntpd:tä enää periaatteessa tarvita, sillä Linux säätää itse kellon käyntinopeutta. Näin kello pysyy ajassa vaikka Internet-yhteys katkeaisikin. Todellisuudessa ryömintänopeus luultavasti muuttuu ajan saatossa.


Aikapalvelimien yhteydessä mainitaan usein ''stratum''-arvo. Stratum kertoo, miten kaukana atomikellosta tai muusta tarkasta ajanlähteestä kyseinen palvelin on. Stratum 0 on itse kello tai laite, joka ylläpitää aikaa tai saa sen radiolähetyksistä, esimerkiksi GPS-signaalista. Stratum 1 on aikapalvelin, joka on suoraan kytkettynä em. kelloon. Stratum 2 on stratum 1 -palvelimelta ajan saava palvelin jne.
Aikapalvelimien yhteydessä mainitaan usein ''stratum''-arvo. Stratum kertoo, miten kaukana atomikellosta tai muusta tarkasta ajanlähteestä kyseinen palvelin on. Stratum 0 on itse kello tai laite, joka ylläpitää aikaa tai saa sen radiolähetyksistä, esimerkiksi GPS-signaalista. Stratum 1 on aikapalvelin, joka on suoraan kytkettynä em. kelloon. Stratum 2 on stratum 1 -palvelimelta ajan saava palvelin jne.
Rivi 13: Rivi 11:


==Ntpdate ==
==Ntpdate ==
Ntpdate löytyy yleensä jakelun paketinhallinnasta nimellä <tt>ntpdate</tt>. Tämän paketin [[ohjelmien asentaminen|asentamisen]] jälkeen kellon voi asettaa aikaan komennolla
Ntpdate löytyy yleensä jakelun paketinhallinnasta nimellä <tt>ntpdate</tt>. Tämän paketin [[ohjelmien asentaminen|asentamisen]] jälkeen kellon voi asettaa aikaan koemnnolla
  ntpdate aikapalvelin
  ntpdate aikapalvelin
Esimerkiksi kellonaika päivitettäisiin funetin aikapalvelimelta seuraavasti:
Esimerkiksi kellonaika päivitettäisiin funetin aikapalvelimelta seuraavasti:
Rivi 19: Rivi 17:
  3 Oct 16:36:42 ntpdate[3637]: adjust time server 193.166.5.177 offset -0.006747 sec
  3 Oct 16:36:42 ntpdate[3637]: adjust time server 193.166.5.177 offset -0.006747 sec
Ntpdate tulostaa käytetyn aikapalvelimen osoitteen ja tiedon siitä, paljonko kellonaikaa jouduttiin siirtämään (tässä vain muutamia millisekunteja).
Ntpdate tulostaa käytetyn aikapalvelimen osoitteen ja tiedon siitä, paljonko kellonaikaa jouduttiin siirtämään (tässä vain muutamia millisekunteja).
Ntpd:n tämä toiminnallisuus sisältyy nykyään ohjelmaan ntpd, eri valitsimilla, ja ntpdate-ohjelmasta ollaan luopumassa.


==Ntpd ==
==Ntpd ==
Rivi 27: Rivi 23:
Ntp-ohjelmisto löytyy esimerkiksi NTP-projektin kotisivuilta, mutta se löytyy myös käytännössä kaikkien jakeluiden [[paketinhallintajärjestelmä|paketinhallinnasta]] (etsi paketteja ntp, ntpd ja ntpdate).
Ntp-ohjelmisto löytyy esimerkiksi NTP-projektin kotisivuilta, mutta se löytyy myös käytännössä kaikkien jakeluiden [[paketinhallintajärjestelmä|paketinhallinnasta]] (etsi paketteja ntp, ntpd ja ntpdate).


Seuraavaksi pitää muokata <tt>ntp.conf</tt>-[[asetustiedosto]]a, joka luultavimmin löytyy /etc-[[Linuxin hakemistorakenne|hakemistosta]] (voit etsiä sitä komennolla <tt>[[locate]] ntp.conf / locate ntpd.conf</tt>). Jakelusta riippuen tiedostossa voi jo olla joitain asetuksia, mutta tarkista ainakin aikapalvelimet. Otetaan käyttöön [http://www.pool.ntp.org/fi/ pool.ntp.org-palvelimet]:
Seuraavaksi pitää muokata <tt>ntp.conf</tt>-[[asetustiedosto]]a, joka luultavimmin löytyy /etc-[[Linuxin hakemistorakenne|hakemistosta]] (voit etsiä sitä komennolla <tt>[[locate]] ntp.conf / locate ntpd.conf</tt>). Jakelusta riippuen tiedostossa voi jo olla joitain asetuksia, mutta ainakin aikapalvelimet sinne pitää määrittää. Lista julkisista aikapalvelimista löytyy mm. [http://www.eecis.udel.edu/~mills/ntp/clock2a.html täältä] ja ainakin ntp1.inet.fi on olemassa. Otetaan käyttöön esimerkiksi funetin ja eunetin palvelimet lisäämällä tiedostoon rivit:
server 0.fi.pool.ntp.org
  server ntp.eunet.fi
  server 1.fi.pool.ntp.org
  server ntp1.funet.fi
server 2.fi.pool.ntp.org
  server 3.fi.pool.ntp.org


HUOM! Ntpd kuuntelee paitsi aikapalvelimia, se myös saattaa ottaa vastaan yhteyksiä mistä tahansa. Kannattaa siis varmistaa, että vain omalta koneelta on mahdollista päästä antamaan komentoja käynnissä olevalle ntpd:lle varmistamalla, että asetustiedostosta löytyy rivit:
HUOM! Ntpd kuuntelee paitsi aikapalvelimia, se myös saattaa ottaa vastaan yhteyksiä mistä tahansa. Kannattaa siis varmistaa, että vain omalta koneelta on mahdollista päästä antamaan komentoja käynnissä olevalle ntpd:lle varmistamalla, että asetustiedostosta löytyy rivit:
Rivi 43: Rivi 37:
=== Käyttö ===
=== Käyttö ===
Edellä tehtyjen toimenpiteiden jälkeen ntpd:n pitäisi olla valmis käynnistettäväksi. Ntpd-palvelun käynnistäminen on jakelukohtainen toimenpide, ja lisäksi jotkin jakelut voivat vaatia lisäasetuksia. Käynnistäminen onnistuu yleensä seuraavasti:
Edellä tehtyjen toimenpiteiden jälkeen ntpd:n pitäisi olla valmis käynnistettäväksi. Ntpd-palvelun käynnistäminen on jakelukohtainen toimenpide, ja lisäksi jotkin jakelut voivat vaatia lisäasetuksia. Käynnistäminen onnistuu yleensä seuraavasti:
  # systemctl start ntp
  # ntpd
tai
# /etc/init.d/ntpd start
tai
tai
  # service ntp start
  # /etc/init.d/ntp start
tai
tai
  # ntpd
  # /etc/rc.d/rc.ntpd start


Kun ntpd-palvelu on ollut käynnissä jonkin aikaa, voi tilanteen tarkistaa <tt>ntpq -p</tt> -komennolla:
Kun ntpd-palvelu on ollut käynnissä jonkin aikaa, voi tilanteen tarkistaa <tt>ntpq -p</tt> -komennolla:
  $ ntpq -p
  $ ntpq -p
      remote           refid     st t when poll reach   delay   offset jitter
remote refid st t when poll reach delay offset jitter
  ==============================================================================
  ==============================================================================
  *ntp3.tdc.fi     .PPS.           1 u 124  64  376  247.901  -9.736 580.067
  -ns3.inet.fi seepra.express. 2 u 599 1024 377 66.266 -22.486 0.417
  +ntp.viidakko.ne 62.237.86.234    2 u   52  64  377 249.327  19.665  37.129
  +ns1.eunet.fi ntp2.sth.netnod 2 u 385 1024 377 88.612 11.875 7.267
  +cl-849.hel-01.f 62.237.86.238    2 u   26  64  377 139.049    6.629 229.462
  +ntp1.funet.fi ntp4.mikes.fi 2 u 384 1024 377 94.987 15.874 21.865
  -vonku.hankala.f 193.79.237.14    2 u   22  64  377 219.853    9.170 625.716
  *ns2.clinet.fi ntp1.sth.netnod 2 u 376 1024 377 70.285 3.683 3.461


Tulosteessa tähti palvelimen nimen edessä tarkoittaa tällä hetkellä pääpalvelimeksi valittua aikapalvelinta, plus tarkoittaa kandidaattia ja miinus syystä tai toisesta hylättyä palvelinta. Reference id:n jälkeen tulee palvelimen stratum-arvo st, tyyppi t (local, unicast, multicast tai broadcast), miten kauan sitten edellinen NTP-paketti vastaanotettiin (when) ja mikä on kyselyväli (poll) sekunneissa. Viive (delay), aikaero (offset) ja hajonta (jitter) ovat millisekunneissa.
Tulosteessa tähti palvelimen nimen edessä tarkoittaa tällä hetkellä pääpalvelimeksi valittua aikapalvelinta, plus tarkoittaa kandidaattia ja miinus syystä tai toisesta hylättyä palvelinta. Reference id:n jälkeen tulee palvelimen stratum-arvo st, tyyppi t (local, unicast, multicast tai broadcast), miten kauan sitten edellinen NTP-paketti vastaanotettiin (when) ja mikä on kyselyväli (poll) sekunneissa. Viive (delay), aikaero (offset) ja hajonta (jitter) ovat millisekunneissa.
Rivi 63: Rivi 59:
*Jos ntpd ei suostu käynnistymään, vaan valittaa siitä, että koneesi kello on liian kaukana oikeasta ajasta, voit asettaa kellon käsin suurin piirtein oikeaan aikaan [[date]]-komennolla tai pakottaa ntpd:n asettamaan ajan komennolla
*Jos ntpd ei suostu käynnistymään, vaan valittaa siitä, että koneesi kello on liian kaukana oikeasta ajasta, voit asettaa kellon käsin suurin piirtein oikeaan aikaan [[date]]-komennolla tai pakottaa ntpd:n asettamaan ajan komennolla
  ntpd -q -g
  ntpd -q -g
Tämä vastaa suurin piirtein sitä, mitä komento ntpdate tekee. Ntpdate-ohjelma on vanhentunut ja se on poistumassa ohjelmistosta. Huomaa, että varsinkin ajan muuttaminen taaksepäin voi sekoittaa monia ohjelmia.
Tämä vastaa suurin piirtein sitä, mitä komento ntpdate tekee. Ntpdate-ohjelma on vanhentunut ja se on poistumassa ohjelmistosta.


*Mikäli <tt>ntp.conf</tt>-tiedostoon tekemäsi asetukset mystisesti katoavat ja käytät DHCP:tä, voi syynä olla se, että DHCP-asiakasohjelma saa DHCP-palvelimelta jotkin asetukset ja ylikirjoittaa <tt>ntp.conf</tt>:n. Tämän voi luultavasti kaikissa DHCP-asiakasohjelmissa myös kieltää.
*Mikäli <tt>ntp.conf</tt>-tiedostoon tekemäsi asetukset mystisesti katoavat ja käytät DHCP:tä, voi syynä olla se, että DHCP-asiakasohjelma saa DHCP-palvelimelta jotkin asetukset ja ylikirjoittaa <tt>ntp.conf</tt>:n. Tämän voi luultavasti kaikissa DHCP-asiakasohjelmissa myös kieltää.  


==Katso myös==
==Katso myös==
Rivi 72: Rivi 68:
==Aiheesta muualla==
==Aiheesta muualla==
*[http://www.ntp.org/ Projektin kotisivu]
*[http://www.ntp.org/ Projektin kotisivu]
*[https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon ArchWiki: Network Time Protocol daemon]
*[http://www.mikes.fi/ Mittaustekniikan keskus], [http://www.mikes.fi/frameset.aspx?pageID=815 NTP-palvelu] ja [http://www.mikes.fi/frameset.aspx?url=page.aspx?contentID=318 NTP-palvelimet]
*[http://www.mikes.fi/ Mittatekniikan keskus]: [http://www.mikes.fi/frameset.aspx?pageID=815 NTP-palvelu] ja [http://www.mikes.fi/frameset.aspx?url=page.aspx?contentID=318 NTP-palvelimet]
 
[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Ylläpitotyökalut]]
[[Luokka:Ylläpitotyökalut]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/NTP