Déterminer la différence de temps entre deux serveurs Linux

23

Je dépanne un problème de réseau de latence sur un réseau. C'est probablement un problème de câblage ou de nic, mais pendant que je passais par le processus de le découvrir, je regardais les horaires d'un paquet ping quittant une carte réseau et arrivant sur un autre serveur. Les deux Linux.

J'ai donc tcpdump en cours d'exécution sur les deux, et j'émets un ping de l'un à l'autre, et vice-versa, et en regardant les différences de synchronisation, cela pourrait avoir éclairé d'où vient la latence.

C'est un exercice académique maintenant, car je dois éliminer certaines causes plus fondamentales, mais j'étais curieux de savoir comment cela pourrait être réalisé. Étant donné que ntpd est installé et fonctionne sur deux serveurs, comment puis-je confirmer l'écart temporel actuel entre les deux serveurs, quel que soit le niveau de précision possible - étant donné que nous parlons de latence sur un réseau local, qui est idéalement une milliseconde ou alors.

NTP lui-même est précis à quelques ms dans de bonnes conditions, et comme les deux serveurs sont dans le même environnement, ils devraient (vraisemblablement) atteindre un niveau de précision similaire, et devraient donc avoir une différence de temps entre eux de quelques ms seulement - mais comment puis-je vérifier cela?

Paul
la source

Réponses:

14

Si les deux serveurs sont des homologues NTP, utilisez

  ntpq -p

Qui affichera les décalages actuels

Notez que NTP prend en compte la latence du réseau. Si vous connaissez le décalage de chaque serveur par rapport à un serveur NTP commun, c'est à peu près aussi précis que vous pouvez obtenir en utilisant des outils standard.


MISE À JOUR

J'ai deux serveurs Unix utilisant NTP. Voyons quel type de temps ils gardent:

$ 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

Ils utilisent des serveurs différents car ils utilisent des serveurs du pool ntp.

Je vais ajouter temporairement une autre boîte à la configuration de ce serveur pour pouvoir mesurer directement le décalage temporel

$ 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

Il semble que les horodatages sur mes deux serveurs soient différents d'environ 11 ms.

RedGrittyBrick
la source
Ils ne le sont pas, ils obtiennent indépendamment leur temps des serveurs ntp
Paul
@Paul: Voir la mise à jour
RedGrittyBrick
Lorsque vous avez ajouté votre serveur NTP local au /etc/ntp.confclient, je suppose que vous l'avez fait en tant que tel server 192.168.1.70 iburst. De plus, avez-vous supprimé tous les autres serveurs de la liste des clients?
puk
33

ntpdate -q fait ce que vous voulez.

Exemple:

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

Dans ce cas, les serveurs ont une différence d'environ 110 secondes.

Jardin d'Alexandre
la source
Cela fonctionne oui, mais j'ai besoin d'un moyen d'obtenir une réponse plus rapide afin que je puisse ajouter l'offset dans un script de collecte de données.
SJG
8

Vous pouvez également effectuer les opérations suivantes sur host1:

root@host1# clockdiff -o host2
Graeme Moss
la source