我有 20 台左右的 linux 服务器,我想将它们的所有时钟同步到单个 NTP 服务器,该服务器与我的服务器位于同一机架和交换机中。没有什么是虚拟化的。
我们的管理员很难将各种机器上的时钟同步到大约 500 毫秒以内。我已经猜到了,这篇文章暗示我们应该能够将 linux 盒子同步到源和彼此的 2 毫秒内。
我对 NTP 的期望是否不合理?关于管理员应该做什么/检查的任何提示?
我处理这个问题,默认情况下 ntpd 作为我的 linux 服务器上的守护程序配置?但是我们应该在哪里查找日志文件呢?是否有任何正常的日志文件,如果没有,我们如何配置?
pool.ntp.org 的回复似乎最近发生了变化。这让我的 CentosOS 6 ntp 服务器不满意。
$ host pool.ntp.org
pool.ntp.org has address 0.0.0.2
pool.ntp.org has address 83.209.8.142
pool.ntp.org has address 130.236.254.17
pool.ntp.org has address 195.178.181.98
$ /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
can't create socket connection#
$ strace -f /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
...
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("130.236.254.17")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("195.178.181.98")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 5
connect(5, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, …Run Code Online (Sandbox Code Playgroud) 我已经尝试了几个关于如何在 ubuntu 上设置本地 ntp 服务器的指南,但似乎没有一个可以正常工作。由于某种原因,我的服务器在时间上严重漂移,我必须将它们的时间保持在一起,因为我运行的数据库需要这样做。
目前,我的服务器(ip .24)运行这个 /etc/ntp.conf:
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
# Give localhost full access rights
restrict 127.0.0.1
# Give machines on our network access to query us
restrict 192.168.178.0 mask 255.255.255.0 nomodify notrap
broadcast 192.168.178.0
Run Code Online (Sandbox Code Playgroud)
而在“客户”上:
# Point to our network's master time server
server 192.168.178.24 iburst
fudge 192.168.178.24 stratum 10
restrict default ignore
restrict ::1
restrict 127.0.0.1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一台机器与另一台机器进行 ntp 同步。两者都运行 Debian lenny,我在两者中都安装了 ntp 包。我通过放置将服务器配置为与外部机器同步
server IP.ADDRESS iburst
Run Code Online (Sandbox Code Playgroud)
在它的 /etc/ntp.conf 文件中。
我将客户端配置为与服务器同步,只将服务器放在客户端的 /etc/ntp.conf 中。
然而,它们似乎并不同步。ntpq 显示状态是 INIT,根据文档,它表明“关联尚未第一次同步”
# ntpq -n
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
10.99.84.134 .INIT. 16 u 665 1024 0 0.000 0.000 0.000
Run Code Online (Sandbox Code Playgroud)
ntpq -> 如在条件行中显示“拒绝”:
# ntpq
ntpq> as
ind assID status conf reach auth condition last_event cnt
===========================================================
1 40102 8000 yes yes none reject
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?(我宁愿不使用 ntpdate)。
出于教育目的,我想追踪 NTP 服务器链,例如 0.de.pool.ntp.org 回到第 1 层 NTP 服务器。我怎样才能做到这一点?
我找到了 ntptrace,但它不起作用:
/home/xyzdragon# ntptrace
localhost: stratum 2, offset -0.009285, synch distance 0.010221
192.53.103.104: timed out, nothing received
***Request timed out
Run Code Online (Sandbox Code Playgroud)
我尝试/usr/bin/ntptrace通过手动重现该 Perl 脚本的步骤进行调试:
home/xyzdragon# ntpq -n
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
+78.47.249.19 56.1.129.236 3 - 129 128 376 27.339 14.405 12.857
ntpq> host 78.47.249.19
current host set to 78.47.249.19
ntpq> pe
78.47.249.19: timed out, nothing received
***Request timed out
Run Code Online (Sandbox Code Playgroud)
其实ntptrace …
我们有一些主机由于ntpd配置错误而失去同步,ntp 服务器无法访问。我们在某些主机 (CentOS 6) 上的时钟现在已经超过 30 秒了(在未来,大多数主机似乎如此)。
从文档看来ntpd,我们可用的最快同步就在附近500us/s- 有没有办法增加它,以便时钟更新得更快,但不是立即更新?例如,我们希望将此设置为类似100ms/s.
这可能吗?如果是这样,我们如何才能安全地做到这一点?
危险吗?
我们的系统监控有时会通知我 ntpd 中的偏移量过高。发出 ntpdate 时,它显示没有。由于ntpd调整时间很慢,它似乎“认为”有一个需要调整的偏移量。但是 ntpdate 不应该也显示这个偏移量吗?我有什么误解?
这是在 NTP 服务器不久不可用并且似乎重新启动之后发生的,它返回时的偏移量接近 20 秒并且 NTP 调整缓慢,所以基本上它只是做了它的设计。但是为什么一直ntpdate -q说没有offset呢?
# ntpq -p && echo '###' && ntpdate -q 123.123.123.123
remote refid st t when poll reach delay offset jitter
==============================================================================
*nt0 10.123.123.123 2 u 48 64 377 0.181 209.956 8.334
###
server 10.123.123.123, stratum 1, offset 0.207451, delay 0.04231
1 Dec 10:45:28 ntpdate[19895]: adjust time server 10.123.123.123 offset 0.207451 sec
Run Code Online (Sandbox Code Playgroud)
当我比较两个不同系统的输出时,一个有偏移,一个没有,发布echo +%H:%M:%S-%N表明 ntpd 是正确的,而不是 ntpdate。但为什么?
ntpd在运行 Linux Debian 8.3 的 LAMP 服务器上是否需要守护进程/服务?
我已经禁用了一些明显的服务,但我不确定这个服务。
我有一个运行多个 Linux 机器的虚拟环境,我正在计划如何管理所有的 ntp 架构。
据我所知,在 'ntp.conf' 文件中有两台服务器是没有用的,客户端应该只有一个或三个以上的 ntp 服务器,所以,我的第一种方法是让一个服务器 'server1' 指向4 台公共服务器,特别是 RHEL 的服务器,然后让其他盒子“server2”指向 server1,下面所有其他 Linux 服务器都指向 server2,但我观察到了这种架构的奇怪行为。我见过一些服务器在 server2 和它们之间不同步,甚至有时 server1 和 server2 没有完全同步。
我的第一个问题是,为什么会这样?
然后我想出了另一种架构,该架构具有相同的 server1 指向公共 ntp 服务器,然后有三个服务器,'server2'、'server3' 和 'server4' 指向 server1,下面的所有其他机器都指向 server2-4。
这种架构是否有可能改善我所有网络内的同步?
还是同步之间的性能相同?
构建它的最佳方法是什么?
已编辑
这是ntpq -p来自 server1的输出:
remote refid st t when poll reach delay offset jitter
=========================================================================
*Time100.Stupi. .PPS. 1 u 317 1024 377 182.786 5.327 3.022
LOCAL(0) .LOCL. 10 l 46h 64 0 0.000 0.000 0.000
Run Code Online (Sandbox Code Playgroud)
这里是ntp.conf:
# …Run Code Online (Sandbox Code Playgroud)