我有一个隔离的,空隙的局域网,我想同步。我有一个主机,它将是局域网上所有客户端的权威时间服务器。局域网时间反映实时并不重要,但重要的是所有客户都在时间上达成一致。所有主机都在运行Linux。
我曾希望对chronyd进行配置,使其能够使用指定主机上的RTC作为权威的时间源,并向客户端提供NTP服务,以便它们能够与其同步。因此,如果管理员需要更改LAN上的时间,他们可以在时间服务器上更新RTC,并且只要有足够的时间,一切都应该同步。
不幸的是,我并没有很好地以这种方式配置chronyd。如果我不指定任何时间服务器(/etc/chrony/chrony.conf中的“D3”),那么chronyd似乎没有源,而不是使用本地RTC作为源。
refclock配置参数可用于选择外部时间源,如GPS或PPS,但似乎没有任何驱动程序适合读取RTC。
我的一个想法是编写一个小应用程序来读取RTC,并将其作为PPS数据提供给SOCK驱动程序,但是进一步的阅读表明,这也需要一个NTP源,因为它是次秒测量,而不是绝对时间。
是否有可能以这种方式使用chronyd?
发布于 2022-02-09 04:59:29
local 在chrony.conf中本身就足以启用本地系统作为参考。
RTCs不是完美的,它们的漂移很大。如果你只需要精确而不是精确,这可能是可以接受的。
其他指令也很有用。
# Local self reference
local
# Allow chronyc settime where a person can type the time
# Drift is estimated from these inputs
# Useful in environments without other reference clocks
manual
# Recording drift is especially important
# when timestamps are few and far between
driftfile /var/lib/chrony/drift
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC发布于 2022-02-09 02:15:27
为了回答我自己的问题,我发现隔离网络文档部分相关,特别是将chrony.conf设置为包括:
local stratum 8
manual这似乎占用了RTC最初的时间,所以也许不需要使用settime?我不确定是否需要manual。
https://serverfault.com/questions/1093101
复制相似问题