如何选择ECS实例本地时间同步方案

更新时间: 2023-11-02 16:50:38

阿里云ECS实例中会默认运行Chrony/NTP服务进行时钟同步,正常情况下您无需去干预时钟同步服务。当您的业务时间敏感时,建议您按照Chrony服务、NTP服务、手动时钟同步的优先级选择时钟同步方案。

三种方案的比较如下表所示:

方案

时间同步精度

稳定性

使用场景

(推荐)使用Chrony服务自动同步

较高

能够更好地适应高延迟和不稳定的网络环境。

适用于高精度、高稳定性、自动化等场景。

使用NTP服务自动同步

正常

仅能适应一定程度的网络不稳定。

适用于大多数无需太高精度要求的普通场景。

(不推荐)手动同步时钟

一般

较低,手动同步很可能引起时间跳变,对您的业务造成影响。

手动同步时钟适用于一些简单的场景,大多数情况下不推荐使用该方案。

(推荐)使用Chrony服务自动同步

Chrony为阿里云官方和社区推荐配置的时钟同步服务,相较于NTP有更高的时钟稳定性与更小的时间误差。当前阿里云ECS实例中,CentOS 7及以上镜像版本已默认配置Chrony服务,您无需额外配置即可正常使用。

使用NTP服务自动同步

NTP是用于同步网络中计算机时间的协议,全称为网络时间协议(Network Time Protocol)。当时间发生偏差时会自动追平,可以有效避免时间跳变的风险。

若您的业务对于时间敏感,且暂时无法升级Chrony服务,建议使用ntpd进行时钟同步。

说明

阿里云ECS实例中,仅存量的CentOS 6镜像配置为NTP服务,当前NTP官方已经不再维护,建议您谨慎选择该时间同步方式。

以下步骤介绍如何启动标准NTP服务。

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,启动NTP服务。

    sudo service ntpd start
  3. 执行以下命令,设置开机自启动NTP服务。

    chkconfig ntpd on
  4. 执行以下命令,查看NTP服务运行状态。

    ntpstat
  5. (可选):查看NTP服务的更多信息。

    • 执行以下命令,查看NTP服务对等端的列表信息。

      ntpq -p
    • 执行以下命令,查看NTP服务的运行级别。

      sudo chkconfig --list ntpd

手动同步时钟

ntpdate为断点更新,主要用于在新购实例、重装系统、重启实例后,未在实例中配置业务的场景下强制时钟同步。对已经承载有运行中业务的实例,请使用chronydntpd进行步进式逐渐调整时间,可以避免时间跳变的风险。

重要

使用ntpdate命令进行手动时钟同步是一个高风险行为,直接使用ntpdate进行手动同步很可能引起时间跳变,对您的业务造成影响。

当您因业务需要,必须要执行手动时钟同步时,请按照如下步骤进行操作。

  1. 执行以下命令,查看ECS实例中已使用的时钟同步服务。

    ps aux | grep -E "ntpd|chronyd"

    当返回如下信息时,表示使用的时钟同步服务为Chrony。

    chrony

    当返回如下信息时,表示使用的时钟同步服务为NTP。

    ntp
  2. 执行如下命令,手动同步时钟。

    • Chrony服务

      chronyc makestep

      若系统返回信息为200 OK时,表示Chrony服务已手动同步完成。

      200 ok
    • NTP服务

      重要

      当前NTP官方已经停止维护,使用ntpdate进行手动时间同步有时钟跳变的风险,如必须使用,请在ntpdate命令后添加3个或3个以上的时钟源,尽可能规避风险。更多阿里云NTP服务器信息,请参见阿里云NTP服务器

      • 专有网络VPC实例

        ntpdate ntp.cloud.aliyuncs.com ntp7.cloud.aliyuncs.com ntp10.cloud.aliyuncs.com ntp11.cloud.aliyuncs.com ntp12.cloud.aliyuncs.com
      • 经典网络实例

        ntpdate ntp1.cloud.aliyuncs.com ntp2.cloud.aliyuncs.com ntp3.cloud.aliyuncs.com ntp4.cloud.aliyuncs.com ntp5.cloud.aliyuncs.com
阿里云首页 云服务器 ECS 相关技术圈