İki linux sunucusu arasındaki zaman farkını belirleme


23

Ağdaki gecikmeli ağ sorununu gideriyorum. Muhtemelen hoş ya da kablolamada bir sorun, ancak bunu çözme sürecinden geçerken, bir ağ kartı bırakıp başka bir sunucuya gelen bir ping paketinin zamanlamalarına bakıyordum. Her ikisi de linux.

Bu yüzden her ikisinde de çalışan tcpdump var ve birinden diğerine ping atıyorum ve tekrar geri döndüm ve zamanlama farklılıklarına bakmak gecikmenin nereden geldiğine ışık tutabilir.

Şimdi daha temel nedenleri ortadan kaldırmam gerektiğine göre akademik bir alıştırma, ancak bunun nasıl sağlanabileceğini merak ediyordum. Ntpd'nin iki sunucuya kurulduğu ve çalıştığı göz önüne alındığında, iki saniye arasındaki mevcut zaman tutarsızlığını ne kadar doğruluk seviyesine kadar doğrulayabilirim - ideal bir milisaniye veya yani.

NTP'nin kendisi iyi koşullar altında birkaç ms için doğrudur ve her iki sunucu da aynı ortamda bulunduğundan, (muhtemelen) benzer bir doğruluk seviyesine ulaşmalıdırlar ve bu nedenle aralarında sadece birkaç ms'lik zaman farkları olmalıdır - ama bunu nasıl kontrol edebilirim?

Yanıtlar:


14

İki sunucu NTP eşleri ise,

  ntpq -p

Mevcut ofsetleri gösterecek

NTP’nin ağ gecikmesini dikkate aldığını unutmayın. Her bir sunucunun ortak bir NTP sunucusundan dengelendiğini biliyorsanız, bu standart araçları kullanarak elde edebileceğiniz kadar kesindir.


GÜNCELLEŞTİRME

NTP kullanan iki unix sunucum var. Ne tür bir zaman tuttuklarını görelim:

$ sudo /usr/sbin/ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 hufu.ki.iif.hu  185.219.2.214    2 u   12   64    1   71.755   -0.073   0.001
 web.puflet.info 188.138.107.156  3 u   11   64    1   78.248    0.417   0.001
 84.2.44.19      10.20.75.140     2 u   10   64    1   74.721   -1.076   0.001

$ sudo /usr/sbin/ntpq -p otherbox
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp2.exa-networ 195.66.241.10    2 u  799 1024  377   43.405    7.796 218.471
+mantaray.netine 249.240.53.144   3 u  289 1024  377   34.782    8.484 212.631
*rilynn.me.uk    81.2.117.228     2 u  765 1024  377   45.665    6.804 142.023
+ntp.thirdlight. 193.67.79.202    2 u  791 1024  377   38.322    9.871 223.397

Farklı sunucular kullanıyorlar çünkü ntp havuzundaki sunucuları kullanıyorlar.

Zaman ofsetini doğrudan ölçebilmem için bu sunucunun config'una geçici olarak başka bir kutu ekleyeceğim

$ sudo vi /etc/ntp.conf
 (added `server otherbox`)

$ sudo /sbin/service ntpd restart

$ sudo /usr/sbin/ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 gamma.h3x.no    78.70.33.22      3 u    4   64    1   34.840   -0.964   0.001
 web.puflet.info 188.138.107.156  3 u    3   64    1   78.148   -1.243   0.001
 alpha.rueckgr.a 129.69.1.153     2 u    2   64    1   61.495   -2.362   0.001
 otherbox.exampl 60.155.73.34     3 u    1   64    1    0.604  -11.286   0.001

Görünüşe göre iki sunucumda zaman damgası yaklaşık 11 ms farklı.


Öyle değiller, bağımsız olarak zaman zaman ntp sunucularından geliyorlar
Paul

@Paul: Güncellemeye bakın
RedGrittyBrick

Yerel NTP sunucunuzu /etc/ntp.confistemciye eklediğinizde, böyle yaptığınızı farz ediyorum server 192.168.1.70 iburst. Ayrıca, diğer tüm sunucuları müşterinin listesinden kaldırdınız mı?
puk

33

ntpdate -q ne istiyorsan onu yap.

Örnek:

root@host1:~# ntpdate -q host2 
server host2, stratum 4, offset 109.584520, delay 0.77560
17 Apr 21:48:16 ntpdate[28849]: no server suitable for synchronization found

Bu durumda, sunucular yaklaşık 110 saniyelik bir fark gösterir.


Bu işe yarar evet, ancak daha hızlı bir yanıt almak için bir yol kullanmam gerekiyor, böylece ofseti veri toplama komut dosyasına ekleyebilirim.
SJG

8

Ayrıca host1'de aşağıdakileri yapabilirsiniz:

root@host1# clockdiff -o host2
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.