原文链接:https://mp.weixin.qq.com/s/P4mx2tqOIcKb0VG_zCiXmA
本文主要介绍ESXi是否支持设置时区的问题、如何确认ESXi主机的时间是否正确,以及手动修改ESXi主机的一些注意事项。
时区、UTC时间和北京时间的概念以及它们之间的关系
首先,我们来介绍下时区、UTC时间和北京时间的概念以及它们之间的关系
全球共分为24个标准时区,相邻时区的时间相差一个小时,在不同地区,同一个时区往往会有很多个不同的时区名称,因为名称中通常会包含该国该地区的地理信息。例如:北京时间和马来西亚时间都是东八区时间。
UTC (Coordinated Universal Time) 是国际时,UTC+8就是国际时加八小时,是东八区时间。 东八区(UTC/GMT+08:00)是比世界协调时间(UTC)/格林尼治时间(GMT)快8小时的时区
ESXi的时区问题
接着,我们来说说ESXi的时区问题:早期的ESXi/ESX可以通过命令设置时区,但是从ESXi 7.0的版本开始可以明确不支持设置时区。具体参考VMware官方手册说明:
ESXi hosts use UTC (Coordinated Universal Time) and do not support changing time zones. In the vSphere Client, you see your local time as the current host time.https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-06513518-BDD9-40E3-919D-12A37AA1C9E9.html#:~:text=ESXi%20hosts%20use%20UTC%20%28Coordinated%20Universal%20Time%29%20and,your%20local%20time%20as%20the%20current%20host%20time.
VMware ESXi主机使用的是UTC时间,因此在ESXi主机客户端显示的时间后面会自带UTC标识(下图红色框部分)
那么,应该如何确认ESXi的时间是否正确?可以借助以下公式来计算
公式:
ESXi的时区时间 = ESXi主机客户端看到的UTC时间 + 时区与UTC的时差
说明: 只要把在ESXi上看到的时间+当地时区时差的结果与当地时间进行比较,如果是一致,那么这台ESXi的时间就是正确的。
举例: 比如现在是北京时间2024年11月11日 18:14分,如果现在在ESXi看到的时间是2024年11月11日 10:14 UTC(如上图所示),那么加上北京时间(UTC+8)的时区差是+8小时,可以计算出当前ESXi的北京时间是2024年11月11日 18:14,只要计算出来的时间和北京时间一致,那么就说明ESXi的时间是正确的。
如何修改ESXi的时间
其次,我们再来说说下,如果ESXi时间不准确,我们应该如何正确修改ESXi的时间?
首选推荐使用NTP服务,具体步骤参考《如何配置VMware ESXi主机的时间和日期》
如果要手动设置ESXi时间,那么要注意:ESXi显示的是UTC时间,但是在手动修改时间的时候要求输入的登录ESXi主机客户端的PC所在的时区的时间(比如:北京时间),而不是UTC时间,因此只要确保你在ESXi主机客户端输入的是本地时间,那么ESXi的时间就是准确的。如果你不小心输入的是UTC时间,那么你就会发现ESXi主机比实际时间快了8小时。
下面演示:在不同时区的电脑上访问同一台ESXi主机并手动设置ESXi的时间。
A. 东八区(北京时间)访问ESXi并手动修改ESXi的时间
B. 在圣地亚哥(西四区)访问同一台ESXi主机并手动修改ESXi的时间
最后,总结一下,虽然ESXi不支持设置时区,但是这完全不影响ESXi主机和虚拟机的运行,我们只要确保在手动设置ESXi时间时在ESXi客户端输入的是正确的本地时间。比如你在东八区访问这台ESXi主机,只要输入你当地的时间(例如:北京时间),ESXi就会自动换算成UTC时间。ESXi同步给虚拟机的时间也是UTC时间,虚拟机的操作系统拿到这个时间后,会自动根据虚拟机操作系统里面设置的时区,自动换算并显示对应时区的时间。
如果不想让虚拟机同步ESXi主机的时间,可以编辑虚拟机的设置,在VMware Tools的选项中,取消勾选与主机进行同步的选项。然后在虚拟机的操作系统里面设置NTP进行同步时间
以上个人观点,若有不正确或不明白的地方,欢迎大家留言讨论。
虽然 VMware ESXi 本身不支持时区设置,但通过正确的时间同步方法(如使用 NTP 服务和手动调整本地时间),可以保证主机和虚拟机的时间保持一致。此外,了解如何解决 ESXi 时间显示为 UTC 的问题,对企业管理和跨时区操作的效率有很大帮助。如果您在配置 VMware ESXi 时遇到时间同步相关的问题,本文提供了详细的解决方案,帮助您优化环境设置。