chrony:在隔离系统上使用 RTC 作为权威时钟来托管时间

chrony:在隔离系统上使用 RTC 作为权威时钟来托管时间

我有一个隔离的、隔离的 LAN,我想同步它。我有一台主机,它将是 LAN 上所有客户端的权威时间服务器。LAN 时间是否反映实时时间并不重要,但所有客户端是否同意时间很重要。所有主机都运行 Linux。

我曾希望配置chronyd为使用指定主机上的 RTC 作为权威时间源,并向客户端提供 NTP 服务,以便它们可以与其同步。因此,如果管理员需要更改 LAN 上的时间,他们可以更新时间服务器上的 RTC,只要有足够的时间,一切都应该同步。

不幸的是,我没能用chronyd这种方式进行配置。如果我不指定任何时间服务器(server ...在 中为“ ” /etc/chrony/chrony.conf),那么chronyd似乎会运行源,而不是使用本地 RTC 作为源。

配置refclock参数可用于选择外部时间源,例如 GPS 或 PPS,但似乎没有一个驱动程序适合读取 RTC。

我的一个想法是编写一个小应用程序来读取 RTC 并通过驱动程序将其作为 PPS 数据提供SOCK,但进一步阅读表明这也需要 NTP 源,因为它是亚秒级测量而不是绝对时间。

可以chronyd这样使用吗?

答案1

local 

chrony.conf 中的本身就足以启用本地系统作为参考。

RTC 并不完美,它们会漂移很多。如果你只需要精度而不是准确度,这可能是可以接受的。

其他指令也很有用。

# 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

答案2

为了回答我自己的问题,我发现隔离网络文件部分相关,特别是设置chrony.conf包括:

local stratum 8
manual

这似乎最初是从 RTC 获取时间的,所以也许不需要使用settime?我不确定是否manual有必要。

相关内容