2014-09-23 250 views
3

我有一个相对简单的要求:我希望我在KVM下创建的CentOS guest虚拟机上的时钟与第一次启动虚拟机时与CentOS主机同步。在KVM下同步主机和guest虚拟机中的时钟时间

在启动和运行后很容易将它们与NTP同步。但是,如果主机的时钟和虚拟机的时钟在NTP启动时有很大差异,则可能会导致虚拟机时间大幅增加。我们在虚拟机下运行的许多应用程序都不能很好地处理这个时间,所以我们想要防止这种情况发生。

所以我的问题是如何配置我的虚拟机启动与他们的主机相同的时间?在测试中,我跑了,主持人的时间是14:00 PDT。我在该主机下创建的虚拟机的初始时间为21:00 PDT。在NTP开始到14:00 PDT后不久,NTP将其调整为14:00 PDT,与主机的时间匹配,随后重新启动VM始终具有正确的时间。该问题仅在第一次启动时发生。我希望虚拟机在第一次启动时提供14:00 PDT以避免NTP时间跳跃。

回答

2

好的,我已经回答了我自己的问题。我用来给我的设置组合结果我需要的是:

  1. 在主机上设置hwclock并使用UTC时间。这是通过hwclock命令的--utc选项完成的。我在我的主机操作系统运行以下命令:

    hwclock的--utc --set --date = “时间串

  2. 告诉CentOS的是,hwclock的是通过文件/ etc使用UTC /的adjtime。例如,你可以使用初始化

    回声-e “0.0 0 0.0 \ N0 \ n \ nUTC”>的/ etc/

    的adjtime

创建主机和您的客户虚拟机都在这个文件这个文件。我通过直接从主机访问来宾文件系统首次引导它们之前,在我的来宾上创建文件。

  1. 为您的系统时间设置所需的时区。再次,这样做你的主机和您的客人都上:

    LN -sf在/ usr/share/zoneinfo中/ 时区的/ etc /本地时间
    回声 “ZONE = 时区”> /等/ SYSCONFIG /时钟
    出口TZ = 时区

其中时区是一个标准的CentOS时区的字符串,例如 “美国/太平洋”。

  1. 根据hwclock在主机上设置系统时间。需要--utc选项来告诉CentOS,hwclock是UTC时间。它将基于TZ环境变量采取UTC时间和设置系统时间:

    hwclock的--utc --hctosys

  2. 上面都做一次的步骤,当你配置你的主人和客人。要在所有服务器启动并运行后保持时间同步,您需要在主机和来宾上配置NTP。

+0

这是如何解决虚拟机时间“大跳跃”的问题?你如何配置NTP来使用主机的时间? – Otheus 2016-10-12 19:33:59

相关问题