CentOS 4.6 时间漂移

CentOS 4.6 时间漂移

我有一个 CentOS 4.6 盒子,以前是物理设备,现在变成了虚拟机,有一个 cronjob 每天 23:00 重启服务器。这样就好了。

但是,由于转移到虚拟(在 Hyper-V 主机上),系统时间或时钟都不会保持不变:

A)彼此同步 B)显示正确时间

我已经为此苦思冥想了一段时间。手动设置时间会导致时间很快出现疯狂的漂移(我说的是短短几秒内就出现了几个小时);使用 NTPD 也无济于事。它似乎同步了,但仍然显示错误的时间。

我尝试过两种方法:通过 Hyper-V 在虚拟机上设置“同步时间”。但都无济于事。

问题在于,一旦系统认为时间是 23:00,就会重启。这种情况一天发生多次。依赖此服务器的用户最终会受到影响。

任何帮助均感激不尽。

答案1

作为一个非常丑陋的 bandaind,你可以设置ntpdate运行每分钟把类似的东西放在下面/etc/cron.d

* * * * * root ntpdate

为了让它ntpdate发挥作用,请务必停止/禁用该ntpd服务。然后,重新启动crond

这是一个丑陋的黑客,但正如评论中所说,Hyper-V 并不正式支持 CentOS 4.x,所以这是我能想到的最好的方法。

答案2

我更愿意仍然使用 NTP 而不是 ntpdate 命令。ntpd 将维护有关其漂移和偏移的统计数据。

因此回顾一下这篇文章避免虚拟机时钟漂移已经提到:

从 中删除任何-x选项/etc/sysconfig/ntpd。旋转需要很长时间,而且您需要修复疯狂的偏移。

添加tinker panic 0到顶部/etc/ntp.conf。再次,疯狂的偏移。在这种情况下,ntpd 在运行时接受大跳跃实际上是可取的。

然后用或其他监控service ntpd restart 检查偏移量 。ntpq -p

您说您尝试过启用和禁用 Hyper-V 时间同步,请记录您目前设置了哪一个。

Get-VM -Name oldLinuxBox | Get-VMIntegrationService -Name "Time Synchronization"

相关内容