问题
我们需要创建一个 ntp 服务器,它可以与其他 ntp 服务器同步,但会为其客户端提供修改后的 utc。
例如,它将接收 utc 下午 5:17,但其客户端将接收 utc 下午 7:17。
現在的情況/問題
我将描述当前的情况,以便您了解这种需要的原因。我将使用的一些术语来自大型机领域,因此我将尝试解释它们。
我们在一台物理机器上有许多 LPAR(类似于 VM 客户机)。LPAR 被分组到许多 Sysplex(类似于集群)中。每个 Sysplex 中的 LPAR 使用连接到机器的 ETS 进行同步,并直接修改每个 LPAR 的时钟。
几年前,有人认为将 ETS 时钟设置为本地时间(该站点不在 UTC±00:00)是个好主意。LPAR 从 ETS 时钟获取 UTC。如果不影响所有机器,我们就无法将 ETS 时钟更改为真实 UTC。我们想先在测试环境中测试更改。我们可以将同步方法更改为 STP(系统综合体时间协议),以分别管理每个系统综合体。此方法使用外部 ntp 服务器。
因此,我们首先要将一个系统综合体更改为使用获取错误 UTC 的 STP,并测试我们是否正确设置了 STP。然后更改 utc 并测试系统是否可以使用真实 utc。
谢谢,沃尔夫
答案1
首先,WolfThreeFeet,为你欢呼三声,感谢你解释了你正在尝试做的事情;如果没有这一点,这确实是个奇怪的问题。
如果我理解正确的话,您想要确认的是,当您将系统综合体的时钟从本地时间更改为 UTC 时,LPAR 不会全部崩溃并严重死机,并且您想要在将其推广到整个机器之前在开发系统综合体中对此进行测试。
我认为你所描述的情况不可能实现按照你描述的方式,但我认为您可以做一些等效的事情。设置一台测试机器,其唯一工作就是作为具有错误时钟的 NTP 服务器;完全可以告诉 NTP 服务器将其自己的主板时钟视为权威时钟,并允许 NTP 客户端绑定到它,并公布该时间。然后让有问题的系统综合体通过 STP(您说是 NTP)同步到该错误时钟服务器。
答案2
首先需要注意(别担心,我有三个建议):
我不确定:
我们需要创建一个 ntp 服务器,它可以与其他 ntp 服务器同步,但会为其客户端提供修改后的 utc。
为什么需要它与外部时钟同步?您需要提供虚假时间并确保时间不会偏移/漂移?
我能想到/知道的方法有三种。第一种是最简单的,如果你连接了 PPS 源,它可以处理漂移/游动。
ntpd 参考实现与无纪律的本地时钟 (推荐/最简单):
如果您想让 ntp 服务器提供虚假时间,这非常简单。将硬件/内核时钟设置为您需要的任何虚假时间。然后将 ntpd 配置为使用 Undisciplined Local Clock 驱动程序 (127.127.1.x) 而不使用外部时钟。ntp 服务器将顺利运行并提供本地时钟。一个问题是,由于您使用的是本地时钟驱动程序,因此时间将不稳定,并且会以毫秒为单位向一个方向或另一个方向漂移,因为石英晶体不是铷原子参考。如果您需要虚假时间和稳定性,则需要使用 ULC 并添加 PPS 源。添加 PPS 源后,您需要在 ntp.conf 中为 ULC 条目添加首选关键字。
具有外部时钟规则和本地时钟驱动程序的 ntpd 参考实现(复杂):
这仍然是一个依赖于使用 ntpd 参考实现的解决方案,但我对它不太熟悉。我所能做的就是给你提供更多详细信息的链接: http://www.eecis.udel.edu/~mills/ntp/html/extern.html
Jans - 第三方 ntp 测试工具
我没有使用过该产品,但我从 ntp 邮件列表中知道它。它允许您使用服务器伪造时间,但它不像参考实现那样执行任何时钟规则。更多信息:http://www.vanheusden.com/time/jans/