zim*_*atm 18 virtualization ntp
客人不能以某种方式继承主人的系统时间吗?
在同一台机器上多次运行相同的守护进程以获得相同的结果似乎毫无意义,但我在阅读 KVM 或 Xen 文章时没有发现任何与时间相关的内容。我的理解是来宾在启动时获得了主机时间,但随后可能会分开。那是对的吗 ?
Mic*_*ton 22
在完美的世界中,您的 VM 来宾将保持完美的时间,或者至少与主机提供的时间一样完美。不幸的是,我们并不生活在一个完美的世界中。
根据我对人类所知的几乎所有虚拟机管理程序的经验,我总是在虚拟机中运行 NTP 客户端,无一例外。我通常的设置是带有 -g 选项的 ntpd,或者在旧系统的 ntpdate 之前启动,以调整时钟(在系统启动时可能远不同步)。
KVM 拥有近乎完美的设置,具有半虚拟化的实时时钟;具有适当驱动程序(至少所有最近的 Linux)的来宾将与主机一样保持时间。但这里仍然出现问题:例如,主机可能没有运行 NTP,主机可能设置了不正确的时区,主机的时钟可能完全错误等。
VMware 和 Hyper-V 处于中间位置。每个都有一个旨在在来宾上运行的工具,该工具定期与主机同步时钟,但同样,这很容易受到主机时钟的任何现有问题的影响。
我的测试 Hyper-V 服务器上的来宾也表现出一些奇怪的行为:即使使用集成服务,来宾时钟的漂移速度也会超过 500 ppm,从而阻止 ntpd 工作(如果它漂移得比这更快,它会认为时钟很疯狂)。我不得不将这些客人切换到chrony,这样可以调整这个值。
Xen 在这方面是最差的。它绝对没有同步,并且几乎需要在来宾中运行 NTP。(有人告诉我,最近版本的 Xen 具有某种同步功能,但尚未亲自使用它。)
如果主机管理程序不在您的控制之下,例如公共云,事情就会变得更糟。在主机时钟方面,您受供应商的支配,如果他们不努力保持同步,您就输了。
尽管如此,如果您甚至需要一个半准确的时钟,则几乎需要在您的虚拟机中运行 NTP 客户端。注意:如果您运行 Windows 虚拟机,请获取可连续调整时钟的第三方 NTP 客户端;Windows自带客户端的糟糕借口每周只调整一次时钟,这太荒谬了。
the*_*bit 13
这是对的。应该注意的是,时间不仅“可以”漂移,而且由于计时器中断之间的间隔(操作系统上的计时通常基于)被拉伸和压缩,因为虚拟机管理程序认为合适,因此时间会漂移。
大多数虚拟化平台(Hyper-V 集成服务、VMWare 工具)的常用解决方法是在来宾上运行守护程序,该守护程序定期与 VM 主机同步时钟。正如 Hauke 在对您的问题的评论中所指出的,KVM 还提供了一个半虚拟化时钟,它需要在来宾操作系统上加载相应的驱动程序才能工作。
进一步阅读:VMWare 虚拟机中的计时 (vmware.com)
KVM 来宾时钟同步 (s19n.net)
归档时间: |
|
查看次数: |
18570 次 |
最近记录: |