VMware虚拟机时间总是异常?

系统时间问题看似很小,但是对于一些时效性要求较高的业务系统,例如:考试系统、实时监控系统等,时间问题影响甚大。我们在实际生产中也遇到一台虚拟机安装的Windows Server系统(操作系统时间同步NTP,未配置同步主机)由于系统时间异常导致应用服务出现问题。

操作系统时间同步

Windows:Windows操作系统直接把CMOS时间认定为当前显示时间,不根据时区转换。这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定后,也就同时修改了CMOS内的时间。

Linux:Linux和苹果操作系统以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间。

为什么虚拟机会有波动?

计时器中断

虚拟机与主机操作系统共享底层硬件,正在运行的虚拟机,有时也会延迟交付虚拟计时器中断。虚拟机只在某些特定的时刻检查挂起的虚拟计时器中断,比如底层硬件接收到物理计时器中断时,让虚拟机在精确指定的时间内,去请求物理计时器中断。

因为客户操作系统通过计算中断来保持时间,所以当存在计时器中断积压时,由客户操作系统测量的时间就会落后于实时时间。

VMware虚拟机如何处理计时器中断?

VMware虚拟机通过跟踪当前计时器中断待办事项列表来处理这个问题,并在待办事项列表过大时以更高的速度交付计时器中断,以便赶上进度。

如果虚拟机运行得太慢,可能是由于与主机上运行的其他虚拟机或进程争夺CPU时间的结果,则不能为虚拟机提供足够的时间跟上进度。

发生这种情况后,如果客户操作系统安装了VMware Tools并且时钟同步功能启用状态,VMware Tools会在客户操作系统未来的某个时候,通过同步客户操作系统与主机的时钟校正时间。

VMware vSphere虚拟化环境时间配置点

ESXi主机时间

主机时间配置分为两种:手动配置、同步NTP服务器

       

主机时间配置

虚拟机时间配置

虚拟机时间配置:同步主机时间(注:必须安装VMware Tools)

       

虚拟机时间配置-同步主机时间

虚拟机操作系统时间

Windows和Linux时间配置同样分为:VMware Tools定期时钟同步、手动配置、同步网络时间。一般是Microsoft W32Time for Windows和NTP for Linux,通常比 VMware Tools 周期性时间同步更准确

通常,在我们交付虚拟机时,最好一次只使用一个时钟同步服务,以确保避免多个服务对时钟进行更改造成冲突的问题。

虚拟机时间在什么时候会发生变动?

初始化时间

VMware虚拟机提供了与物理机器类似的机制:一个虚拟电池支持的CMOS时钟和虚拟网卡,可以用来从网络时间服务器获取时间。另外还提供了一种机制:VMware Tools在启动时重置客户操作系统的时钟,以匹配主机的时钟。客户机和主机之间的接口使用UTC(协调世界时,也称为格林威治标准时间或GMT),因此客户机和主机不必在同一时区。

注:UTC的偏移量与虚拟机的CMOS非易失性内存的其他内容一起存储在虚拟机的nvram文件中的。

虚拟机管理操作

当虚拟机停止一段时间并继续运行时,客户操作系统的时钟通常会落后于实际时间——特别是在挂起并恢复、快照和还原为快照或VMotion操作之后。因此,如果在客户操作系统中安装了VMware Tools, VMware Tools守护进程将在这些事件发生后,即时关闭了定期的时间同步也会纠正客户操作系统时钟。

VMware Tools周期同步

执行时间同步之后,VMware Tools 会每分钟检查一次,以确定客户机和主机操作系统上的时钟是否仍然匹配。如果不匹配,则将同步客户机操作系统上的时钟以与主机上的时钟匹配。

如何禁用虚拟机时间同步?

即使未打开周期性时间同步,虚拟机有时也会与主机同步时间。若要完全禁用时间同步,必须编辑虚拟机的配置文件(.vmx 文件),并将某些同步属性设置为 FALSE。

tools.syncTime = "FALSE"是否定期同步

time.synchronize.continue = "FALSE"是否快照后同步

time.synchronize.restore = "FALSE"是否快照恢复后同步

time.synchronize.resume.disk = "FALSE"是否在从挂起恢复并使用VMware VMotion特性迁移到新主机后同步。

time.synchronize.shrink = "FALSE"是否在整理虚拟磁盘碎片后同步

time.synchronize.tools.startup = "FALSE"是否在工具守护进程启动时同步,通常在客户操作系统启动时同步。

       

操作系统内禁用时间同步

总结

有时候我们在虚拟机安装完操作系统后,往往漏掉一些配置,例如:VMware Tools未安装、操作系统时间是否同步网络NTP或者关闭时间网络同步而去同步主机时间等。我们需要根据实际情况,选择一种比较适合自己环境的时间同步方式,从而保证系统及应用程序的稳定运行。

(0)

相关推荐

  • 在VMware虚拟机中安装redhat linux操作系统图文详解教程

    一.准备安装所需要的软件: 1.VMware虚拟机的下载和安装在我的博客中已经提到,这里就不再详细阐述。 2.下载一个redhat,因为redhat已经商业化了,推荐大家使用centos,如果自己有合 ...

  • Linux-Ubuntu&VMware虚拟机安装

    Ubuntu & VMware 虚拟机 安装 VMware使用最新版本:VMware Workstation 10.0.1.41495; Ubuntu使用最新版本:Ubuntu-12.04.4 ...

  • Vmware虚拟机安装OS X Mountain Lion系统图文教程

    Vmware虚拟机安装OS X Mountain Lion系统 安装过程用一个字形容,就是慢,大概需要2-3个小时,看机器性能还有你的RP,我的配置:i5-2557m,4GB,win7 x64 运行速 ...

  • VMware虚拟机在去设置从U盘启动

    要给虚拟机重新安装win7系统,想使用U盘重装系统的方式,就需要让虚拟机从U盘启动,以下内容就是虚拟机从U盘启动的全操作过程。 前期准备: 1、U盘启动盘 墨染暖心推荐:口袋PE专业版3.0U盘启动盘 ...

  • VMware虚拟机怎么用?

    首先我们正常进入电脑系统,然后去网上下载VMware虚拟机软件。 建议大家下载中文汉化版的VMware虚拟机,这样方便使用,软件下载完成后,接下来就是VMware虚拟机软件安装了。 双击下载好的VMw ...

  • vmware虚拟机详细使用方法

    随着电脑配置不断提高,我们多数人都已经步入了电脑性能过剩时代,不过电脑配置性能过剩也并不是什么坏事,我们可以通过在电脑中创建虚拟机实现一台电脑两个人用,我们只需要多购买一个显示器即可.非常适合家庭朋朋 ...

  • Linux-Ubuntu&VMware虚拟机安装

    Ubuntu & VMware 虚拟机 安装 VMware使用最新版本:VMware Workstation 10.0.1.41495; Ubuntu使用最新版本:Ubuntu-12.04.4 ...

  • VMware虚拟机安装与使用方法

    VMware虚拟机安装与使用方法 其实在以前自己就听到过很多关于本地电脑虚拟机的东西,但是一直没有机会和时间去接触,今天真的算过瘾了!嘿嘿,自己电脑的虚拟机也已经架设好了,准备用来运行一些比如可能带病 ...

  • VMWare虚拟机下Linux无法全屏怎么办

    VMWare虚拟机下Linux无法全屏的解决方法!一起去看看吧! 1.前提条件描述 VMWare 10.0, OS:Windows 7, guest OS: Ubuntu 15.10 问题描述:无法全 ...

  • VMWare虚拟机下Linux无法全屏的解决方法

    VMWare是目前业界最为流行的一款虚拟机工具,但是最近有用户反映在使用过程中出现了一些问题,安装了Linux虚拟机却没办法全屏了.应该不少用户都遇到过这样的问题,那么,VMWare虚拟机下Linux ...