![Windows 服务器时间无法正确同步(完全同步吗?)](https://linux22.com/image/777860/Windows%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%B6%E9%97%B4%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E5%90%8C%E6%AD%A5%EF%BC%88%E5%AE%8C%E5%85%A8%E5%90%8C%E6%AD%A5%E5%90%97%EF%BC%9F%EF%BC%89.png)
我有一个运行 Server 2019 的域控制器。域中还有另外两个 DC。在运行 PDC Emulator 卷的服务器上,我将其配置为指向海军的时间服务器。
w32tm /config /manualpeerlist:"tick.usno.navy.mil tock.usno.navy.mil ntp2.usno.navy.mil" /syncfromflags:manual /reliable:yes /update
这成功完成。我重新启动时间服务:
net stop w32time && net start w32time
过了一会儿,我发现整个域中我的系统的时间都错了。我并不总是在这个域中,所以当我注意到的时候,它比实际时间晚了 5 分钟。现在它已经晚了 6.5 分钟。
如果我再次重新启动时间服务,然后查询对等点,所有三个状态都处于活动状态:
C:\windows\system32>w32tm /query /peers /verbose
#Peers: 3
Peer: ntp2.usno.navy.mil
State: Active
Time Remaining: 54.2426825s
Mode: 1 (Symmetric Active)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 6 (64s)
Last Successful Sync Time: (null)
LastSyncError: 0x800705B4 (This operation returned because the timeout period expired. )
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 0
ValidDataCounter: 1
Reachability: 2
Peer: tock.usno.navy.mil
State: Active
Time Remaining: 54.2582623s
Mode: 1 (Symmetric Active)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 6 (64s)
Last Successful Sync Time: (null)
LastSyncError: 0x800705B4 (This operation returned because the timeout period expired. )
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 0
ValidDataCounter: 1
Reachability: 2
Peer: tick.usno.navy.mil
State: Active
Time Remaining: 54.2729373s
Mode: 1 (Symmetric Active)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 6 (64s)
Last Successful Sync Time: (null)
LastSyncError: 0x800705B4 (This operation returned because the timeout period expired. )
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 0
ValidDataCounter: 1
Reachability: 2
C:\windows\system32>
如果我随后运行重新同步,它会说它没有重新同步,因为没有可用的时间数据。
如果我针对刻度运行带状图,就会出现错误。
C:\windows\system32>w32tm /stripchart /computer:tick.usno.navy.mil
Tracking tick.usno.navy.mil [192.5.41.40:123].
The current time is 6/9/2022 11:51:23 AM.
11:51:23, error: 0x800705B4
11:51:26, error: 0x800705B4
11:51:29, error: 0x800705B4
^C
C:\windows\system32>
如果我针对运行 ntp 服务的网络交换机运行带状图,并且它从经过身份验证的时间源获取时间,那么我的时间就会偏离正常时间:
C:\windows\system32>w32tm /stripchart /computer:*.*.*.1
Tracking *.*.*.1 [*.*.*.1:123].
The current time is 6/9/2022 11:54:00 AM.
11:54:00, d:+00.0016961s o:+396.5884202s [ | @]
11:54:02, d:+00.0015396s o:+396.5886677s [ | @]
11:54:04, d:+00.0017477s o:+396.5889037s [ | @]
^C
C:\windows\system32>
此外,大约 4 或 5 分钟后,我的同行变为待处理状态:
C:\windows\system32>w32tm /query /peers /verbose
#Peers: 3
Peer: ntp2.usno.navy.mil
State: Pending
Time Remaining: 848.7510630s
Mode: 0 (reserved)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 0 (unspecified)
Last Successful Sync Time: (null)
LastSyncError: 0x00000000 (Succeeded)
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 1
ValidDataCounter: 0
Reachability: 0
Peer: tick.usno.navy.mil
State: Pending
Time Remaining: 848.7514333s
Mode: 0 (reserved)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 0 (unspecified)
Last Successful Sync Time: (null)
LastSyncError: 0x00000000 (Succeeded)
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 1
ValidDataCounter: 0
Reachability: 0
Peer: tock.usno.navy.mil
State: Pending
Time Remaining: 848.7518290s
Mode: 0 (reserved)
Stratum: 0 (unspecified)
PeerPoll Interval: 0 (unspecified)
HostPoll Interval: 0 (unspecified)
Last Successful Sync Time: (null)
LastSyncError: 0x00000000 (Succeeded)
LastSyncErrorMsgId: 0x00000000 (Succeeded)
AuthTypeMsgId: 0x0000005A (NoAuth )
Resolve Attempts: 1
ValidDataCounter: 0
Reachability: 0
C:\windows\system32>
将我的对等列表更改为网络交换机后,我仍然遇到所有这些相同的问题。此系统是虚拟机。有一段时间,我将其配置为与主机同步时间,但几个小时前我已删除该设置,它似乎离正确时间越来越远。我还重新启动了 DC,没有变化。
我不知道还能尝试什么来让这个时间正确。我还将包括我查询状态的结果。我也没有在 Windows 时间服务日志中看到任何错误,当我设置 w32tm 调试日志时也没有任何东西跳出来。
C:\windows\system32>w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 1 (primary reference - syncd by radio clock)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0000000s
Root Dispersion: 10.0000000s
ReferenceId: 0x4C4F434C (source name: "LOCL")
Last Successful Sync Time: 6/9/2022 11:50:45 AM
Source: Local CMOS Clock
Poll Interval: 6 (64s)
我将不胜感激任何帮助。
答案1
我认为我的问题有两个方面。首先,我最初遵循的说明是如果我是森林根 DC。但从那时起,我们重新开始,我是一个子域,所以我应该将森林根 DC 指向我的源。一旦我更改为正确的来源,事情就变得顺理成章了。另一个问题是,我认为我的网络团队在我配置它和我注意到问题之间的某个时间阻止了通往海军服务器的 NTP 流量。这就是为什么我的 DC 一直显示本地 CMOS 作为源。但是当我尝试 Stacker 的建议时,即使我没有配置它,源也会更改为森林根 DC。下面的这个链接是建议本地 CMOS 源可能是由防火墙阻止导致的文章。 https://www.renanrodrigues.com/post/how-to-configure-ntp-server-in-active-directory-step-by-step
答案2
问题是你的源没有设置为本地 CMOS,而不是海军
w32tm.exe /config /syncfromflags:manual /manualpeerlist:131.107.13.100,0x8 /reliable:yes /update
w32tm.exe /配置/更新
打开组策略管理控制台 创建新的 GPO 打开 GPO 并导航到计算机设置 -> 管理模板 -> 系统 -> Windows 时间服务 -> 时间提供程序 双击配置 Windows NTP 客户端。将状态设置为已启用 将类型配置为 NTP 将 NTP 服务器配置为指向时间服务器的 IP 地址,后跟 ,0x8,例如:131.107.13.100,0x8 关闭组策略编辑器 在组策略管理控制台的安全筛选窗格中,删除新创建的策略的经过身份验证的用户,并添加拥有 PDC 模拟器角色的计算机 将 GPO 链接到域控制器 OU