在KVM下同步主机和来宾中的时钟时间

时间:2014-09-23 21:31:44

标签: clock kvm synchronize

我有一个相对简单的要求:我希望我在KVM下创建的CentOS客户端上的时钟能够在第一次启动虚拟机时与其CentOS主机同步。

在NTP启动并运行后,很容易将它们与NTP同步。但是,如果主机的时钟和VM的时钟在NTP启动时差别很大,则可能导致VM时间大幅跳跃。我们在VM下运行的许多应用程序都无法正常运行,因此我们希望防止这种情况发生。

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

1 个答案:

答案 0 :(得分:3)

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

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

    hwclock --utc --set --date =" time-string "

  2. 告诉CentOS hwclock通过文件/ etc / adjtime使用UTC。例如,您可以使用

    初始化此文件

    echo -e" 0.0 0 0.0 \ n0 \ n \ nUTC" >的/ etc /的adjtime

  3. 在主机和来宾VM上创建此文件。我通过直接从主机访问来宾文件系统,在我第一次启动它之前在我的guest虚拟机上创建文件。

    1. 为系统时间设置所需的时区。再次,在您的主人和您的客人身上执行此操作:

      ln -sf / usr / share / zoneinfo / 时区 / etc / localtime
      echo" ZONE = 时区" >的/ etc / SYSCONFIG /时钟
      export TZ = time-zone

    2. 其中时区是标准的CentOS时区字符串,例如" US / Pacific"。

      1. 根据hwclock设置主机的系统时间。需要使用--utc选项告诉CentOS hwclock是UTC时间。它将花费UTC时间并根据TZ环境变量设置系统时间:

        hwclock --utc --hctosys

      2. 在配置主机和来宾时,上述步骤均已完成一次。为了在所有服务器启动并运行后让时间保持同步,您需要在主机和来宾上配置NTP。

相关问题