Ntpd vs. systemd-timesyncd - Güvenilir NTP senkronizasyonu nasıl sağlanır?


31

NTP arka plan programının durumunu sorgularken ntpdc -c sysinfoaşağıdaki çıktıyı alıyorum:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      12.77106 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  7:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.000000 s
authdelay:            0.000000 s

Bu, NTP senkronizasyonunun başarısız olduğunu gösterir. Ancak, sistem zamanı 1 saniye hassasiyetle doğrudur. Sistemimi ağ bağlantım olmadan çalıştığım süre zarfında yaptığım süre zarfında sistem süresi ~ 10s arasında değişecekti.

Bu davranış, sistemin zamanı eşitlemenin başka bir yolunu olduğunu öne sürer. Orada da systemd-timesyncd.service(yapılandırma dosyasında /etc/systemd/timesyncd.conf) olduğunu fark ettim ve timedatectl statusbana doğru zamanı verdi:

      Local time: Thu 2016-08-25 10:55:23 CEST
  Universal time: Thu 2016-08-25 08:55:23 UTC
        RTC time: Thu 2016-08-25 08:55:22
       Time zone: Europe/Berlin (CEST, +0200)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2016-03-27 01:59:59 CET
                  Sun 2016-03-27 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2016-10-30 02:59:59 CEST
                  Sun 2016-10-30 02:00:00 CET

Öyleyse benim sorum iki mekanizma arasındaki fark nedir? Bunlardan biri itiraz edildi mi? Paralel olarak kullanılabilir mi? NTP senkronizasyon durumunu sorgulamak istediğimde hangisine güvenmeliyim?

(Her iki yöntemin de başarıyı gösterdiği ve doğru zamanı sağladığı farklı bir sisteme (farklı bir ağda) sahip olduğumu unutmayın.)


2
Fedora aslında kullandığı bulduk chronyd : Yapılandırma NTP chronyd Suite kullanma
David TONHOFER

Yanıtlar:


19

systemd-timesyncd temelde, yeni sistem sürümleriyle birlikte az çok paketlenmiş, yalnızca istemci için küçük bir NTP uygulamasıdır. Tam ntpd'den daha hafiftir, ancak yalnızca zaman senkronizasyonunu destekler - yani diğer makineler için NTP sunucusu olarak davranamaz. İstemciler için ntpd'nin değiştirilmesi amaçlanmıştır.

Her ikisini de paralel olarak kullanmamalısınız, teoride olduğu gibi, aralarında hafif bir gecikme olan farklı zaman aralıklarını seçebilirler, bu da sistem saatinizin periyodik olarak "titrek" olmasına neden olur.

Durumu almak için ne yazık ki ntpdcntpd kullanıyorsanız ve timedatectltimesyncd kullanıyorsanız kullanmanız gerekir, her ikisini de okuyabilen bir program bilmiyorum.


Öyleyse, bir sistemde ntpd'nin eşitlemesi başarısız olurken diğerinde başarılı olur (her ikisi de paralel olarak sistemd-timesyncd'yi çalıştırıyor). İlgili ayarları kontrol ettiğimde, bunun bir güvenlik duvarı sorunuyla ilgili olmadığından eminim. Şu anda iki sonuç bıraktım ve başarılı olana güvenmek için sabırsızlanıyorum ancak her iki müşteri de aynı NTP protokolünü uyguladığı için şüphelerim var ancak bunlardan biri başarısız oluyor. Aslında ikisinin de çalışmasını beklerdim.
a_guest

1
Ntpd ve timesyncd farklı ayarları kullanır. Her ikisi için de aynı zaman sunucusunu ayarladınız mı?
maxf

ntp gibi bir GPS ile zamanı senkronize etmek için timesyncd kullanabilir misiniz?
bakalolo

Systemd-timesyncd, NTP'den daha az doğru olan bir SNTP istemcisidir. Okuyucular düşünme sistemine yanlış yönlendirilmemelidir-timesyncd hafif bir NTP istemcisidir.
Philip Couling

14

systemd-timesyncd saat disiplini yapmaz: saat eğitilmez veya telafi edilmez ve zaman içindeki dahili saat kayması azalmaz. Anket aralığını ayarlamak için ilkel bir mantık var, ancak disiplin olmadan ev sahibi sonsuza kadar düzensiz bir süre ile sonuçlanacak; Uzak zaman kaynağının kalitesini de değerlendiremez. 100ms'den daha büyük bir hassasiyet elde edemezsiniz. Bu, dizüstü bilgisayarlar gibi basit son kullanıcı cihazları için yeterlidir, ancak kesinlikle daha fazla zaman hassasiyeti isteyen dağıtılmış sistemler için sorunlara neden olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.