是否有一种现有的机制可以在在线时将 linux 系统与 NTP 同步,并在离线时与可预测的漂移 RTC 同步?
我们操作远程“收集器”:收集和时间戳传感器数据的嵌入式 Linux 系统。我们需要他们的时钟误差保持在相当小的范围内,比如低于 5 秒。通常我们使用 NTP 来同步他们的时钟,只要系统在线,就可以正常工作。
问题是一些收集器的上行链路非常糟糕,可能会中断数小时、数天甚至数周。这不会停止本地数据收集,但如果没有 NTP,Linux 系统时钟漂移严重且不可预测。
OTOH,硬件的 RTC 漂移也很大,但速率恒定。RTC 漂移率因板而异,但每块板都是恒定的,并且可以测量。
我想我们需要的是一种执行以下操作的机制:
对于“机制”,我指的是一些维护良好、记录在案的软件和/或配置,可以处理“在线”与“离线”两种状态,确保系统时钟与正确的时间源(ntp 与 ntp 与 ntp 同步)。 rtc),检测状态变化,并校正 RTC 漂移。无论是作为特殊的 ntpd 配置/插件、作为单独的守护程序、作为 cron 作业还是其他方式实现,都没有多大关系。
我看过Chrony,但根据它的文档,它试图预测系统时钟的漂移,在我们的例子中,它的漂移比 RTC 更难以预测。Chrony 似乎只使用 RTC 来保持重新启动的时间。
(1) 注意 ntpd 激活内核的“11 分钟模式”(每 11 分钟从系统时钟更新 rtc)。当前的内核和 ntpd 似乎没有办法阻止 11 分钟模式。因此,任何 rtc 漂移信息在 ntpd …
有什么方法可以用来为 NTP 提供自动发现?我最近换了一份新工作,该工作的母公司最近开始提供 Active Directory。我一直在实施 SSSD 和其他针对 AD 进行身份验证并设置 NTP 的内容。但是,它们有大量的 Active Directory 服务器(我必须直接指向服务器)并且它们有时会发生变化。
是否有任何方法(例如 LDAP 发现或多播(如 ActiveMQ)和其他应用程序)可以设置?除了试图让母公司维护更好的服务器列表以及它们用于哪些域之外,如果没有任何建议?
谢谢!
我是一名开发人员,我们正在使用 Quartz.Net,这是一个广泛使用的带有 SQL 后备存储的调度库来运行作业服务器集群(ESXI 集群上的 VM)。
Quartz.Net要求作业服务器实例之间的时间同步,并建议为此使用 NTP。
时钟之间的时间必须在一秒之内。
我们的系统管理员使用 Windows NTP 与域控制器同步时间。VM 与 ESXI 主机的同步已关闭。
他们一直坚持认为“在一秒钟之内”不是正确的要求,并且在没有硬件 GPS 同步设备的情况下无法满足。他们的 SLA 和监控级别是“在 3 分钟内”。
我们正在经历周期性(每 2-3 个月一次)Quartz 实例不同步的行为,这与时间不同步一致。
我需要将 ntpd 设置为尽可能多地同步时间,该怎么做?
UPD 我需要让 ntpd 更频繁地调整系统时钟,而不是轮询服务器。这是必要的,因为我的虚拟 PC 的系统时钟漂移太多
maxpoll 似乎没有改变任何东西,因为我将 minpoll/maxpoll 设置为 4 和 5,并且时间调整似乎只在几分钟内进行一次
我们用作源的外部 NTP 服务器之一(当前的主要服务器)似乎没有响应 NTP 调用。不幸的是,在我们的核心路由器 (Cisco 6509) 上,NTP 功能没有像预期的那样切换到辅助 NTP 外部服务器。结果,我们的核心路由器(几乎是我们主要的内部 NTP 源)延迟了 2 分钟。
我计划通过使外部 NTP 源成为当前工作的源来解决外部路由器问题。 我想知道,2 分钟的更改会对我的用户和服务产生多大影响?特别是最近以来,我们严重依赖基于证书的身份验证。
我们是一家 Windows/Cisco 商店。
[核心路由器 1 / Cisco 6509]:
查看两个外部 NTP 服务器(其中主要服务器不响应 NTP 调用)
[核心路由器 2]:
与核心路由器 1(主要)同步,工作外部路由器(次要)
[其他思科网络设备]:
与核心路由器1(主要)、核心路由器2(次要)同步
[域控制器]:
与核心路由器 1 同步
[所有 Windows 客户端/服务器]:
与域控制器同步
该NTP如果经常在其最简单的模式,这是客户端/服务器守护程序使用:您指定一个或多个server的指令您ntp.conf和您的客户将使用这些服务器。
除此之外,当您运行自己的 NTP 服务器时,将peer它们放在一起是一种很好的做法,因此如果其中一个与上游服务器的连接断开,它将从对等方那里获得时间。
但是 NTPd 也可以处理时间数据的广播和/或多播分发,文档说明:
广播和多播模式适用于涉及一台或几台服务器以及可能非常庞大的客户群的配置
文档还在别处说:
将主机配置为广播客户端和广播服务器是可能的并且经常有用。以这种方式配置并共享公共广播地址的许多主机将根据层和同步距离自动以最佳配置组织自己。
我可以看到一个明显的管理好处:您不必手动指定和更新客户端中的 NTP 服务器列表ntp.conf,因此对我而言,即使对于小客户群(例如 5 个以上的客户端,3 个客户端),使用广播模式看起来也很诱人约 4 台服务器)。我希望广播而不是客户端/服务器关联的网络流量会高一点,但考虑到通常的千兆以太网 LAN,除非在同一广播域中有非常多的主机,否则影响应该可以忽略不计。
归根结底,什么时候应该使用或避免广播模式?有我没见过的优点和缺点吗?
所以,我正在尝试调试我当前的 NTP 设置,发现他与我的单个配置服务器的偏移超过 3 秒,并且没有调整。ntpq 输出中 LOCAL(0) 上的星号似乎表明系统正在愉快地与自身同步,而不是 10.130.33.201 服务器(这是我们系统上的另一个我们希望所有内容都同步到的 linux 机器)。
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.130.33.201 LOCAL(0) 9 u 49 64 377 0.242 -3742.2 1.049
*LOCAL(0) .LOCL. 10 l 2 64 377 0.000 0.000 0.001
Run Code Online (Sandbox Code Playgroud)
这是我的 ntp.conf 文件。由其他人撰写,所以我不能 100% 确定一切都是正确的。
server 10.130.33.201 burst iburst minpoll 4 maxpoll 11
driftfile /mnt/active/etc/ntp.drift
restrict -4 default nomodify nopeer notrap
restrict -6 default ignore
# Undisciplined Local Clock. This is a fake driver intended …Run Code Online (Sandbox Code Playgroud) 我有一些 Linux 设备(没有 TOY 芯片,所以它们完全依赖于 ntp),它们可以在无法访问互联网的情况下启动(到交换机的链接已启动)。该ntp服务将启动,但显然不会联系任何对等方。然后我最终得到一个ntp正在运行但不与任何对等点同步的服务(ntpq -p给出一个 .INIT.状态)
问题是,当建立到 Internet 的连接时,这确实会改变。
如果连接在启动时可用,则一切正常。同上,如果我手动发出service ntp restart(ntp连接到对等点并且时间正确同步)。
ntp 不应该定期尝试重新连接吗?
注意:从文档看来,最大池时间(据我所知是 ntp 在放弃之前尝试连接到对等方的最大时间?)是 1024 秒 = 17 分钟,这比建立所需的时间要长得多上网(大约 2 到 5 分钟,最坏情况)
我只是偶然地注意到,我的一台 Cisco 4500 交换机的时钟出错了:尽管 ntp 看似正常,但它还是落后了 2 分钟以上。在我看来,对于所涉及的系统来说,即使是一秒钟也不应该被认为是可以接受的。此外,如果我没有将它与简单的挂钟进行比较,我就不会注意到与诊断的区别。
这是我的一些主机(10.0.99.1、10.0.99.2、10.0.1.119、10.0.99.241)的 ntp 信息,它们部分地相互引用以进行后备,但主要最终都应该通过与 10.0.0.1 同步,这再次拉动时间从外面。所以时间差异不可能是由不同的原始时间源造成的。由于观察结果使我有些偏执,因此“具有正确的时间”的方式如下show clock:(或date)产生与我的挂钟和本地系统时钟(根据http://time.is很好)匹配的输出肯定低于 1 秒的错误(我在观看本地时钟时按 ENTER 的准确性)
$ ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
+10.0.99.1 10.0.0.1 3 u 855 1024 377 0.904 -2.658 0.113
*10.0.0.1 130.149.17.8 2 u 266 1024 377 0.253 0.909 0.127
Run Code Online (Sandbox Code Playgroud)
#sho ntp associations
address ref clock st when poll reach delay offset …Run Code Online (Sandbox Code Playgroud)