天天看點

ESXI6.0 時間(時區)顯示不一緻

作者:雲南康之晨科技

由于設定ESXI計劃任務,無意間發現了esxi伺服器客服端時間和系統顯示時間不一緻的情況,導緻了(我為了一緻,通過SSH用指令修改了ESXI系統時間)虛拟機時間也不一緻,最終導緻虛拟伺服器系統時間出錯。

ESXI6.0 時間(時區)顯示不一緻
ESXI6.0 時間(時區)顯示不一緻

相差大約八小時,可以通過用戶端顯示的時間CST,而ssh伺服器用指令顯示為UTC時間。于是我檢視了所有的ESXI伺服器,發現都是一樣的情況,因為平時不在意(沒有關注這裡的時間)沒有關注這一點,你會發現你的ESXI也是這樣的。當時我想到用指令(esxcli system time set)改為一樣不就行了,可以事與願違,改了後導緻虛拟伺服器時間也跟着變,導緻系統錯誤。

最後查了下資料發現ESXI預設都是UTC時間,并且無法更改,更坑的是官方也是這樣說的,隻有4.X下的版本的破解辦法,4.X以後官方也無解法。

ESXI6.0 時間(時區)顯示不一緻
ESXI6.0 時間(時區)顯示不一緻

于是自己搗鼓了下,發現ESXI上/etc下有個localtime ,于是聯想到了LINUX下的localtime,能否先設定好,再進行替換,于是進行了嘗試:

先把LINUX伺服器時間設定好,再把localtime複制并上傳到ESXI伺服器上,一定要上傳到資料存儲目錄,其它目錄ESXI重新開機系統都會還原,檔案也會丢失。這裡目錄為:/vmfs/volumes/(你的自盤目錄)

ESXI6.0 時間(時區)顯示不一緻

然後使用複制指令,覆寫掉/etc下的localtime檔案,cp /vmfs/volumes/esxi26199/localtime /etc/localtime。

ESXI6.0 時間(時區)顯示不一緻

然後date你會發現奇迹出現了:

ESXI6.0 時間(時區)顯示不一緻

時間變為了CST了,而且你用用戶端登陸發現時間也是正常的,沒有再變了,檢視虛拟機時間也是正常的。

ESXI6.0 時間(時區)顯示不一緻

但是重新開機ESXI後你會發現你所作的操作都是無用的,一切回到從前……

接着說解法吧:

剛剛為什麼要把localtime檔案拷到資料存儲目錄下也是有原因的,為了我們能重複使用。

在ESXI中,開機有會自動啟動腳本檔案,路徑為:/etc/rc.local.d/local.sh檢視屬性你會發現此檔案為可讀寫可執行的。

ESXI6.0 時間(時區)顯示不一緻

添加一條指令在此檔案中即可:cp /vmfs/volumes/esxi26199/localtime /etc/localtime

ESXI6.0 時間(時區)顯示不一緻

這樣即使ESXI主機重新開機後,時間也會正确的了(可能會有幾秒延時)。

經過測試,UBANTU和CENTOS下的localtime都可以作為原檔案進行替換。