使用CentOS 6.2在HyperV上进行时间同步


11

我有一个在HyperV下运行的CentOS VM(版本6.2)。我已经安装了集成服务(现在是基础服务的一部分),CentOS显示当前的时钟源是hyperv_clocksource,但是在一周的正常运行时间后,我在VM中的时间大约快了10分钟。我对新IC和可插入时钟源的理解是,这种情况不再发生。是否需要其他配置才能使可插入时钟源正常工作?

我知道有很多关于将内核选项设置为PIT的链接,诸如此类,但是所有这些链接似乎都早于集成时钟源支持,据我所知,不再需要它了。ntpd或adjtimex也不应。

编辑:正在运行3.2的IC(带有Centos 6.2的产品),今天已升级到3.3,机器运行了1小时22分钟,时钟已经快了5秒。所以我现在正在运行最新的IC,但仍然遇到相同的问题。


是的,时间不慢。这更奇怪,因为典型的VM时钟问题是时间的损失,而不是时间的增加。
WaldenL 2012年

如果您执行Powershell get-winevent -provider Microsoft-Windows-Hyper-V-Integration-TimeSync | 选择留言| 选择字符串“服务器名”,您是否看到任何时间同步错误
Tony Roth,2012年

不必担心有关时间同步错误的消息,根本没有该提供程序的消息。还有其他Hyper-V消息,但TimeSync没有。
WaldenL 2012年

Answers:


3

我过去曾遇到过此问题,并通过调整启动开关(notscdivider = 10)和ntp设置来纠正了此问题:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe notsc divider=10
    initrd /initrd-2.6.18-164.6.1.el5.img
title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
    initrd /initrd-2.6.18-164.el5.img

样本ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

资源:

在Server 2008 R2的Hyper-V上更正Linux时钟漂移
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v


1
这可能有效。MS的官方立场是安装/启用包括时间同步在内的集成功能,并禁用任何虚拟机内时间守护程序(ntpd)。
克里斯·S

VMWaredivider=10也在许多Linux星座中都推荐这样做。
尼尔斯2012年

不好意思,但是这些恰恰是新集成组件中可插入时间源不需要的调整。
WaldenL

2

首先,检查hyper-v是否正在检测集成服务。我知道的唯一方法是使用系统中心虚拟机管理器,但我认为必须有一种使用hyper-v的mmc的方法。

另外,我已经看到在VM配置中禁用时钟同步时会发生这种情况。为什么时钟运行得更快,这超出了我的范围。我附上了vm配置的屏幕截图,供您参考。 在此处输入图片说明


是的,所有服务均已启用。
WaldenL

hyper-v是否报告已检测到集成服务?
longneck

有趣的问题,不确定如何分辨。它们显示在客户开始了,我认为他们不会做,如果他们没有与主机通信的,但我不能肯定地说。我没有scvmm,所以我不确定该告诉谁。
WaldenL

当您查看mmc中的vm时,它在底部是否表示心跳正常?那将表明至少心跳服务正在通信。
longneck

它的确显示“ Heartbeat:OK”,因此看来至少通信通道已打开。
WaldenL 2012年

2

令人遗憾的是,Hyper-V Linux来宾时钟在负载下的漂移非常普遍(在不同步的VM中,时钟的漂移是不可避免的)。看到Linux时钟每周损失10分钟Hyper-V Machine甚至都在漂移时间,甚至其他帖子都在NTP上谈论。我所见的轶事证据如下:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.