V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fengleiyidao
V2EX  ›  问与答

ubuntu 可以每 x 秒钟与 ntp 同步一次么?

  •  
  •   fengleiyidao · 2023-02-03 13:07:17 +08:00 · 939 次点击
    这是一个创建于 449 天前的主题,其中的信息可能已经有所发展或是发生改变。
    具体用那个命令啊? 搜了一下出来一堆。。。。

    timedatectl 、ntpdate 、ntpd 、chrony 。。
    9 条回复    2023-02-03 17:13:48 +08:00
    hefish
        1
    hefish  
       2023-02-03 13:07:53 +08:00
    自己写个 shell
    ltkun
        2
    ltkun  
       2023-02-03 13:09:32 +08:00 via Android
    cron
    adoal
        3
    adoal  
       2023-02-03 13:16:23 +08:00   ❤️ 8
    ntp 的时间同步机制不是这么用的。

    一般用法是在系统启动阶段 ntpdate 强行同步一次,然后启动 ntpd 在后台慢慢维护时间便宜。开着 ntpd 的时候,ntpdate 会拒绝运行。

    尤其时在服务器环境里,因为有不少服务软件假设时间是平滑、单向进行的,如果在服务软件运行过程中突然发生时间跳变,尤其是回拨,软件的逻辑就会出错。所以正确的用法是 ntpd 在后台持续运行,跟上游时间源对比,如果偏移量超出阈值,就小幅度调节内核时钟的进行速度来纠偏。这个调节是平滑的,而且如果本机时间超前了也不会回拨,只会减慢进行速度。而启动阶段强行 ntpdate 同步一次的原因就是如果偏差太大,ntpd 的缓慢纠偏机制不给力,而启动时 ntpdate 会安排在大多数业务服务之前启动,这时候任何时间跳变都无所谓。
    adoal
        4
    adoal  
       2023-02-03 13:19:05 +08:00
    以上 ntpdate 和 ntpd 是举例。chrony 也可以。

    另外,成熟的发行版,安装时间同步管理套件时会在启动项里配置好上面这个流程。
    fengleiyidao
        5
    fengleiyidao  
    OP
       2023-02-03 13:44:11 +08:00
    @adoal
    所以正确的用法是 ntpd 在后台持续运行,跟上游时间源对比,如果偏移量超出阈值,就小幅度调节内核时钟的进行速度来纠偏。这个调节是平滑的,而且如果本机时间超前了也不会回拨,只会减慢进行速度。
    -----------------------

    有啥包可以做到这个么?
    我是想保持本机与 npt 服务器(网线直连)时间差在 x 毫秒以内。
    adoal
        6
    adoal  
       2023-02-03 13:53:17 +08:00   ❤️ 1
    @fengleiyidao 不能 ntp 机制本身不能保证你提出的这个量化的硬性要求。你设想的过几秒定时运行的办法,也不能保证做到这点。

    不过 ntpd/chronyd 可以通过 minpoll/maxpoll 参数来设置定时同步的周期范围。还有其它一堆参数可以慢慢调的。

    要更靠谱的话得本机接一个硬件时钟源。
    adoal
        7
    adoal  
       2023-02-03 13:56:17 +08:00
    offset 、delay 、jitter 可以调调看。
    adoal
        8
    adoal  
       2023-02-03 13:57:47 +08:00
    @adoal 说错了,是根据 ntpq 返回结果里的 offset 、delay 、jitter 看同步效果。
    kiddult
        9
    kiddult  
       2023-02-03 17:13:48 +08:00
    @fengleiyidao 局域网的误差应该默认就能达到这个级别吧?不然服务器集群都会多多少少有问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2822 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:57 · PVG 22:57 · LAX 07:57 · JFK 10:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.