描述
在 ESXi 中创建 CentOS 7 虚拟机后,在虚拟机中时区选择正确的情况下,虚拟机中的 UTC 时间,即 Universal time 与 现实中的 UTC 时间不一致,或者说虚拟机中的 CST 时间与现实中的当地之间不一致。
原因
例如在中国安装 ESXi 时,(猜想)ESXi 在安装时,获取当前时间后,将时间直接认为是 UTC 时间,直接设置为系统时间。并且,虚拟机中并无硬件时间,虚拟机中的 Universal time,即 UTC 时间会直接等于 ESXi 的系统时间。而虚拟机中的 CST 时间 = 虚拟机中的 UTC 时间 + 8H。将以上信息组合后,会得到如下的公式:
虚拟机中的 Universal time( UTC 时间)= 中国( UTC + 8 )北京时间
虚拟机中的 CST 时间 = 虚拟机中的 UTC 时间 + 8H
虚拟机中的 CST 时间 - 北京时间 = 8H
即,虚拟机中的 CST 时间比北京时间多 8 小时。
解决
进入 ESXi Web
主机,管理,系统,时间和日期,编辑设置,在此主机上手动配置日期和时间(此处在选择时间时,于北京时间保持一致,ESXi 将自动获取时区,然后根据时间减去对应的时差,例如:北京时间,时间减 8H,生产 UTC 时间)
选中虚拟机,编辑,虚拟机选项,VMware Tools,时间,勾选:同步客户机时间与主机时间,保存