Determina a diferença de tempo entre dois servidores linux

21

Estou solucionando um problema de rede de latência em uma rede. É provavelmente um problema de nic ou cabeamento, mas enquanto eu estava passando pelo processo de descobrir isso, eu estava olhando para os horários de um pacote de ping saindo de uma placa de rede e chegando em outro servidor. Ambos linux.

Então, eu tenho o tcpdump rodando em ambos, e eu emito um ping de um para o outro, e de volta, e olhando para as diferenças de tempo pode ter esclarecido de onde vem a latência.

É um exercício acadêmico agora, já que preciso eliminar algumas causas mais fundamentais, mas fiquei curioso para saber como isso poderia ser alcançado. Dado que o ntpd está instalado e funcionando em dois servidores, como posso confirmar a discrepância de tempo atual entre os dois servidores, para qualquer nível de precisão possível - dado que estamos falando de latência em uma lan local, que é idealmente um milissegundo ou então.

O próprio NTP é preciso para um par de ms sob boas condições, e como ambos os servidores estão no mesmo ambiente, eles devem (presumivelmente) atingir um nível semelhante de precisão e, portanto, devem ter uma discrepância de tempo entre eles ms poucos - mas como posso verificar isso?

    
por Paul 05.04.2012 / 06:16

3 respostas

13

Se os dois servidores forem pares de NTP, use

  ntpq -p

Que mostrará as compensações atuais

Observe que o NTP leva em conta a latência da rede. Se você conhece o deslocamento de cada servidor de um servidor NTP comum, isso é o mais preciso que você pode obter usando ferramentas padrão.

UPDATE

Eu tenho dois servidores unix usando o NTP. Vamos ver que tipo de tempo eles estão mantendo:

$ 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

Eles estão usando servidores diferentes porque usam servidores do pool ntp.

Adicionarei temporariamente otherbox à configuração deste servidor para poder medir diretamente o deslocamento de tempo

$ 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 os timestamps nos meus dois servidores são de cerca de 11 ms diferentes.

    
por 05.04.2012 / 11:34
31

ntpdate -q faz o que você deseja.

Exemplo:

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

Neste caso, os servidores têm uma diferença de cerca de 110 segundos.

    
por 18.04.2014 / 03:52
6

Você também pode fazer o seguinte no host1:

root@host1# clockdiff -o host2
    
por 09.03.2017 / 17:08

Tags