在實際使用中,計算機的時間比較重要,單位考勤、業(yè)務(wù)文檔的生成,都依據(jù)計算機以及服務(wù)器的時間。越來越多的服務(wù)器已經(jīng)遷移到虛擬機中運行,而虛擬機的時間依賴于主機的時間,如果ESXi主機的時間不正確,則虛擬機的時間也不正確,這樣在實際生產(chǎn)中會造成問題。安裝VMware ESXi之后,要調(diào)整或修改VMware ESXi的時間配置,讓VMware ESXi的時間與服務(wù)器所在的時區(qū)同步。通常來說,如果網(wǎng)絡(luò)中有“NTP服 務(wù) 器”,如 管 理配置Microsoft的Active Directory服務(wù)器作為NTP服務(wù)器,則可以配置VMware ESXi使用局域網(wǎng)中的“NTP服務(wù)器”進行時間的同步。如果當前網(wǎng)絡(luò)中沒有NTP服務(wù)器,但VMware ESXi的配置可以連接到Internet,則可以采用Internet上提供的NTP服務(wù)器,例如VMware
圖1 NTP服務(wù)器是網(wǎng)絡(luò)中的一臺物理服務(wù)器
官方提供的4臺NTP服務(wù)器:
0.vmware.pool.ntp.org,
1.vmware.pool.ntp.org,
2.vmware.pool.ntp.org,
3.vmware.pool.ntp.org。
說 明 :NTP是Network Time Protocol的簡稱,是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務(wù)器或時鐘源(如石英鐘、GPS等)做同步化,可以提供高精準度的時間校正(局域網(wǎng)中與標準時間差小于1毫秒,廣域網(wǎng)上與標準時間差為幾十毫秒)。
本文通過圖1所示的拓撲結(jié)構(gòu),介紹ESXi中NTP時間服務(wù)器的配置。
在圖1中,作為NTP時間服務(wù)器的是網(wǎng)絡(luò)中一臺獨立的物理機,這臺物理機與ESXi主機屬于同一個網(wǎng)絡(luò)。NTP是用的Windows Server 2012 R2的Active Directory服 務(wù) 器(在 將Windows升 級 到Active Directory服務(wù)器后,自動會啟用NTP服務(wù))。在配置之后,ESXi主機會通過172.18.96.1的NTP進行同步,而ESXi中的虛擬機,例如“虛擬機 1”、“虛擬機 2”、“虛擬機3”這些運行在ESXi主機中的虛擬機,則會從ESXi主機進行同步。
如果作為NTP服務(wù)器的Active Directory,同 時 也是ESXi中的一臺虛擬機,那就存在一個“循環(huán)”的問題。虛擬機會從ESXi主機同步,而ESXi會從NTP同步,但作為NTP服務(wù)器的計算機又是ESXi中的一個虛擬機。因為同步是有周期的,如果ESXi主機時間不對的情況下,作為NTP服務(wù)器的虛擬機從ESXi獲得了不正確的時間,稍后ESXi從NTP同步,又會獲得錯誤的時間,這就造成“死循環(huán)”。
對于這種情況,就需要修改作為NTP服務(wù)器的虛擬機,不讓虛擬機與ESXi主機同步時間。
在默認情況下,即使未打開周期性時間同步,虛擬機有時也會與主機同步時間。若要完全禁用時間同步,則必須對虛擬機配置文件中的某些屬性進行設(shè)置。關(guān)閉虛擬機的電源,修改虛擬機的配置文件(.vmx),為時間同步屬性添加配置行,并將屬性設(shè)置為FALSE。
tools.syncTime ="FALSE"
time.synchronize.continue = "FALSE"
time.synchronize.restore = "FALSE"
圖2 添加時間同步屬性配置行
time.synchronize.resume.disk = "FALSE"
time.synchronize.shrink = "FALSE"
time.synchronize.tools.startup = "FALSE"
如果虛擬機是VMware Workstation,則可以直接用“記事本”修改虛擬機配置文件,添加以上內(nèi)容。如果虛擬機是VMware ESXi,則需要按照如下步驟操作。
1.使用vSphere Client連接到ESXi,關(guān)閉想禁用時間同步的虛擬機,編輯虛擬機設(shè)置。打開虛擬機屬性后,在“選項→高級→常規(guī)”選項中,單擊“配置參數(shù)”。
2.單擊“添加行”,會添加一個空行,在“名稱”及“值”處輸入配置參數(shù)(一行一個,需要添加六行,這些內(nèi)容可以看本文開始介紹的配置行,不要添加=和英文的雙引號)。添加之后如圖2所示。添加后單擊“確定”按鈕返回虛擬機配。經(jīng)過這樣設(shè)置,虛擬機的時間將不再與ESXi主機同步。
如果NTP工作不正常,可以參考本文內(nèi)容一一檢查或配置。下面介紹將Windows Server(例 如 Windows Server 2008 R2、Windows Server 2012、Windows Server 2016)配置為NTP時間服務(wù)器的內(nèi)容。
1.運 行regedit,打 開“注 冊 表 編 輯 器”,定位到HKEY_LOCAL_M A C H I N ES Y S T E MC u r r e n t C o n t r o l S e tS e r v i c e sW 3 2 T i m eParameters,雙擊 Type查看參數(shù)是否為NTP,如果不是請改為NTP。
2.雙 擊 NtpServer,為當前的Windows Server指定上游的NTP服務(wù)器(當前這臺即將配置為NTP服務(wù)器的計算機,使用的基準時間服務(wù)器,可以通過網(wǎng)絡(luò)訪問到),通常情況下Windows操作系統(tǒng)使用的NTP服務(wù)器是time.windows.com??梢噪p擊NtpServer進行查看與修改。
3.修 改H K E Y_LOCAL_MACHINESYSTEMC u r r e n t C o n t r o l S e tServicesW32TimeConfig注冊表項中AnnounceFlags的值為5。
4.定 位 到HKEY_LOCAL_MACHINESYSTEMC u r r e n t C o n t r o l S e tServicesW32TimeTimeProvidersNtpClient,修改SpecialPolllnterval為十進制的600(10分鐘)。修改后如圖3所示。
5.在“服 務(wù)”中 修 改“Windows Time”的“啟動類型”為“自動(延遲啟動)”,并重新啟動Windows Time服務(wù)器。
經(jīng)過上述設(shè)置,這臺Windows Server即可用作NTP服務(wù)器。
要為ESXi指定NTP,還需要修改配置文件。為了修改ESXi配置文件,需要使用SSH客戶端登錄到ESXi,要先啟用VMware ESXi的SSH服務(wù),關(guān)于為ESXi主機啟用SSH服務(wù)的操作不做介紹。
圖3 修改參數(shù)后截圖
圖4 查看Type 參數(shù)
在啟用SSH服務(wù)之后,使用SSH客戶端登錄到ESXi主機,修改以下配置文件。
1.使用Xshell 5登錄到ESXi主機,進入ESXi的Shell后,執(zhí) 行vi /etc/npt.conf命令。
2.用vi編輯器打開ntp.conf配置文件后,按Insert鍵進入編輯模式,移動光標到最后一行最后一個字符,按回車鍵新添加一行,輸入以下內(nèi)容(全部為小寫):
tos maxdist 30
添加之后按Esc鍵,輸入:wq,按回車鍵存盤退出。
3.如果是ESXi 5.5的主機,還需要修改/etc/likewise/lsassd.conf文件,去 掉#sync-systemtime的注釋,并設(shè)置:
sync-system-time =yes
ESXi 6.0主機則沒有此項設(shè)置。
在ESXi中,管理員可以手動配置主機的時間設(shè)置,也可以使用NTP服務(wù)器同步主機的時間和日期。在大多數(shù)的情況下,第一次配置的時候應(yīng)先調(diào)整主機的時間,然后再使用NTP進行同步。
(1)在“配置→時間配置”選項中,單擊右上角的“屬性”按鈕,在彈出的“時間配置”對話框中,調(diào)整VMware ESXi主機的時間與你所在時區(qū)當前時間相同,然后單擊“確定”按鈕。
(2)如果要設(shè)置VMware ESXi的NTP“時間服務(wù)器”,可以在圖4中單擊“選項”按鈕,在彈出的“NTP守護進程(ntpd)選項”對話框中,選擇“NTP設(shè)置”,單擊“添加”按鈕,添加NTP服務(wù)器。如果ESXi主機可以連接到Internet,則推薦采用 VMware提供的NTP服務(wù)器:
0.vmware.pool.ntp.org
1.vmware.pool.ntp.org
2.vmware.pool.ntp.org
3.vmware.pool.ntp.org
如果使用vSphere Client添加NTP服務(wù)器,則每行添加一個;如果使用vSphere Web Client添加NTP服務(wù)器,則可以同時添加多臺NTP服務(wù)器,NTP服務(wù)器之間需要用英文的逗號分隔。
圖5 ESXi時間已經(jīng)同步
(3)如果使用局域網(wǎng)中配置的NTP服務(wù)器,例如本示例中,采用網(wǎng)絡(luò)中的Active Directory服務(wù)器作為時間服務(wù)器,其地址為172.18.96.1。
(4)在添加NTP服務(wù)器之后,可以在“常規(guī)”選項中,選擇“與主機一起啟動和停止”單選按鈕。設(shè)置之后單擊“確定”按鈕。
經(jīng)過上述配置后,ESXi主機會從指定的NTP服務(wù)器進行時間同步,如圖5所示,右下角為172.18.96.1的Active Directory服務(wù)器的時間,而圖中ESXi的時間已經(jīng)同步。
說明: 在使用vSphere Client、vSphere Web Client查看ESXi主機的時間時,顯示的時間與當前時區(qū)的時間相同,而使用vSphere Host Client登錄到ESXi查看主機時間時,顯示的是UTC時間。請注意,這只是不同的計時方式(和下午3點也被稱為15點相同),虛擬機的時間仍然是正確的。