确定两台linux服务器之间的时差

Pau*_*aul 25 time ntp

我正在对网络上的延迟网络问题进行故障排除。这可能是网卡或布线问题,但是在我进行解决的过程中,我正在查看 ping 数据包离开网卡并到达另一台服务器的时间。两个linux。

所以我在两者上都运行了 tcpdump,我从一个到另一个发出 ping,然后再返回,查看时间差异可能会揭示延迟的来源。

现在这是一个学术练习,因为我需要消除一些更根本的原因,但我很好奇如何实现这一点。鉴于 ntpd 已安装并运行在两台服务器上,我如何确认两台服务器之间的当前时间差异,以达到任何可能的准确度 - 鉴于我们正在谈论本地局域网上的延迟,理想情况下是一毫秒或所以。

NTP 本身在良好条件下精确到几毫秒,并且由于两台服务器都在同一环境中,它们应该(大概)达到相似的精度水平,因此它们之间的时间差异应该只有几毫秒 -但我该如何检查呢?

Ale*_*den 35

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
Run Code Online (Sandbox Code Playgroud)

在这种情况下,服务器有大约 110 秒的差异。


Red*_*ick 15

如果两台服务器是 NTP 对等点,请使用

  ntpq -p
Run Code Online (Sandbox Code Playgroud)

这将显示当前的偏移量

请注意,NTP 考虑了网络延迟。如果您知道每个服务器与公共 NTP 服务器的偏移量,那么这与使用标准工具所能获得的准确度差不多。


更新

我有两个使用 NTP 的 unix 服务器。让我们看看他们保持什么样的时间:

$ 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
Run Code Online (Sandbox Code Playgroud)

他们使用不同的服务器,因为他们使用 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
Run Code Online (Sandbox Code Playgroud)

看起来我的两台服务器上的时间戳大约相差 11 毫秒。


小智 10

您还可以在 host1 上执行以下操作:

root@host1# clockdiff -o host2
Run Code Online (Sandbox Code Playgroud)