web-dev-qa-db-fra.com

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

Je résous un problème de latence sur un réseau. Il s’agit probablement d’un problème de câblage ou de câblage, mais pendant que je cherchais une solution, j’examinais le minutage d’un paquet ping quittant une carte réseau et arrivant sur un autre serveur. Les deux linux.

Donc, tcpdump s'exécute sur les deux, et je lance un ping de l'un à l'autre, et inversement, et regarder les différences de timing aurait peut-être permis de mieux comprendre d'où venait le temps de latence.

C’est un exercice académique à présent, car j’ai besoin d’éliminer certaines causes plus fondamentales, mais j’étais curieux de savoir comment y parvenir. Étant donné que ntpd est installé et fonctionne sur deux serveurs, comment puis-je confirmer la différence d'heure actuelle entre les deux serveurs, quel que soit le niveau de précision possible - sachant que nous parlons de latence sur un réseau local, idéalement de l'ordre de la milliseconde ou alors.

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

21
Paul

Si les deux serveurs sont NTP pairs, utilisez

  ntpq -p

Qui montrera les compensations actuelles

Notez que NTP prend en compte la latence du réseau. Si vous connaissez le décalage de chaque serveur par rapport à un serveur commun NTP, vous disposez de la précision la plus précise possible à l'aide d'outils standard.


METTRE À JOUR

J'ai deux serveurs Unix utilisant NTP. Permet de voir quelle sorte 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.

J'ajouterai temporairement otherbox à 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 environ 11 ms différents.

13
RedGrittyBrick

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.

33
Alexander Garden

Vous pouvez également effectuer les opérations suivantes sur l’Hôte1:

root@Host1# clockdiff -o Host2
6
Graeme Moss