虚拟机VMWARE ESXI环境下,设置系统时间,系统重启后只有UTC时间是刚才设置的时间,CST时间提前8个小时。
或者有询问,Esxi不支持修改时区,但是可以使用ESX或者Centos 6/7的localtime文件进行替换以实现时区修改,问题是,重启后文件会被还原。
还有解决方法,独门绝技解决 ESXI6.0 时间(时区)显示不一致
都没下面的解决方法简单。
网上正确的操作时间的操作流程如下:
系统修改时间日期的顺序很重要。1,修改时区,2修改日期,3硬件时间写入。
#rm /etc/localtime 删除之前的时区。
#ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 使用北京上海时区
#date -set "2013-12-24 00:01:50" 设置系统时间
#hwclock -w 以系统时间为准,设置硬件时间;#hwclock -s 以硬件时间为准,设置系统时间
利用timedatectl查看,OK问题看来似乎是解决了。
#timedatectl
Local time: Fri 2020-09-04 09:04:17 CST
Universal time: Fri 2020-09-04 01:04:17 UTC
RTC time: Fri 2020-09-04 01:04:17
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
但重启后时间变成下面这样,只有UTC是刚才设置的时间,CST时间提前了8个小时。
Local time: Fri 2020-09-04 17:06:22 CST
Universal time: Fri 2020-09-04 09:06:22 UTC
网上很多咨询为什么UTC跟CST不一致的问题。然后使用了下面的命令让CST和UTC一致。其实是错误的,仔细查看命令它在info后面多了个r,导致命令失败,linux会使用默认的UTC时区的时间。
#ln -s /usr/share/zoneinfor/Asia/Shanghai /etc/localtime
在VMWARE ESXI虚拟化环境下,因VMWARE虚拟化的限制,不允许在一台ESXI主机上运行多个不同系统时间的系统。所以虚拟机重启后会去同步宿主机的系统时间来获取并设置为自己系统的时间。如果需要让虚拟机的时间重启后仍能保持和正常时间一致,需要修改宿主机本身的时区和时间才有效。修改宿主机的操作界面如下:
重启虚拟机centos8后查看时间,完全正确。
#timedatectl
Local time: Fri 2020-09-04 10:23:21 CST
Universal time: Fri 2020-09-04 02:23:21 UTC
RTC time: Thu 2020-09-03 18:23:19
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no