ProLiant BL460c Gen9、 ESXi4、虛擬機器、linux時間一致性配置

mi_zy發表於2021-02-18

    Linux 時鐘分為系統時鐘(System Clock)和硬體(Real Time Clock ,簡稱RTC)時鐘。系統時鐘是指當前Linux Kernel中的時鐘,而硬體時鐘則是主機板上由電池供電的時鐘,這個硬體時鐘可以在BIOS中進行設定。當Linux 啟動時,硬體時鐘會去讀取系統時鐘的設定,然後系統時鐘就會獨立於硬體運作。

1、 ESXi4( 168.192.11.246:VMkernel ESXi4 6.0.0 #1 SMP Release build-2494585 Feb  5 2015 19:07:22 x86_64 x86_64 x86_64 ESXi) 檢視系統時鐘:使用命令esxcli system time get或者 date,檢視硬體時鐘:esxcli hardware clock get。

ESXi5/6/7等系統內固定使用UTC時間,而且將此時間(不可配置)寫入到BIOS時間。啟動時讀取BIOS時間,作為系統時間。--->測試OK,但是得等幾分鐘才自動寫入到BIOS。 

    在 ESXi4上新啟動或重啟虛擬機器,虛擬機器RHEL6.5系統的時間與 ESXi4主機同步一致。在 虛擬機器RHEL6.5系統修改時間,並寫入BIOS硬體時間,不會改變 ESXi4主機的時間。

hwclock --systohc 將系統時間寫入bios( hwclock --hctosys 將bios時間寫入系統

hwclock --show 顯示bios時間已修改為與系統時間一致

在ESXi4執行date:時間未更新,即修改虛擬機器的BIOS硬體時間不會更新 ESXi4的時間。

虛擬機器一般要安裝vmtools,可以讓虛擬機器和主機的時間進行同步,所以只需要更改主機時間就可以了,虛擬機器的時間會自動同步。

                    圖1

2、修改 ESXi4主機系統時間的方法。

1)ssh登入 ESXi4系統,date命令修改時間不行![root@ESXi4:~] date -s 02:20:50

——date: Setting date not supported; use < esxcli system time set>

2) ESXi4主機是不能用date命令來設定時間的,需要使用esxcli命令:

 esxcli system time set  -H 16 -m 01 -s 10    // 更改esxi系統時間 Set the system clock time         

      -d|--day=<long>       Day

      -H|--hour=<long>      Hour

      -m|--min=<long>       Minute

      -M|--month=<long>     Month

      -s|--sec=<long>       Second

      -y|--year=<long>      Year

esxcli system time get     // Disply the current system time

esxcli hardware clock get  //Disply the current hardware clock time

RHEL6.5系統: hwclock --systohc 將系統時間寫入bios,但是 esxi沒有類似命令!需使用 esxcli hardware clock set   -H 16 -m 01 -s 10設定( 實際ESXi5/6/7會自動將系統時鐘寫入硬體時鐘 )。

3) 在vSphere Web Client中 ESXi主機的“時間配置”中修改時間,即修改 ESXi的 系統時鐘,並自動寫入硬體時鐘——OK!

                                                       圖2

3、綜上,只需按《圖2》設定每臺ESXi4開啟NTP服務與GPS伺服器(11.63)同步系統時鐘即可,ESXi4會自動將系統時鐘寫入ProLiant BL460c Gen9伺服器的硬體時鐘,所以即使重啟ESXi4時鐘也OK,然後按《圖1》通過vmtools設定,可以讓虛擬機器和主機的時間進行同步,這樣在ESXi4上新啟動或重啟虛擬機器的時鐘也OK。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2757496/,如需轉載,請註明出處,否則將追究法律責任。

相關文章