8

我在没有 Internet 连接的 LAN 上有 5 台服务器。我需要他们保持时钟同步。

我可以将它们配置为 NTP 对等体,并为其中一个的本地时钟设置一个高层。这样,其他四个将与该时钟同步。

我真正想要的是,出于稳健性和精确性的原因,他们同意使用所有 5 个本地时钟(即进行某种平均)的时间。NTP可以吗?

PS:我不想使用外部时钟源。

编辑:并且在 NTP 功能之外没有脚本,这只会使精度更差:)

4

4 回答 4

6

如果您平均 5 个漂移时钟,那么您唯一得到的就是另一个更难纠正的漂移时钟。它不会更精确。NTP 使用多个服务器来提高精度,因为它考虑了网络延迟。由于您的所有系统都在一个快速的本地网络上,因此您只需要一台服务器。

设置两台系统作为 NTP 服务器,一台作为主服务器,如果您觉得需要,一台作为备份。让所有其他系统与它们同步。这将比时钟平均解决方案更容易设置,并且您不必开发任何疯狂的脚本。

于 2010-06-25T22:35:40.900 回答
1

您可能可以让其中一个人监听每台计算机的时间,执行平均,将平均值设置为自己的时间,然后为所有其他计算机广播该时间。不过,这似乎有点过分。

于 2010-06-25T22:18:56.067 回答
0

您可以将其中一个设置为 ntp 服务器,它将在本地网络上广播其时间,其他作为从属设备在本地网络上收听

编辑:我错过了平均部分。好吧,在这种情况下,您可能可以在本地服务器上编写一个脚本来收集所有从属服务器的时间,获取平均值并使用该值更新自己的时间。在这种情况下,您甚至可能想要摆脱 ntp,而只需使用脚本来更新所有服务器上的时间

于 2010-06-25T22:12:44.337 回答
0

我希望我能给出一个明确的建议,但我对你的环境了解不够。不管你做什么,你都可能会做某种脚本功夫。

如果是 unix/linux,我会为每个人设置 SSH 授权密钥以轮询彼此的date +%s命令(以获取纪元),用 awk 或其他东西平均这些时间,然后设置机器自己的本地日期。

或者,让一台权威机器检查每个人在同一个庄园的时间,对其进行平均,然后将其自身和所有其他主机配置为该平均值可能会更安全(和可靠)。

在 Windows 上,您可能会研究 VBScript 和 WMI。

编辑:如果任何人的时钟从平均值向前漂移,你可能会遇到一些奇怪的问题,我猜大约有一半会;)。未来的时间戳可能相当奇怪。由您决定此同步需要发生的频率。

于 2010-06-25T22:30:20.563 回答