Determine la diferencia horaria entre dos servidores Linux

23

Estoy solucionando un problema de red de latencia en una red. Probablemente sea un problema de cableado o agradable, pero mientras estaba pasando por el proceso de resolverlo, estaba mirando los tiempos de un paquete de ping que salía de una tarjeta de red y llegaba a otro servidor. Ambos linux.

Así que tengo tcpdump ejecutándose en ambos, y emito un ping de uno a otro, y viceversa, y mirando las diferencias de tiempo podría haber arrojado luz sobre el origen de la latencia.

Es un ejercicio académico ahora, ya que necesito eliminar algunas causas más fundamentales, pero tenía curiosidad sobre cómo se podría lograr esto. Dado que ntpd está instalado y ejecutándose en dos servidores, ¿cómo puedo confirmar la discrepancia de tiempo actual entre los dos servidores, con el nivel de precisión posible, dado que estamos hablando de latencia en un LAN local, que es idealmente un milisegundo o asi que.

El NTP en sí mismo tiene una precisión de un par de ms en buenas condiciones, y dado que ambos servidores están en el mismo entorno, deberían (presumiblemente) alcanzar un nivel de precisión similar y, por lo tanto, deberían tener una discrepancia de tiempo entre ellos de unos pocos ms: pero ¿cómo puedo verificar esto?

Paul
fuente

Respuestas:

14

Si los dos servidores son pares NTP, use

  ntpq -p

Que mostrará las compensaciones actuales

Tenga en cuenta que NTP tiene en cuenta la latencia de la red. Si conoce el desplazamiento de cada servidor de un servidor NTP común, eso es lo más preciso que puede obtener con herramientas estándar.


ACTUALIZAR

Tengo dos servidores Unix que usan NTP. Veamos qué tipo de tiempo están guardando:

$ 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

Están usando diferentes servidores porque usan servidores del grupo ntp.

Agregaré temporalmente otherbox a la configuración de este servidor para poder medir directamente el desplazamiento de tiempo

$ 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

Parece que las marcas de tiempo en mis dos servidores son aproximadamente 11 ms diferentes.

RedGrittyBrick
fuente
No son, consiguen de forma independiente su tiempo de servidores NTP
Paul
@Paul: Ver actualización
RedGrittyBrick
Cuando agregó su servidor NTP local al /etc/ntp.confdel cliente, asumo que lo hizo como tal server 192.168.1.70 iburst. Además, ¿eliminó todos los demás servidores de la lista de clientes?
puk
33

ntpdate -q hace lo que quieres

Ejemplo:

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

En este caso, los servidores tienen una diferencia de aproximadamente 110 segundos.

Alexander Garden
fuente
Esto funciona sí, pero necesito alguna forma de obtener una respuesta más rápida para poder agregar el desplazamiento en un script de recopilación de datos.
SJG
8

También puede hacer lo siguiente en host1:

root@host1# clockdiff -o host2
Graeme Moss
fuente