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