虚拟机时间同步篇

时间是衡量一切事物发展阶段和状态的基准。在平台中,确保虚拟机时间与主机时间同步一致对于业务具有极其重要的意义。ZStack ZSphere提供两种时间同步机制:BIOS时钟同步、虚拟机时间同步。以下分别介绍两种时间同步机制和设置方法。

BIOS时钟同步

BIOS时钟同步功能针对Windows虚拟机设计。对于Windows虚拟机而言,硬件的时钟时间来源于主机,而系统时间等同于硬件时钟时间。因此,可通过设置BIOS时钟同步使得Windows虚拟机硬件时间与系统时间与主机硬件时间保持一致。

新建虚拟机时,可在高级设置 > 常规设置中启用BIOS时钟同步。启用后,虚拟机会定期自动同步主机BIOS时钟。

时间同步

时间同步功能针对Windows与Linux虚拟机系统时间与主机系统时间同步设计。对于Linux虚拟机而言,硬件时间来源于主机,系统时间单独计算, 仅在部分时间点(比如系统刚启动时)和硬件时钟同步,其余时间都是和硬件时钟独立的。

虚拟机时间同步机制:
  • 网络:区别于NTP时间同步,当前时间同步机制不依赖特定外部网络,仅涉及主机与虚拟机的通信。
  • 时区:虚拟机定期自动同步所在主机时区,保持一致。
  • 同步间隔:默认每60秒进行一次同步,同步间隔支持通过CLI方式修改,可选取值:60秒(1分钟)、600秒(10分钟)、1800秒(30分钟)、3600秒(1小时)、7200秒(2小时)、21600秒(6小时)、43200秒(12小时)、86400秒(1天)。
    # 通过CLI方式修改同步间隔
    [root@localhost ~]# UpdateResourceConfig vm=<vm_uuid> category=vm \
    name=vm.clock.sync.interval.in.seconds value=<intervalInSeconds>
    
    # vm_uuid 表示虚拟机uuid
    # intervalInSeconds 表示希望设置的同步间隔,单位:秒
  • 同步策略:当前同步策略为立即一致,无论虚拟机自身时间超前或是滞后,当同步机制触发,虚拟机时间会立即与所在主机保持一致。
单台虚拟机时间同步设置方法:
  1. 确保虚拟机已安装Qemu Guest Agent (QGA),且QGA处于运行状态。有关更多信息,请参阅 虚拟机VMTools篇
  2. 关闭虚拟机其他时间源同步策略(建议关闭)。
  3. 在虚拟机页面,点击更多操作 > 高级设置 > 修改VMTools中启用时间同步。启用后,每60秒自动同步主机系统时间。