Ermitteln Sie den Zeitunterschied zwischen zwei Linux-Servern


23

Ich behebe ein Latenz-Netzwerkproblem in einem Netzwerk. Wahrscheinlich handelt es sich um ein Problem mit dem NIC oder der Verkabelung, aber während ich es herausgefunden habe, habe ich mir die Zeiten eines Ping-Pakets angesehen, das eine Netzwerkkarte verlässt und auf einem anderen Server ankommt. Beide Linux.

Ich habe tcpdump für beide ausgeführt und stelle einen Ping von einem zum anderen und wieder zurück aus. Wenn ich mir die Zeitunterschiede ansehe, kann dies Aufschluss darüber geben, woher die Latenz stammt.

Es ist jetzt eine akademische Übung, da ich einige grundlegendere Ursachen beseitigen muss, aber ich war neugierig, wie dies erreicht werden könnte. Wenn ntpd auf zwei Servern installiert ist und ausgeführt wird, wie kann ich die aktuelle Zeitdiskrepanz zwischen den beiden Servern mit der größtmöglichen Genauigkeit überprüfen - vorausgesetzt, es handelt sich um eine Latenz in einem lokalen LAN, die idealerweise eine Millisekunde oder weniger beträgt so.

NTP selbst ist unter guten Bedingungen auf einige Millisekunden genau, und da sich beide Server in derselben Umgebung befinden, sollten sie (vermutlich) eine ähnliche Genauigkeit erreichen und daher eine zeitliche Diskrepanz von nur wenigen Millisekunden aufweisen. aber wie kann ich das überprüfen?

Antworten:


14

Wenn die beiden Server NTP-Peers sind, verwenden Sie

  ntpq -p

Welches zeigt aktuelle Offsets

Beachten Sie, dass NTP die Netzwerklatenz berücksichtigt. Wenn Sie den Versatz jedes Servers von einem gemeinsamen NTP-Server kennen, ist dies ungefähr so ​​genau, wie Sie es mit Standardtools erreichen können.


AKTUALISIEREN

Ich habe zwei Unix-Server mit NTP. Mal sehen, welche Art von Zeit sie behalten:

$ 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

Sie verwenden unterschiedliche Server, da sie Server aus dem NTP-Pool verwenden.

Ich werde vorübergehend eine andere Box zur Konfiguration dieses Servers hinzufügen, damit ich den Zeitversatz direkt messen kann

$ 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

Es sieht so aus, als wären die Zeitstempel auf meinen beiden Servern etwa 11 ms unterschiedlich.


Sie sind nicht, sie bekommen ihre Zeit unabhängig von NTP-Servern
Paul

@ Paul: Siehe Update
RedGrittyBrick

Wenn Sie Ihren lokalen NTP-Server zum /etc/ntp.confdes Clients hinzugefügt haben, gehe ich davon aus, dass Sie dies als solches getan haben server 192.168.1.70 iburst. Haben Sie außerdem alle anderen Server von der Client-Liste entfernt?
Puk

33

ntpdate -q macht was du willst.

Beispiel:

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

In diesem Fall haben die Server eine Differenz von ca. 110 Sekunden.


Das funktioniert zwar, aber ich brauche eine Möglichkeit, eine schnellere Antwort zu erhalten, damit ich den Offset in ein Datenerfassungsskript einfügen kann.
SJG

8

Sie können auf host1 auch Folgendes tun:

root@host1# clockdiff -o host2
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.