修改ESXi主机直接控制台中的UTC为CST
更新:HHH   时间:2023-1-7


注:作者使用环境为ESXi 6.7

有时我们会看到ESXi主机中的时间与我们实际上的北京时间不同,如下图1-1所示,显示的就是UTC时间,UTCUniversal Time Coordinated,称为通用协调时间,也称为零时区,零时区和中国北京时区相差8个时区。CST可视为美国、澳大利亚、古巴或中国的标准时间。我国时区是东八区,使用的是CST时区时间,领先UTC八个小时。

有些时候我们需要修改这个时间为我们熟知的东八区,通过这篇文章,我们把ESXi直接控制台的时区进行修改,此篇文章仅适用于在ESXi直接控制台中修改时区并生效,不会对vSphere Host Client显示的时区时间有任何影响。

1-1 ESXi主机上的UTC时间

ESXi系统中,与日期时间有关的文件是/etc/localtime,而在主流Linux系统中,与日期时间有关的文件也是/etc/localtime。在Linux系统中就不存在UTC时间的问题,所以我们可以借用Linux系统中的localtime文件来代替ESXi系统中的localtime文件。下面我们开始localtime文件代替过程。

  •   通过WinSCP文件传输软件登录一台Red Hat Enterprise Linux,然后将/etc/localtime文件下载至U盘。

  •   通过WinSCP文件传输软件登录ESXi主机系统,先备份ESXi主机中原/etc/localtime文件,备份名称可以改为localtime.back,备份到哪里,可以根据自己的情况而定,可以备份到自己的U盘里,以便将来出现问题再还原回去。

  •   备份原localtime文件后,把从Linux服务器上下载的localtime文件上传至ESXi主机的数据存储目录,其它目录ESXI重启系统都会还原,文件也会丢失。我们当前环境下数据存储目录为/vmfs/volumes/sdisk,而sdisk是一个色链接文件,其指向了/vmfs/volumes/5dd64ab1-ad655a44-2477-000c2978d123,如下图1-2所示。

1-2 存储链接目录

如下图1-3所示,localtime已经存在于数据存储目录,但工作并没有完成,把localtime存放在数据存储目录目的仅在于防止ESXi机器重启丢失。最终我们要把这个文件放在/etc目录下才能生效,所以我们还需要把其拷贝至ESXi主机的/etc/目录下。

1-3 上传localtime文件对数据存储目录

我们在ESXi直接控制台下打开Shell功能,按Alt+F1快捷键,进入命令行界面,然后使用复制命令,覆盖掉/etc下的localtime文件,cp -if /vmfs/volumes/sdisk/localtime  /etc/localtime,当提示是否覆盖/etc/下的localtime时,我们选择“y”,即可,如下图1-4所示。

1-4 覆盖原localtime文件

为了防止ESXi主机重启后/etc/localtime文件还原成原来的样子,我们可以把刚才的拷贝命令写入自动启动脚本文件/etc/rc.local.d/local.sh中,在ESXi直接控制台命令行界面执行命令vi /etc/rc.local.d/local.sh,打开local.sh可执行文件,添加命令行后保存退出,如下图所示。

1-5 复制localtime文件到/etc/目录

在稍后的过程中,无论ESXi主机重启与否,我们再用data命令查看日期时间时,其显示的都是CST时间。如下图1-6所示。

1-6 显示CST时间

返回云计算教程...