Időszinkronizálás NTP-vel

Ez az oldal a számítógép idejének pontosan tartására szolgáló módszereket írja le. Ez kiszolgálók esetén hasznos, de asztali gépek esetén nem feltétlenül szükséges (vagy kívánatos).

Az NTP az idő hálózaton keresztüli szinkronizálására szolgáló TCP/IP protokoll. Alapvetően arról van szó, hogy a kliens lekéri az aktuális időt a kiszolgálótól, és azt a saját órájának beállítására használja.

Ezen egyszerű leírás mögött hatalmas összetettség található - az NTP-kiszolgálók több rétegbe vannak szervezve, az első rétegbeli NTP-kiszolgálók atomórákhoz kapcsolódnak (gyakran GPS-en keresztül), a második és harmadik rétegbeli kiszolgálók pedig az interneten érkező tényleges kérések terhelését osztják el. A kliensszoftver is sokkal bonyolultabb, mint gondolná - ki kell szűrnie a kommunikációs késleltetéseket, és úgy kell módosítania az időt, hogy az ne zavarja az összes többi folyamatot a kiszolgálón.

Az Ubuntu két lehetőséget kínál az idő automatikus beállításához: az ntpdate és ntpd programokat.

ntpdate

Az Ubuntu alapértelmezésben tartalmazza az ntpdate programot, amely minden rendszerindításkor lefut, és beállítja az órát az Ubuntu NTP kiszolgálójának megfelelően. Ugyanakkor a kiszolgálók órái az egyes újraindítások között jelentős csúszást gyűjthetnek össze, emiatt hasznos az időt alkalmanként is pontosítani. Ennek legegyszerűbb módja a cron beállítása az ntpdate napi futtatására. Kedvenc szerkesztőjével rendszergazdai jogokkal hozzon létre egy /etc/cron.daily/ntpdate nevű fájlt a következő tartalommal:

ntpdate -s ntp.ubuntu.com

Az /etc/cron.daily/ntpdate fájlnak végrehajthatónak is kell lennie.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

Az ntpdate egy egyszerű eszköz - naponta csak egyszer képes az idő módosítására, egy nagy javítással. Az ntpd nevű NTP-démon sokkal finomabb. Kiszámítja a rendszeróra elcsúszását, és folyamatosan módosítja, így nem lesznek nagy javítások, amelyek például inkonzisztens naplókat eredményezhetnének. Ennek ára csak némi processzorteljesítmény és memória, de egy modern kiszolgálón ezek elhanyagolhatók.

To install ntpd, from a terminal prompt enter:

sudo apt-get install ntp

Időkiszolgálók módosítása

In both cases above, your system will use Ubuntu's NTP server at ntp.ubuntu.com by default. This is OK, but you might want to use several servers to increase accuracy and resilience, and you may want to use time servers that are geographically closer to you. to do this for ntpdate, change the contents of /etc/cron.daily/ntpdate to:

ntpdate -s ntp.ubuntu.com pool.ntp.org 

And for ntpd edit /etc/ntp.conf to include additional server lines:

server ntp.ubuntu.com
server pool.ntp.org

You may notice pool.ntp.org in the examples above. This is a really good idea which uses round-robin DNS to return an NTP server from a pool, spreading the load between several different servers. Even better, they have pools for different regions - for instance, if you are in New Zealand, so you could use nz.pool.ntp.org instead of pool.ntp.org. Look at http://www.pool.ntp.org/ for more details.

You can also Google for NTP servers in your region, and add these to your configuration. To test that a server works, just type:

sudo ntpdate ntp.server.name

Hivatkozások