相关文章推荐
小胡子的皮带  ·  C# 中的ushort - CSDN文库·  1 周前    · 
气宇轩昂的钥匙  ·  return count 0 with ...·  1 年前    · 
还单身的红金鱼  ·  Power BI ...·  1 年前    · 
风流倜傥的帽子  ·  FFmpeg 编码 ...·  1 年前    · 
管理时间同步服务

管理时间同步服务

更新时间:

时间的准确性与一致性对于ECS实例至关重要,它能够确保定时任务的准确执行、日志时间戳的正确记录以及分布式ECS集群中实例的时钟一致性。本文将分别介绍在阿里云ECS Linux以及Windows实例中配置与管理时间同步服务机制。

时间同步服务简介

时间同步服务用于与NTP服务器同步时间以确保ECS实例时间准确,它是基于网络时间协议(Network Time Protocol,简称NTP)实现的。

  • 在Linux实例中,较为常见的两种时间同步的工具有: Chrony NTP服务

    • Chrony NTP服务 的对比如下表。

      时间同步服务

      简介

      使用场景

      时间同步精度

      稳定性

      Chrony

      Chrony是一个实现网络时间协议的软件包,用于同步计算机的系统时间与世界各地的NTP服务器。Chrony特别适合在变化的网络环境中运行,能够以快速和高效的方式调整系统时间。

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

      较高

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

      NTP服务

      NTP服务是一种经典的时间同步服务,是NTP协议的一个实现。NTP服务适用于长期运行的服务器,特别是在网络条件比较稳定的环境下。

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

      正常

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

  • 在Windows实例中,通常使用系统自带的时间服务(Windows Time Service,W32time)来进行时间同步。

管理时间同步服务

您可以切换下方页签选择对应操作系统,查看说明文档。

Linux操作系统

查看时间同步服务进程

阿里云公共镜像中包含了默认的时间同步配置,基于公共镜像创建的ECS实例会默认运行Chrony进行时间同步,正常情况下您无需干预时间同步服务。

说明

阿里云ECS实例中,CentOS 6等部分老旧镜像配置为NTP服务,当前NTP服务官方已经不再维护。如果ECS实例使用的是NTP服务,且业务不依赖NTP服务,建议升级为Chrony服务。

您可以执行以下命令查看ECS实例中已使用的时间同步服务。

sudo ps aux | grep -E "ntpd|chronyd"
  • 返回如下信息时表示使用的时间同步服务为Chrony。

    image

  • 返回如下信息时表示使用的时间同步服务为NTP服务。

    image

查看当前时间

您可以执行以下命令查看当前系统时间是否准确。

Chrony

执行以下命令可以获取当前时间同步状态的详细信息,包括系统时间偏差、系统时间的稳定性以及最后一次同步的时间等。您可以通过查看 System time 评估当前时间是否准确,如本示例中的 0.000025116 seconds slow of NTP time 表示当前系统时间比NTP服务时间慢。

sudo chronyc tracking

返回信息示例如下。

image

NTP服务

执行以下命令可以获取已配置的NTP服务器以及对应的状态指标,其中偏移量 offset 可以大致表示本地时间和服务器时间的差异。

sudo ntpd -p

返回信息示例如下:

image

手动同步时间

阿里云ECS实例默认运行的Chrony或者NTP服务会逐步调整时间,避免时间跳变的风险,不建议手动同步时间。如果因为业务需要,必须要手动同步时间,请按以下步骤进行操作。

Chrony

sudo chronyc makestep

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

image

NTP服务

重要

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

  • 专有网络VPC实例。

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

    sudo ntpdate ntp1.cloud.aliyuncs.com ntp2.cloud.aliyuncs.com ntp3.cloud.aliyuncs.com ntp4.cloud.aliyuncs.com ntp5.cloud.aliyuncs.com

配置NTP服务器地址

如果需要设置特定的 NTP 服务器进行时间同步,您也可以通过以下步骤进行配置。

说明

在分布式ECS集群中,为保证分布式集群实例的时钟一致性,请确保所有实例都配置为指向同一或可靠的 NTP 服务地址。

Chrony

  1. 远程连接Linux实例。

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

  2. 配置NTP服务器。

    如果您需要配置为阿里云的NTP服务器,请按照下面步骤中的 <NTP服务器>进行配置 ,具体请参见 阿里云NTP服务器地址列表 。关于如何选择阿里云NTP服务器地址,请参见 NTP服务同步异常怎么办?

    1. 执行以下命令,进入 chrony 配置文件。

      sudo vim /etc/chrony.conf
    2. 屏蔽不需要的NTP服务器,如下图所示,在配置文件中将不需要使用的NTP服务注释掉。

      image

    3. 添加新的NTP服务器。如下图所示,您可以在配置文件中添加新的NTP服务器 ntp12.cloud.aliyuncs.com ;具体可用NTP服务器地址请参见附录 阿里云NTP服务器地址列表

      image

    4. 保存配置文件并退出,执行以下命令重启 chronyd 并设置开机自启动。

      sudo systemctl restart chronyd.service
      sudo systemctl enable chronyd.service
  3. 查看Chrony服务状态。

    1. 执行以下命令,查看本机时间同步状态,用于验证服务是否已启动。

      sudo chronyc tracking
    2. 执行以下命令,查看时间同步服务器列表。

      sudo chronyc -n sources -v

NTP服务

  1. 远程连接Linux实例。

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

  2. 配置NTP服务器。

    如果您需要配置为阿里云的NTP服务器,请按照下面步骤中的 <NTP服务器>进行配置 ,具体请参见 阿里云NTP服务器地址列表 。关于如何选择阿里云NTP服务器地址,请参见 NTP服务同步异常怎么办?

    1. 执行以下命令,进入 NTP 配置文件。

      sudo vim /etc/ntp.conf
    2. 屏蔽不需要的NTP服务器,如下图所示,在配置文件中将不需要使用的NTP服务注释掉。

      image

    3. 添加新的NTP服务器。格式为 server <ntp服务器地址> minpoll <最小请求间隔> maxpoll <最大请求间隔> iburst 。如下图所示,您可以在配置文件中添加新的NTP服务器 ntp12.cloud.aliyuncs.com 。具体可用NTP服务器地址请参见附录 阿里云NTP服务器地址列表

      image

    4. 保存配置文件并退出,执行以下命令重启 ntpd

      sudo service ntpd restart
  3. 启动NTP服务。

    1. 依次执行以下命令,启动 NTP 服务并设置开机自启动。

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

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

      sudo ntpq -p

Windows操作系统

查看当前时间

  1. 使用命令提示符。

    1. 按下 Win + R ,输入 cmd ,然后按 Enter ,打开命令提示符。

    2. 在命令提示符中输入以下命令查看当前时间。

       date /t 
       time /t

      date /t 将显示当前日期; time /t 将显示当前时间。

  2. 通过图形界面:查看任务栏:在 Windows 任务栏的右下角,您可以看到当前日期和时间。

  3. 调整日期/时间设置:右键单击任务栏的时间,然后选择“调整日期/时间”。在这里,您可以查看和设置当前时间和日期。

手动同步时间

命令提示符

  1. Win + R ,输入 cmd ,然后按 Enter ,打开命令提示符。

  2. 输入以下命令以手动同步。

     w32tm /resync

    这将强制 Windows 时间服务与配置的 NTP 服务器重新同步。

    image

  3. 如果需要查看同步状态,可以使用如下命令查看同步结果。

     w32tm /query /status

    image

图形化界面

  1. 打开设置:右键单击任务栏的时间显示,选择 日期和时间设置

  2. 查看时间设置:在 日期和时间 设置界面中,确保 自动设置时间 处于开启状态。

  3. 手动同步时间:在 日期和时间 设置界面中,在同步时钟区域,单击 立即同步 按钮完成手动同步时间。

配置 NTP 服务器

如果需要设置特定的 NTP 服务器进行时间同步,您也可以通过以下步骤进行配置。

命令提示符

  1. 以管理员身份打开命令提示符。

  2. 运行以下命令,设置 NTP 服务器。

    ntp11.cloud.aliyuncs.com 为例,更多NTP服务地址,请参见 阿里云NTP服务器地址列表

     w32tm /config /manualpeerlist:"ntp11.cloud.aliyuncs.com" /syncfromflags:manual /reliable:YES /update

    image

  3. 运行以下命令重启时间服务。

     net stop w32time
     net start w32time
  4. 运行以下命令再次同步时间。

     w32tm /resync

图形化界面

Windows Server操作系统默认配置微软NTP服务器(time.windows.com),但是可能经常同步出错。使用阿里云ECS实例时,您可以将默认NTP服务器更换成阿里云提供的内网NTP服务器。本文以Windows Server 2022系统为例,介绍如何修改默认NTP服务器地址。

  1. 远程连接Windows实例。

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

  2. 在任务栏的通知区域,单击日期和时间,并单击 日期和时间设置

    image

  3. 在设置页面,单击 添加不同时区的时钟

    image

  4. 日期和时间 对话框里,单击 Internet 时间 页签,然后单击 更改设置(C)...

    image

  5. Internet 时间设置 对话框里,选中与 Internet时间服务器同步(S)... ,填写一个阿里云内网NTP服务器地址,并单击 立即更新 ,然后单击 确定 。关于NTP服务器地址,请参见 阿里云NTP服务器地址列表

    重要

    当时钟同步失败时,可能是实例中存在第三方杀毒软件,请关闭杀毒软件后重新同步。

    image

  6. 单击 确定

常见问题

阿里云NTP服务器是否收费?

不收费。阿里云公共镜像中包含了默认的时间同步配置,基于公共镜像创建的ECS实例会默认运行Chrony或者NTP服务进行时间同步。

NTP服务同步异常怎么办?

请先确认您的服务器的网络类型,请根据对应的网络类型选择对应的NTP服务器地址。关于NTP服务器地址请参见 阿里云NTP服务器地址列表 。其中公网NTP服务器地址面向整个互联网,时间准确性和稳定性不及内网的NTP服务器地址。

  • 网络类型为专有网络:NTP服务器地址在专有网络VPC内网这一列选择。

  • 网络类型为经典网络:NTP服务器地址在经典网络内网这一列选择。

附录

阿里云NTP服务器地址列表

各网络下的阿里云NTP服务器地址(仅支持IPv4协议)如下表所示。如果您需要修改阿里云NTP服务器地址,可以参考该列表。

经典网络内网

专有网络VPC内网

公网

ntp1.cloud.aliyuncs.com

ntp2.cloud.aliyuncs.com

ntp3.cloud.aliyuncs.com

ntp4.cloud.aliyuncs.com

ntp5.cloud.aliyuncs.com

ntp6.cloud.aliyuncs.com

重要

经典网络类型的ECS实例相关服务将于2025年02月28日起停止服务,具体下线公告以及迁移VPC网络方案,请参见 【下线公告】停止提供阿里云经典网络类型的ECS实例相关服务

ntp.cloud.aliyuncs.com

ntp7.cloud.aliyuncs.com

ntp8.cloud.aliyuncs.com

ntp9.cloud.aliyuncs.com

ntp10.cloud.aliyuncs.com

ntp11.cloud.aliyuncs.com

ntp12.cloud.aliyuncs.com

ntp.aliyun.com

ntp1.aliyun.com

ntp2.aliyun.com

ntp3.aliyun.com

ntp4.aliyun.com

ntp5.aliyun.com

ntp6.aliyun.com

ntp7.aliyun.com

相关文档

如果您希望了解更多关于Linux时间的相关概念及操作,或者想了解关于Linux公共镜像中时间配置的变化,请参见 Linux时间和时区说明