如何同步没有互联网访问的服务器上的时钟?

如何同步没有互联网访问的服务器上的时钟?

我想同步 10 台 Ubuntu 16.04 服务器上的时钟,但这些服务器都没有互联网访问。根据我的互联网搜索,ntp 似乎不是为此设计的。最简单的方法是什么?

答案1

有无线电时钟接收器和 GPS 设备使用串行连接连接到 PC。然后您可以使用它们进行时间同步。以下是其中的一个示例:http://www.rjsystems.nl/en/2100-ntpd-garmin-gps-18-lvc-gpsd.php

答案2

我建议实施一个 ntp 服务器并选出其中一台机器作为其他九个客户端的主服务器。

为了这个目的,慢性的是一个非常优秀且轻量级的 NTP 服务器,具有大量选项,尤其是适合您使用的选项:手动输入服务器上的时间(查看文档中的manual; settime; )。smoothtime


手册的安装步骤取自这里

  1. 在每台机器上安装 chrony

    sudo apt install chrony
    
  2. 选择您设置为 NTP 的主主机服务器

  3. 服务器,编辑 /etc/chrony.conf 并确保它包含以下行:

    driftfile /var/lib/chrony/drift
    local stratum 8
    manual
    allow 192.168.165
    

    字段中的地址allow是允许客户端连接的网络或子网地址。

  4. 客户:编辑 /etc/chrony.conf 并确保它包含以下行:

    server master iburst
    driftfile /var/lib/chrony/drift
    logdir /var/log/chrony
    log measurements statistics tracking
    
  5. 在每个主机上启动并启用 chronyd:

    systemctl start chronyd 
    systemctl enable chronyd
    

答案3

尽管可能会重复右侧相关文章列表中的 5 个几乎相同的问题,但您的互联网研究 100% 正确:NTP 不是为此设计的(因为计算机时钟不是这样工作的)。使用 0 层时钟(可能是 GPS 接收器,根据 @Bert 的回答)否则会出错。

如果您决定选择糟糕的时间路线,您可以使用本地时钟驱动程序(已弃用)并将层数调整到较低水平,如下所示:

server 127.127.1.1
fudge 127.127.1.1 stratum 1

相关内容