21

Я устраняю проблему с задержкой в сети. Это, вероятно, проблема с никелем или кабелями, но пока я разбирался с ней, я смотрел, как пинг-пакет покидает сетевую карту и попадает на другой сервер. Оба linux.

Итак, у меня запущен tcpdump, и я запускаю эхо-запрос от одного к другому и обратно, и, глядя на разницу во времени, можно было бы пролить свет на то, откуда возникает задержка.

Сейчас это академическое упражнение, поскольку мне нужно устранить некоторые более фундаментальные причины, но мне было любопытно, как этого можно достичь. Учитывая, что ntpd установлен и работает на двух серверах, как я могу подтвердить текущую временную несоответствие между этими двумя серверами с какой бы то ни было степенью точности - учитывая, что мы говорим о задержке на локальной сети, которая в идеале равна миллисекунде или так.

Сам NTP с точностью до пары мс при хороших условиях, и, поскольку оба сервера находятся в одной и той же среде, они должны (предположительно) достичь одинакового уровня точности и поэтому должны иметь временную несоответствие между ними всего лишь несколько мс - но как я могу это проверить?

3 ответа3

32

ntpdate -q делает то, что вы хотите.

Пример:

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

В этом случае разница между серверами составляет около 110 секунд.

13

Если два сервера являются пирами NTP, используйте

  ntpq -p

Который покажет текущие смещения

Обратите внимание, что NTP учитывает сетевую задержку. Если вы знаете смещение каждого сервера от общего NTP-сервера, это примерно так же точно, как вы можете получить, используя стандартные инструменты.


ОБНОВИТЬ

У меня есть два сервера Unix, использующие NTP. Давайте посмотрим, какое время они держат:

$ 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

Они используют разные серверы, потому что они используют серверы из пула NTP.

Я временно добавлю otherbox в конфигурацию этого сервера, чтобы я мог непосредственно измерить смещение времени

$ 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

Похоже, что метки времени на моих двух серверах отличаются примерно на 11 мс.

6

Вы также можете сделать следующее на host1:

root@host1# clockdiff -o host2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .