我们有具有 CentOS Linux 7(核心)的 Amazon AWS 实例。但也许这不是特定于系统的
几天前系统时钟(日期)开始加速得非常快。如果我们将其与硬件时钟(硬件时钟),大约 10-20 分钟后系统时钟(日期) 将领先 48 秒。
And 48 secs offset is the max value
。几个小时后,它也会领先 48 秒。
我知道有一点偏移是正常的。但 10-20 分钟左右的 48 秒偏移并不正常。我还知道有像 adjtimex 这样的文件和库可以使用“delta”值并调整系统时间但就我而言,加速进程在达到约 48 秒时停止。所以,硬件时钟将打印例如 12:00:00 和日期将打印 12:00:48
我试过:
- 安装日期并通过同步时间
ntpdate pool.ntp.org
hwclock --hctosys
从硬件时钟设置系统时间。hwclock --systohc
在与 ntpdate 同步时间(日期)后也尝试过- 创建的文件
/etc/sysconfig/clock
为“HWCLOCK_ADJUST“ 参数设置为true
。还尝试了false
值 - 删除的文件
/etc/adjtime
左右,其中有世界标准时间和零其中的价值观
但没有运气。
时间同步后,我运行下一个代码:$ while true; do ntpdate pool.ntp.org; sleep 60; done
16 Jan 15:29:45 ntpdate[20656]: step time server 129.250.35.251 offset -4.977822 sec
16 Jan 15:30:46 ntpdate[20743]: step time server 129.250.35.251 offset -5.117517 sec
16 Jan 15:31:48 ntpdate[20813]: step time server 74.117.214.3 offset -4.853926 sec
16 Jan 15:32:50 ntpdate[20890]: step time server 23.239.26.89 offset -5.583270 sec
16 Jan 15:33:51 ntpdate[20941]: step time server 74.117.214.3 offset -4.983483 sec
16 Jan 15:34:53 ntpdate[20994]: step time server 12.167.151.1 offset -5.150401 sec
16 Jan 15:35:54 ntpdate[21080]: step time server 173.255.206.154 offset -5.256357 sec
16 Jan 15:37:03 ntpdate[21155]: adjust time server 12.167.151.1 offset 0.011276 sec
16 Jan 15:38:09 ntpdate[21205]: adjust time server 108.61.56.35 offset -0.019818 sec
16 Jan 15:39:16 ntpdate[21241]: adjust time server 108.61.56.35 offset -0.285154 sec
16 Jan 15:40:18 ntpdate[21660]: step time server 108.61.56.35 offset -5.227262 sec
16 Jan 15:41:19 ntpdate[21706]: step time server 108.61.73.244 offset -5.474606 sec
16 Jan 15:42:20 ntpdate[21756]: step time server 108.61.73.244 offset -5.286961 sec
16 Jan 15:43:22 ntpdate[21791]: step time server 108.61.73.244 offset -4.808674 sec
16 Jan 15:44:29 ntpdate[21885]: adjust time server 96.244.96.19 offset -0.010287 sec
16 Jan 15:45:36 ntpdate[21952]: adjust time server 96.244.96.19 offset -0.000296 sec
16 Jan 15:46:43 ntpdate[22013]: adjust time server 96.244.96.19 offset -0.012838 sec
16 Jan 15:47:51 ntpdate[22126]: adjust time server 198.206.133.14 offset -0.347436 sec
16 Jan 15:48:53 ntpdate[22220]: step time server 198.206.133.14 offset -5.570427 sec
16 Jan 15:49:57 ntpdate[22300]: step time server 198.206.133.14 offset -5.229636 sec
16 Jan 15:50:58 ntpdate[22367]: step time server 104.131.53.252 offset -5.466987 sec
16 Jan 15:52:00 ntpdate[22407]: step time server 104.131.53.252 offset -5.298659 sec
16 Jan 15:53:01 ntpdate[22462]: step time server 104.131.53.252 offset -5.127748 sec
16 Jan 15:54:03 ntpdate[22578]: step time server 129.6.15.30 offset -5.014787 sec
16 Jan 15:55:05 ntpdate[22617]: step time server 129.6.15.30 offset -5.144181 sec
16 Jan 15:56:06 ntpdate[22694]: step time server 129.6.15.30 offset -5.436509 sec
16 Jan 15:57:08 ntpdate[22733]: step time server 96.238.43.39 offset -5.038639 sec
谁能告诉我这是怎么回事?这是否意味着系统时钟有时大约 3-4 分钟就能正常工作?在这些日志之前我认为它总是加速到 48 秒。日志之所以不是每 60 秒打印一次,是因为 ntpdate 会工作几秒钟,然后在同步后写入这些文本。
我们通过运行 ntpdate (ntp) 作为自动同步日期的服务解决了这个问题。
造成“突然巨大加速”的可能原因是什么?
如果这不是常见问题,我们将联系亚马逊支持人员寻求帮助。
答案1
问题可能出在其中一个虚拟机管理程序上;可能是时钟偏差了 48 秒;它发生了(并且不是 AWS 独有的问题)
还有一个 Xen 错误,不知道现在是否适用。 (AWS还没迁移到kvm吗?)
亚马逊建议人们安装chrony
与他们的 NTP 服务器之一同步的软件。看一下AWS 文档 - EC2 - 设置 Linux 实例的时间
如:
sudo yum erase ntp*
sudo yum install chrony
创建/etc/chrony.conf
:
server 169.254.169.123 prefer iburst
最后:
sudo service chronyd start
根据 @jordanm 评论,还可以尝试的一件事是停止/启动 EC2 服务器。您可能会很幸运,并让它在另一个虚拟机管理程序中运行而不会出现时钟偏差。
如果这些措施仍然不能解决问题,我会向亚马逊开具罚单。