过去几周,我们一直在使用 EC2 微型实例进行一些远程监控,系统时间从来都不准确,这让我很困扰;无论我如何努力同步 Windows 时间,它都无法正常工作。在 serverfault 上找不到解释如何修复它的答案,但最终在亚马逊的论坛上找到了一个很好的答案,并想在这里分享给其他正在寻找的人。
场景:EC2 Micro 上的 Windows 2003 Server
情况:无论 Windows 中如何配置,时间总是要同步到 UTC。
答案1
我想补充一下我们在这方面的经验——我们发现使用第三方应用程序更新时间会使问题变得更糟。该应用程序运行良好,但我们发现时间每小时都会变化,然后应用程序必须进行更正。如果我们将 Windows 时间同步配置为使用 NTP,则时间保持正确,第三方软件就没有必要了。
以下是我们配置 Windows 时间同步的步骤:
首先确保您可以从 NTP 服务器获取时间,否则以下说明将不起作用。要进行测试,请使用以下 Windows 时间服务命令从 NTP 服务器获取当前方差 w32tm /stripchart /samples:5 /computer:pool.ntp.org /dataonly
在 VPC 中,我们必须打开 UDP 端口 123 以用于 NAT 安全组中的入站连接。
在 Windows 中配置 NTP 时间同步
- 注册表编辑 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient 将 SpecialPollInterval 设置为轮询间隔(以秒为单位)(我们将我们的设置为 60)。
- 注册表编辑 - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters 将类型设置为 NTP
- 运行以下命令来配置时间服务器(可以使用其他服务器,我们使用 4 个时间服务器 - 0.pool.ntp.org、time.nist.gov、1.pool.ntp.org 和 2.pool.ntp.org)net stop w32time w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org,0x1 time.nist.gov,0x1 1.pool.ntp.org,0x1 2.pool.ntp.org,0x1" net start w32time
查看配置 w32tm /query /configuration
要检查与时间服务器的同步,请运行 w32tm /stripchart /samples:5 /computer:pool.ntp.org /dataonly