加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows – 即使使用NTP,Hyper-V机器也可以随时随地消磨时间

发布时间:2021-01-18 16:04:59 所属栏目:Windows 来源:网络整理
导读:解决 问题是该机器上的Hyper-V.我删除了Hyper-V,安装了VMware Server,运行了相同的VM.时间同步问题消失了(一天之后100毫秒的差异). 我的设置是这样的: HYV1 - HyperV machine (non domain) - sync irrelevantAD1 - VM AD server on HYV1,sync'd to time.n

解决
问题是该机器上的Hyper-V.我删除了Hyper-V,安装了VMware Server,运行了相同的VM.时间同步问题消失了(一天之后<100毫秒的差异). 我的设置是这样的:

HYV1 - HyperV machine (non domain) - sync irrelevant
AD1  - VM AD server on HYV1,sync'd to time.nist.gov. HyperV time sync off.
S1   - Physical machine,sync'd to domain. 
S2   - Physical machine running HyperV,sync'd to domain.
V1   - Linux VM machine on S2,sync'd to AD1. No HyperV integration.

AD1和S1具有精细同步 – 条带图显示差异小于100ms.

S2像疯了似的漂移.这里有一些针对AD1的条形图:

18:33:22 d:+00.0010138s o:+05.4101899s 
18:33:24 d:+00.0010138s o:+05.4319765s 
18:33:26 d:+00.0000000s o:+05.4788429s 
18:33:28 d:+00.0000000s o:+05.6089942s 
18:33:30 d:+00.0010138s o:+05.7240269s 
18:33:32 d:+00.0000000s o:+06.0421911s 
18:33:34 d:+00.0081104s o:+06.5613708s 
18:33:37 d:+00.0000000s o:+06.9096594s 
18:33:39 d:+00.0000000s o:+06.8867838s 
18:33:41 d:+00.0010127s o:+06.8936401s

在20秒内,它漂了一秒钟.如果我手动将其重置为1秒内,在几分钟内它将再次漂移约2秒钟.一夜之间它从~2s变为~5s. S2内的Linux VM与AD1完美同步.

这是配置:

C:Usersmgg>w32tm /dumpreg /subkey:Parameters

Value Name                 Value Type          Value Data
------------------------------------------------------------

ServiceDll                 REG_EXPAND_SZ       %systemroot%system32w32time.dll
ServiceMain                REG_SZ              SvchostEntry_W32Time
ServiceDllUnloadOnStop     REG_DWORD           1
Type                       REG_SZ              NT5DS
NtpServer                  REG_SZ              ad01.mydomain ad02.mydomain


C:Usersmgg>w32tm /dumpreg /subkey:Config

Value Name                Value Type          Value Data
-----------------------------------------------------------

FrequencyCorrectRate      REG_DWORD           4
PollAdjustFactor          REG_DWORD           5
LargePhaSEOffset          REG_DWORD           50000000
SpikeWatchPeriod          REG_DWORD           900
LocalClockDispersion      REG_DWORD           9
HoldPeriod                REG_DWORD           5
PhaseCorrectRate          REG_DWORD           1
UpdateInterval            REG_DWORD           30000
EventLogFlags             REG_DWORD           2
AnnounceFlags             REG_DWORD           5
TimeJumpAuditOffset       REG_DWORD           28800
MinPollInterval           REG_DWORD           2
MaxPollInterval           REG_DWORD           8
MaxNegPhaseCorrection     REG_DWORD           -1
MaxPosPhaseCorrection     REG_DWORD           -1
MaxAllowedPhaSEOffset     REG_DWORD           300

我查看了事件日志,除了有关同步的警告(在它失去同步之后)之外,没有其他警告.

我该如何解决此问题?这是唯一遇到此问题的机器.所有其他机器(物理和虚拟)都做得很好.

编辑:澄清:VM(AD1)已关闭集成并与time.nist.gov同步. AD1很好.物理机S1不能同步到AD1并且全部漂移.所有其他物理服务器都可以很好地同步到AD1.

更新
因此,它似乎是运行VM的问题.当VM关闭时,时钟缓慢滑动.打开,它立即开始失去秒.我把VM打开只使用了一半的资源,而现在似乎已经略微减轻了它.谢谢!

根据您的描述,听起来服务器S2的主板上的RTC( http://en.wikipedia.org/wiki/Real-time_clock)存在实际的硬件问题.

Hyper-V来宾最初从主机(HYV1)获取它的时钟,但是当你禁用Hyper-V时间同步时,它会从NIST获得所有进一步的时钟更新(工作正常).您的Linux VM未与Hyper-V集成,因此它可以从域中获取时间,这也可以正常工作.你的其他物理机器工作正常,它只是一个物理服务器,每20秒就有1秒的漂移(这是一个疯狂的漂移量).时间漂移比网络时间同步可以将时钟重置到正确的时间要快得多(如果我记得每8小时正确发生一次).

如果要排除Hyper-V导致S2出错,请创建“无Hypervisor”引导条目,在没有Hyper-V的情况下重新引导,并查看时间漂移是否仍然存在.说明:http://blogs.msdn.com/virtual_pc_guy/archive/2008/04/14/creating-a-no-hypervisor-boot-entry.aspx

-Sean

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读