首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分散的NTP在只有零星互联网连接的网络中?

分散的NTP在只有零星互联网连接的网络中?
EN

Server Fault用户
提问于 2018-11-20 13:59:42
回答 2查看 1K关注 0票数 2

我有一个(大多数时候)由几台计算机组成的孤立网络。

代码语言:javascript
复制
          computer 0 -- external NTP server
        / 
switch -- computer 1 -- external NTP server
        \  
          computer n -- external NTP server

在任何时间点,只有上面图中的一小部分连接是可用的。尤其是与外部NTP服务器的连接在大多数情况下都是不可用的。

在没有明确的客户机/服务器角色的情况下,如何使用时间序列使所有计算机保持同步?

要求:

  1. 在任何给定的时间点,只有一个子集的计算机可以启动和运行。他们应该能够保持同步。如果另一台计算机启动,它也应该是同步的。绝对时间并不重要(只要误差在几秒/几分钟内)。重要的是网络中的所有计算机都是同步的。
  2. 偶尔,任何计算机都可能连接到internet,并且应该能够从外部NTP服务器获得正确的绝对时间,并在本地网络中分配这些时间。

我考虑用外部NTP服务器(最初标记为脱机)在网络上配置每台计算机,然后将所有计算机列为彼此的对等计算机。走这条路对吗?如果网络中只有NTP对等点而没有可访问的NTP服务器,我就无法找到有关发生什么的任何信息。时钟是否会汇聚到一个合理的时间,或者这种配置会变得不稳定,以致于总体漂移甚至可能比网络中一台计算机最糟糕的硬件时钟漂移还要糟糕?

编辑:

为了强调我对一个合适的时序配置的想法:下面的方法是一个好主意吗?

计算机0上的/etc/chrony/chrony.conf

代码语言:javascript
复制
pool external.ntp.pool offline
peer computer_1
peer computer_2
peer computer_n
local stratum 10

计算机上的/etc/chrony/chrony.conf

代码语言:javascript
复制
pool external.ntp.pool offline
peer computer_0
peer computer_2
peer computer_n
local stratum 10

等等..。

EN

回答 2

Server Fault用户

发布于 2018-11-20 14:43:46

解决问题的最简单和最好(但并非最昂贵)的解决方案是在该网络上设置一个小型无线电时钟设备( GPS或WWVB/短波)。让设备在NTP配置中将其用作服务器,然后在设备失败时互相监视以进行备份。

因为广播无线电信号是单向的,这将满足您对网络隔离的安全要求。

作为NTP服务器的GPS和WWVB设备在许多价格点上都可以广泛使用。

如果网络无法在任何情况下接收无线电信号(潜艇,硬化掩体,不管什么),这个u解决方案将无法工作。但是,如果这是您的场景,您可能有钱安装本地频率标准的某种类型。

票数 3
EN

Server Fault用户

发布于 2018-11-23 07:27:21

  1. 别这么做。根据您对@rmalayter的答复的答复,NTP不是一个去集中的协议。准确的时间依赖于“中心”(即较高层)服务器为其客户端提供时间。你最好始终保持一个系统,保持与外部时间来源的联系。BeagleBone、Raspberry PI或类似的嵌入式系统是一种简单、廉价的方法。
  2. 您建议的配置应该大部分都能工作。我想提出几点建议:
    • 不要使用offline --当chronyd启动或恢复网络连接时,pool指令将自动重试。
    • orphan添加到您的local行--这是专门为您的场景设计的NTP功能。当上游连接不可用时,它将导致其中一个对等点当选为本地主节点。
    • 主机作为对等方在其配置中有自己的地址是无害的:chronyd将自动忽略它。这是一个方便,这意味着您可以发出相同的配置到每个主机。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/940888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档