You need to enable JavaScript to run this app.
导航

配置Windows实例NTP服务

最近更新时间2024.04.08 14:52:24

首次发布时间2022.11.03 08:26:23

本文以Windows Server 2019 数据中心版64位为例,介绍如何使用NTP服务同步Windows实例的本地时间。

什么是NTP?

NTP(Network Time Protocol)即网络时间协议,是TCP/IP协议族中的一个应用层协议,用于客户端和服务器之间进行时钟同步,提供高精准度的时间校正。

操作步骤

开启NTP服务

Windows Server操作系统默认开启Windows Time服务。为了保证NTP服务配置成功后能正常同步时间,实例中必须开启NTP服务。请按以下步骤检查并开启NTP服务:

  1. 登录Windows实例,操作详情可查看登录Windows实例

  2. 单击Windows的开始图标,单击“Windows 系统”然后单击“运行”,在运行窗口中执行services.msc命令。

  3. 在“服务”窗口中,找到并双击“Windows Time”服务。

  4. 在“Windows Time 的属性(本地计算机)”窗口中选择“常规”选项卡,调整如下配置:

    1. 将“启动类型”设置为“自动”。

    2. 确认“服务状态”为“正在运行”。如果不是,请单击“启动”按钮启动Windows Time服务。

    3. 单击“应用”按钮后,再单击“确定”按钮,开启NTP服务。

修改默认NTP服务器地址

Windows Server操作系统默认配置微软NTP服务器(time.windows.com),您可以将默认NTP服务器更换成需要使用的NTP服务器。

  1. 登录Windows实例,操作详情可查看登录Windows实例

  2. 在任务栏的通知区域,单击日期和时间,然后单击“更改日期和时间设置”按钮。

  3. 在“日期和时间”窗口中的“相关设置”模块,单击“添加不同时区的时钟”按钮。

  4. 在新弹出的“日期和时间”窗口中,单击“Internet 时间”选项卡,单击“更改设置”按钮。

  5. 在“Internet 时间设置”窗口中,勾选上“与Internet时间服务器同步”选项,并在“服务器”的输入框中填写您需要使用的NTP服务器地址。

    火山引擎为您提供了NTP服务器,详情可查看火山引擎NTP服务器地址列表

  6. 单击“立即更新”按钮,Windows将立即与NTP服务器进行同步。

  7. 单击“确定”按钮,完成NTP服务器地址修改。

修改NTP服务时间同步间隔

默认同步时间间隔为400(16进制,即 1024 秒约为 17 分钟),您可以根据业务需求自定义NTP服务的时间同步间隔。请按以下步骤修改时间同步间隔:

  1. 连接Windows实例,操作详情可查看登录Windows实例

  2. 单击Windows的开始图标,单击“Windows 系统”,然后单击“运行”,在运行窗口中执行regedit命令。

  3. 在“注册表编辑器”窗口的左侧目录树中,选择“HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > W32Time > TimeProviders > NtpClient”。

  4. 在右侧详情窗口“名称”列,双击“SpecialPollInterval”。

  5. 在“编辑 DWORD (32 位)值”窗口中,将“基数”调整为“十进制”,并按需填写“数值数据”。填入的数值即为您需要的同步时间间隔,单位为秒。

  6. 单击“确定”按钮,完成修改操作。

  7. 完成修改后您需要重启实例或重启服务使配置生效。如果您的业务需求导致不方便重启实例,您可以按如下指引重启服务使配置生效:

    1. 单击Windows的开始图标,单击“Windows 系统”,然后单击“运行”按钮,在运行窗口中执行services.msc命令。

    2. 在“服务”窗口中,找到并右键单击“Windows Time”服务。

    3. 单击“重新启动”按钮,重启服务。

通过cmd命令管理NTP服务

您可以在获取本地管理员组的成员身份后,使用命令行工具来配置 Windows 时间服务设置。

  1. 连接Windows实例,操作详情可查看登录Windows实例

  2. 单击Windows的开始图标,单击“Windows 系统”,右键单击“命令提示符”,在“更多”中单击“以管理员身份运行”。

  3. 在命令提示符窗口执行如下命令,开启NTP服务并将其”启动方式“设置为“自动”。

    此操作与开启NTP服务功能相同。

    sc config W32Time start=auto
    net start w32time
    
  4. 在命令提示符窗口执行如下命令,修改NTP服务的地址。以更新NTP服务地址为火山引擎NTP服务器为例。

    说明

    w32tm /config /manualpeerlist:"ntp0.ivolces.com,0x9 ntp1.ivolces.com,0x9 ntp2.ivolces.com,0x9 ntp3.ivolces.com,0x9" /syncfromflags:manual /reliable:yes  /update
    
  5. 在命令提示符窗口执行如下命令,修改注册表中的NTP配置的时间同步间隔设置。
    以修改同步间隔时间为 600 秒为例,后续您可以将需要的时间间隔转换为十六进制,替换命令中的 258 即可。

    此操作与修改 NTP 服务时间间隔功能相同。

    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /d 0x258 /t REG_DWORD /f
    
  6. 在命令提示符窗口执行如下命令,重启时间服务并重新同步时间。

    net stop w32time
    net start w32time
    w32tm /resync
    
  7. 在命令提示符窗口执行如下命令,查询时间同步状态。

常见问题

修改默认NTP服务器地址为火山引擎地址后,重启时间服务(Windows Time)发现修改未生效,如何处理?

可能是由于配置NTP服务器时,不同注册表配置冲突。请参考如下步骤取消本地组策略针对Windows Time的配置。

  1. 请在命令提升行中执行如下命令,再次配置NTP服务器地址。

    w32tm /config /manualpeerlist:"ntp0.ivolces.com,0x9 ntp1.ivolces.com,0x9 ntp2.ivolces.com,0x9 ntp3.ivolces.com,0x9" /syncfromflags:manual /reliable:yes /update
    
  2. 单击Windows的开始图标,单击“Windows 系统”然后单击“运行”,在运行窗口中执行如下命令,打开本地组策略编辑器。

    gpedit.msc
    
  3. 双击“配置 Windows NTP 客户端”,在弹窗中调整为未配置

  4. 单击“应用”按钮,再单击“确定”按钮完成操作。

    说明

    完成调整后,注册表中“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\W32Time”将自动消失。

  5. 在命令提示符窗口执行如下命令,重启时间服务并重新同步时间。

    net stop w32time
    net start w32time
    w32tm /resync
    
  6. 在命令提示符窗口执行如下命令,验证是否可以正常进行时间同步。

    w32tm /query /status