一、时间同步的作用

VMware VSphere环境中的时间同步问题在生产环境中具有至关重要的作用。时间不一致会导致业务系统出现问题,同时如果 vSphere 网络中的物理机时钟不同步,则可能无法在网络计算机之间的通信中将时间敏感的 SSL 证书和 SAML令牌识别为有效。时钟不同步可能会引起身份验证问题,从而导致安装失败或 vCenter Server Appliancevmware-vpxd 服务无法启动。
VMware vSphere 环境中中的时间不一致会导致首次引导在不同的服务处失败,具体取决于哪段环境时间不准确以及时间何时同步。目标 vCenter Server Appliance 的目标 ESXi 主机与 NTP 不同步时,通常会出现问题。同样,如果目标 vCenter Server Appliance 迁移到因 DRS 完全自动化而设置为不同时间的 ESXi 主机,也会出现问题。
要避免时间同步问题,请在安装、迁移或升级 vCenter Server Appliance 之前,确保以下项正确。

  • 要部署目标 vCenter Server Appliance 的目标 ESXi 主机同步到 NTP。
  • 运行源 vCenter Server Appliance 的 ESXi 主机同步到 NTP。
  • 在升级或迁移时,如果 vCenter Server Appliance 连接到外部Platform Services Controller,确保运行外部 Platform Services Controller 的ESXi 主机同步到 NTP。
  • 如果进行升级或迁移,请验证源 vCenter Server 或 vCenter Server Appliance 和外部 Platform Services Controller 的时间是否正确。

二、需要配置时间同步的组件或者系统

在VMware VSphere基础架构环境中,主要有以下组件或者系统需要进行时间同步:
1、Esxi主机
2、Vcenter Server(包括Windows版本和VCSA版本)
3、客户机系统(包括windows、linux以及其他操作系统)

三、时间同步的规则

根据官方文档分析,生产环境中的客户机或者组件需要向NTP服务器同步时间。
1、Esxi主机与NTP服务器进行同步时间;
2、Vcenter Server(包括Windows版本和VCSA版本)与NTP服务器进行同步时间;
3、客户机操作系统与NTP服务器同步时间,或者通过VMware tools与Esxi服务器同步时间;

四、时间同步过程中遇到的问题

1、Esxi主机安装在硬件上,存在硬件时间和系统时间,存在以下注意事项:
(1)如果硬件时间和系统时间不一致,系统重启时会恢复为硬件时间。
(2)即使我们配置了NTP同步时间,如果系统时钟和实际的时间相差太远,将会同步失败。这个失败可以在系统的syslog日志看到如下类似内容:

ntpd[263140]: synchronized to <46.249.47.127>, stratum 1ntpd[263140]: time correction of <54423> seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.[info 'ha-eventmgr'] Event 91 : NTP daemon stopped. Time correction 1206 > 1000 seconds. Manually set the time and restart ntpd.

(3)使用以下命令查询或者修改Esxi的时间

#esxi主机是不能用date命令来设置时间的,需要使用esxcli命令
#更改esxi系统时间:
# esxcli system time set -d 08 -H 16 -m 01 -M 03 -y 2016

#获取当前系统时间,使用下面命令:
# esxcli system time get

#更改esxi主机主板上的时间:
# esxcli hardware clock set -d 10 -H 10 -m 18 -M 04 -y 2016 

#获取当前硬件时间,使用下面命令:
# esxcli system time get

(4)使用web页面修改Esxi的系统时间和NTP配置
打开系统,主机 - 管理 - 系统 - 时间和日期 - 编辑设置
36789-mvx2nx3k13.png

2、Vcenter Server(包括Windows版本和VCSA版本)
(1)VCSA版本可通过登录后台,修改系统时间和NTP同步时间,也可以使用VMware Tools 时间同步,具体命令如下:

#1 访问设备 shell 并以具有管理员或超级管理员角色的用户身份登录。具有超级管理员角色的默认用户是 root。
#2 运行以下命令以启用 VMware Tools 时间同步。
timesync.set --mode host
#3(可选) 运行以下命令,确认您已成功应用 VMware Tools 时间同步。
timesync.get
#4 命令返回时间同步处于主机模式。

(2)Windows版本按照客户机操作系统设置时间和NTP同步。
3、客户机操作系统设置了NTP,但是不会同步时间,存在以下注意事项:
(1)虚拟机在每次重新引导时都会将其时间与 ESXi 主机同步,这类似于硬件时间;
(2)客户机系统即使我们配置了NTP同步时间,如果系统时钟和实际的时间相差太远,将会同步失败。(这里我做过测试,的确不能同步系统时间,包括windows系统和linux系统)
(3)可以通过客户机安装的VMware Tools 时间同步时间,具体操作如下:
32479-7cph696x8x.png

五、总结

1、将Esxi主机时间设置完成,配置NTP服务,保证时间的正确;
2、客户机可以通过VMware tools同步时间,或者通过NTP服务器同步时间;

参考文档:
https://docs.vmware.com/cn/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-317743BF-84CD-4A21-B36A-A0C43C5DEFD1.html
https://docs.vmware.com/cn/VMware-vSphere/6.7/com.vmware.vsphere.security.doc/GUID-9FD3A5E3-6C2D-4161-9270-4BF57FADCE6D.html
https://developer.vmware.com/docs/powercli/latest/vmware.vimautomation.core/commands/get-esxcli/#Default



最后修改:2023 年 04 月 30 日
如果觉得我的文章对你有用,请随意赞赏