服务器在虚拟机上运行多时,总是发现时间会不正常,调整好了,运行几日,会出现日期时间不正确的情况,正常时间1分钟,BSD上才走大约半分钟,偏移得厉 害。用ntpdate或ntpd都不能校正,无法正常同步时间。VMWare下普遍存在虚拟机CPU时钟频率慢于标准频率的BUG,导致虚拟机系统时间不 准确甚至出现大幅度的偏移。在虚拟Windows系统下可以通过安装VMWare Tools并开启时间同步功能解决。但是在FreeBSD的命令行下怎么设置VMTool的强制时间同步。

  经测试FreeBSD同样也可以:

  第一步、安装VMWare Tools:
  VMWare中选择Settings > VMWare Tools Install.

  mount /cdrom
  cp /cdrom/vmware-freebsd-tools.tar.gz /tmp
  umount /cdrom

  解压并安装:
  cd /tmp
  tar zxf vmware-freebsd-tools.tar.gz
  cd vmware-tools-distrib
  ./vmware-install.pl

  第二步、修改配置:
  这里有两种办法可以修改VMWare tool guest daemon的运行参数:

  1.使用命令行方式
  Unix下VMWare Tool的命令行程序为vmware-guestd,默认目录为/usr/sbin/vmware-guestd。这是一个通过脚本自动运行的后台程序,可以使用这个程序更改运行参数。

  语法为:
  –cmd “vmx.set_option ”

  在UNIX里就是vmware-guestd,(在Windows系统下为VMwareService.exe,也可以执行该命令行方式).

  是设置选项,这里使用synctime,详细信息可以参考官方说明。

  旧参数,新参数,0为FALSE,1为TRUE。通过设定这两个参数就可以更改指定选项的内容了。

  要启用VMWare tool的时间同步就可以运行:
  ./vmware-guestd –cmd “vmx.set_option synctime 0 1″

  2.直接修改虚拟机配置文件
  如果只需要开启时间同步,这是相对比较简单直接的办法:

  停止虚拟机,然后在在虚拟机的.vmx文件中找到:
  tools.syncTime = “FALSE”

  将FALSE改为TRUE,再启动虚拟机即可。

  默认VMWare Tool后台程序每三分钟与宿主主机同步更新一次时间。如何更改同步频率还没研究出来,貌似通过改运行参数是不行了,可能需要修改代码重编译吧。

  注意:在虚拟机中最好不要启用ntpd同步标准时间,可能会引起时钟混乱。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐