Nil*_*ann 12 linux ntp time clock-synchronization chrony
是否有一种现有的机制可以在在线时将 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 运行时都会丢失(感谢 @billthor)。
更新/编辑:
ntpdate(8),hwclock(8),date(1)等,请参阅附加部分斜体什么,我与“机制”的意思。您的情况很不寻常,如果有人提出基于标准的ntpd配置来执行您想要的操作,我会感到惊讶。也就是说,我喜欢感到惊讶,而且这种情况经常发生在这些部分。
但在有人提出更好的想法之前,您是否考虑过crontab这样的条目?
*/5 * * * * ntpdate 0.pool.ntp.org || ( hwclock --adjust; hwclock --hctosys )
Run Code Online (Sandbox Code Playgroud)
IE,每五分钟尝试通过同步时钟ntpdate,如果(且仅当)失败,根据/etc/adjtime文件调整硬件时钟的漂移(其格式在 中详细说明man hwclock,并且您已使用您的知识正确填充了其第一行)该特定 RTC 的速率),然后从 RTC 设置系统时钟。
请注意,如果您选择这样的解决方案,并且要部署大量此类系统,则使用池并根据您的使用情况按比例贡献服务器被认为是礼貌的做法。您可以在http://www.pool.ntp.org/en/vendors.html找到更多信息。
NTP 已经具有了解其是否在线或离线的机制,并且会根据需要切换到优先级较低的源。检查到达值以触发备用源非常容易,但我会坚持使用 NTP。如下所述,监视和校正 RTC 漂移可能很困难。
在互联网出现之前,我使用了一个程序,可以打电话到数据源并同步时钟。可能仍然有可用的服务通过调制解调器提供时间源。这需要使用电话线。
本地时钟存在一些已知问题,但不适用于 RTC。一些问题记录在NTP 已知操作系统问题列表中。这些可能会导致您的时钟漂移。解决它们可能会解决您的问题。在没有错过滴答声的情况下,我发现本地(系统)时间源可能非常稳定。
您可以将哑时钟驱动程序 (33) 与将适当的 RTC 时间写入 /dev/dumbclockX 设备的程序一起使用。
还有许多其他基于无线电时钟的驱动程序。其中一些使用 WWV 和 CHU 等短波服务,这些服务可以在 GPS 信号不可用的环境中工作。对于欧洲,此列表将包括 BBC、TDF、RBU 和 RMW。
Pavel Krejci 也编写了 RTC 驱动程序,但它似乎并未合并到官方驱动程序中。这可以与 PPS 类型同步一起使用。
在部署之前应该可以测量 RTC 漂移。但是,您需要确保 RTC 不会自动更新。当使用 adjtimex 功能更新系统时钟时,RTC 可能每 11 分钟更新一次。
连接后 NTP 将更新时钟。通常NTP会拒绝对系统时钟进行较大的调整。有一些选项可以调整时钟的调整范围。
我在上面建议了使用 RTC 的选项。无线电时钟可能比 GPS 时钟更合适。
在缺乏可靠的时间源来进行比较的情况下测量漂移可能是徒劳的。如果本地时间不稳定,则无法使用它来监控RTC,反之亦然。如果内核每 11 分钟更新一次 RTC,则在连接 NTP 时测量漂移将不起作用。我使用的 RTC 的分辨率为一秒,因此它们必须显着漂移才能可靠测量。
| 归档时间: |
|
| 查看次数: |
11291 次 |
| 最近记录: |