保持系统时钟与硬件时钟同步

保持系统时钟与硬件时钟同步

情况:

  • 我们有一些运行计算作业的 Linux 虚拟机。
  • VM 无法访问 Internet(包括 NTP)。
  • 虚拟机管理程序确实知道正确的时间。
  • 虚拟机管理程序的时间通过其硬件时钟向虚拟机公开。
  • 虚拟机管理程序似乎是基于 QEMU/KVM 的。我们不控制虚拟机管理程序(它是云 VPS 产品)。

问题:

  • VM 的系统时钟偏离正确的时间/硬件时钟。

问题:

  • 是否可以始终保持系统时钟与硬件时钟同步?

  • 或者,是否可以告诉 ntpd 使用硬件时钟作为参考来解决系统时钟漂移?

我尝试过的:

  • 然而,对于cronjob 0 * * * * hwclock --hctosys,漂移足够明显,即使每小时同步也是不够的,此时增加 cronjob 频率似乎是一种解决方法。

答案1

[我在这里凭记忆工作,所以稍后我会尝试检查一下。]

QEMU/KVM 虚拟机可以通过虚拟化层将其时钟同步到主机。

以下是确认您的访客正在使用主机的方法:

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
kvm-clock

如果它没有返回该值,kvm-clock您需要在客户端中加载半虚拟化时钟模块,这是virtio内核模块的一部分。

ntpd如果您的虚拟机正在与主机同步,请不要运行(或任何其他外部同步)。

相关内容