某虛機(jī)因故關(guān)閉了一段時間,再次開機(jī)后,始終未進(jìn)入操作系統(tǒng),遂選擇虛擬控制臺上的“重置”,以為就這樣沒事了。豈料,過了好久仍未觀察到該虛機(jī)業(yè)務(wù)恢復(fù)。再次觀察虛機(jī)仍是未進(jìn)入操作系統(tǒng),且“近期任務(wù)”中也看不到該虛機(jī)重置狀態(tài),說明重置指令執(zhí)行完畢已經(jīng)自動不顯示了。此時,再次點擊關(guān)閉虛擬機(jī)電源、重置、掛起,均顯示“正在處理另一個任務(wù)”,虛機(jī)既不能啟動,也無法停止。
出現(xiàn)這一情況,其實在虛機(jī)開啟時,就沒有正常加載啟動,而我也沒有等待足夠長的時間讓虛機(jī)正常起來,于是冒失地“重置”將虛機(jī)置于“卡殼”狀態(tài)。虛機(jī)的啟動,與ESXi的Hostd服務(wù)緊密相連,此時需要在“主機(jī)→配置→安全配置文件→服務(wù)”中編輯打開SSH,進(jìn)入命令行操作。
首先重啟Hostd服務(wù),在命令行輸入“/etc/init.d/hostd restart”,重啟后回到WebClient查看虛機(jī)仍是無法關(guān)閉或重置,接下來只能強(qiáng)制殺掉虛機(jī)進(jìn)程。通過命令“esxcli vm process list”查看到本主機(jī)上虛機(jī)的進(jìn)程情況和World ID,確認(rèn)ID和虛機(jī)后以命令“esxcli vm process kill--type=force --worldid=4860”進(jìn)行強(qiáng)制關(guān)閉。完成后再次重啟Hostd服務(wù),最后來到WebClient重新點擊虛機(jī)開啟,此時虛機(jī)順利開啟并進(jìn)入到操作系統(tǒng),觀察約1小時,虛機(jī)都運(yùn)行平穩(wěn),確認(rèn)該問題解決。
小結(jié):虛機(jī)卡住等待處理另一個任務(wù)的情況其實并不多見,可能是ESXi的某些Bug被觸發(fā),可能是當(dāng)時主機(jī)的負(fù)載較高來不及響應(yīng),也可能是等待某個未釋放的資源,強(qiáng)制關(guān)閉類似于直接拔掉了服務(wù)器電源,是一個粗暴的操作行為。
本例的虛機(jī)處于剛開啟階段,甚至并未讀取磁盤,因而沒有其他副作用。假設(shè)運(yùn)行中的虛機(jī)出現(xiàn)了類似情況,強(qiáng)制關(guān)閉則可能導(dǎo)致數(shù)據(jù)不能及時回寫到磁盤,造成數(shù)據(jù)丟失或數(shù)據(jù)損壞,遇到這種問題,需要根據(jù)情況慎重操作。