Ana içeriğe geç

Zaman Senkronizasyonu (NTP)

NTP, bir ağ üzerinden zaman senkronizasyonu için bir TCP/IP protokolüdür. Temel olarak bir istemci bir sunucudan geçerli saati ister ve bunu kendi saatini ayarlamak için kullanır.

Bu basit açıklamanın arkasında, çok fazla karmaşıklık vardır - atomik saatlere bağlı birinci kademe NTP sunucuları ile NTP sunucularının katmanları ve internet üzerinden talepleri fiilen işleme yükünü yayan ikinci ve üçüncü kademe sunucular. Ayrıca istemci yazılımı, düşündüğünüzden çok daha karmaşıktır - iletişim gecikmelerini hesaba katmalı ve sunucuda çalışan diğer tüm işlemleri altüst etmeyecek şekilde zamanı ayarlamalıdır. Ama neyse ki tüm bu karmaşıklık sizden gizli!

Ubuntu varsayılan olarak zamanı senkronize etmek için timedatectl / timesyncd kullanır ve kullanıcılar isteğe bağlı olarak Ağ Zaman Protokolünü sunmak için chrony kullanabilir.

Sistem saatinizi senkronize etme

timesyncd varsayılan olarak kullanılabilir ve yalnızca ntpdate'in değil, aynı zamanda chrony'nin (veya daha önce ntpd'nin) istemci kısmının yerini alır. Öyleyse, önyükleme ve ağ etkinleştirmede ntpdate tarafından sağlanan tek adımlı eylemin yanı sıra, artık timesyncd varsayılan olarak yerel saatinizi düzenli olarak kontrol eder ve senkronize halde tutar. Ayrıca, zaman güncellemelerini yerel olarak depolar, böylece yeniden başlatmadan sonra, varsa monoton olarak ilerler.

Eğer chrony kuruluysa, timedatectl geri adım atarak chrony'nin zamanı tutmasına izin verin.

ntpdate, timedatectl (veya chrony) lehine kullanımdan kaldırılmış olarak kabul edilir ve dolayısıyla artık varsayılan olarak yüklenmez. timesyncd genellikle zamanınızı senkronize tutmak için doğru olanı yapar ve chrony daha karmaşık durumlarda yardımcı olur. Ancak bilinen birkaç özel ntpdate kullanım durumundan birine sahipseniz, aşağıdakileri göz önünde bulundurun:

Tek seferlik bir senkronizasyona ihtiyacınız varsa şunları kullanın:

chronyd -q

Timedatectl ve timesyncd'yi yapılandırma

Timedatectl ve timesyncd üzerinden zaman ve zaman yapılandırmasının mevcut durumu aşağıdaki kod ile kontrol edilebilir.

timedatectl status
$ timedatectl status
                       Local time: Fr 2018-02-23 08:47:13 UTC
                   Universal time: Fr 2018-02-23 08:47:13 UTC
                         RTC time: Fr 2018-02-23 08:47:13
                        Time zone: Etc/UTC (UTC, +0000)
        System clock synchronized: yes
 systemd-timesyncd.service active: yes
                  RTC in local TZ: no

Chrony çalışıyorsa, otomatik olarak şu konuma geçecektir:

[...]
 systemd-timesyncd.service active: no 

timesyncd'nin kendisi hala normal bir hizmettir, bu nedenle durumunu da daha ayrıntılı olarak kontrol edebilirsiniz.

$ systemctl status systemd-timesyncd
  systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-02-23 08:55:46 UTC; 10s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 3744 (systemd-timesyn)
   Status: "Synchronized to time server 91.189.89.198:123 (ntp.ubuntu.com)."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           |-3744 /lib/systemd/systemd-timesyncd

Feb 23 08:55:46 bionic-test systemd[1]: Starting Network Time Synchronization...
Feb 23 08:55:46 bionic-test systemd[1]: Started Network Time Synchronization.
Feb 23 08:55:46 bionic-test systemd-timesyncd[3744]: Synchronized to time server 91.189.89.198:123 (ntp.ubuntu.com).

Sisteminizi senkronize etmeye ek olarak ayrıca NTP bilgilerini sunmak istiyorsanız bir NTP sunucusuna ihtiyacınız vardır. Chrony, ntpd ve open-ntp ile birkaç seçenek vardır. Önerilen çözüm chrony'dir.

chrony(d)

NTP arka plan programı chronyd, sistem saatinizin kaymasını hesaplar ve bunu sürekli olarak ayarlar, böylece örneğin tutarsız günlüklere yol açabilecek büyük düzeltmeler olmaz. Maliyet az bir işlem gücü ve bellektir, ancak modern bir sunucu için bu genellikle ihmal edilebilir düzeydedir.

Kurulum

Chrony'yi yüklemek için, bir terminal isteminden şunu girin:

sudo apt install chrony

Bu kurulum size iki şey sağlayacaktır:

  • chronyd - NTP protokolü aracılığıyla senkronize edilecek ve sunulacak gerçek arka plan programı

  • chronyc - chrony daemon için komut satırı arayüzü

Chronyd Yapılandırması

Yapılandırma dosyasının dizin yolu /etc/chrony/chrony.conf şeklindedir. Varsayılan olarak aşağıdaki sunucular yapılandırılmıştır.

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst

Yapılandırma seçenekleriyle ilgili daha fazla ayrıntı için aşağıdaki komutu girebilirsiniz.

man chrony.conf

Herhangi bir yapılandırma dosyasını değiştirdikten sonra, chrony'yi yeniden başlatmanız gerekir:

sudo systemctl restart chrony.service

Durumu göster

Chrony arka plan programının durumunu sorgulamak için chronyc kullanın. Örneğin, mevcut ve seçilen zaman kaynaklarına genel bir bakış için.

chronyc sources

MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ gamma.rueckgr.at              2   8   377   135  -1048us[-1048us] +/-   29ms
^- 2b.ncomputers.org             2   8   377   204  -1141us[-1124us] +/-   50ms
^+ www.kashra.com                2   8   377   139  +3483us[+3483us] +/-   18ms
^+ stratum2-4.NTP.TechFak.U>     2   8   377   143  -2090us[-2073us] +/-   19ms
^- zepto.mcl.gg                  2   7   377     9   -774us[ -774us] +/-   29ms
^- mirrorhost.pw                 2   7   377    78   -660us[ -660us] +/-   53ms
^- atto.mcl.gg                   2   7   377     8   -823us[ -823us] +/-   50ms
^- static.140.107.46.78.cli>     2   8   377     9  -1503us[-1503us] +/-   45ms
^- 4.53.160.75                   2   8   377   137    -11ms[  -11ms] +/-  117ms
^- 37.44.185.42                  3   7   377    10  -3274us[-3274us] +/-   70ms
^- bagnikita.com                 2   7   377    74  +3131us[+3131us] +/-   71ms
^- europa.ellipse.net            2   8   377   204   -790us[ -773us] +/-   97ms
^- tethys.hot-chilli.net         2   8   377   141   -797us[ -797us] +/-   59ms
^- 66-232-97-8.static.hvvc.>     2   7   377   206  +1669us[+1686us] +/-  133ms
^+ 85.199.214.102                1   8   377   205   +175us[ +192us] +/-   12ms
^* 46-243-26-34.tangos.nl        1   8   377   141   -123us[ -106us] +/-   10ms
^- pugot.canonical.com           2   8   377    21    -95us[  -95us] +/-   57ms
^- alphyn.canonical.com          2   6   377    23  -1569us[-1569us] +/-   79ms
^- golem.canonical.com           2   7   377    92  -1018us[-1018us] +/-   31ms
^- chilipepper.canonical.com     2   8   377    21  -1106us[-1106us] +/-   27ms

chronyc sourcestats

210 Number of sources = 20
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
gamma.rueckgr.at           25  15   32m     -0.007      0.142   -878us   106us
2b.ncomputers.org          26  16   35m     -0.132      0.283  -1169us   256us
www.kashra.com             25  15   32m     -0.092      0.259  +3426us   195us
stratum2-4.NTP.TechFak.U>  25  14   32m     -0.018      0.130  -2056us    96us
zepto.mcl.gg               13  11   21m     +0.148      0.196   -683us    66us
mirrorhost.pw               6   5   645     +0.117      0.445   -591us    19us
atto.mcl.gg                21  13   25m     -0.069      0.199   -904us   103us
static.140.107.46.78.cli>  25  18   34m     -0.005      0.094  -1526us    78us
4.53.160.75                25  10   32m     +0.412      0.110    -11ms    84us
37.44.185.42               24  12   30m     -0.983      0.173  -3718us   122us
bagnikita.com              17   7   31m     -0.132      0.217  +3527us   139us
europa.ellipse.net         26  15   35m     +0.038      0.553   -473us   424us
tethys.hot-chilli.net      25  11   32m     -0.094      0.110   -864us    88us
66-232-97-8.static.hvvc.>  20  11   35m     -0.116      0.165  +1561us   109us
85.199.214.102             26  11   35m     -0.054      0.390   +129us   343us
46-243-26-34.tangos.nl     25  16   32m     +0.129      0.297   -307us   198us
pugot.canonical.com        25  14   34m     -0.271      0.176   -143us   135us
alphyn.canonical.com       17  11  1100     -0.087      0.360  -1749us   114us
golem.canonical.com        23  12   30m     +0.057      0.370   -988us   229us
chilipepper.canonical.com  25  18   34m     -0.084      0.224  -1116us   169us