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