ESX虛擬機假死或無法關(guān)閉和啟動問題?
虛機狀態(tài)無法改變,任務(wù)停止在啟動過程中、比如還有刪除快照的時候感覺好像進(jìn)程 是死在那里,任務(wù)列表顯示 Power on virtual machine:in progress 一直不結(jié)束,虛擬機的各種按鈕都是灰色的,僅有電源按鈕處于按下的狀態(tài),無法對此虛擬機進(jìn)行任何操作。
以及出現(xiàn)Vcenter 自動斷開的情況。
一般原因是由于ESX上與VC/VIC通訊的服務(wù)有故障,VM狀態(tài)混亂.
如果是服務(wù)有故障
那么嘗試重啟hostd和vpxa服務(wù)。
Hostd服務(wù)負(fù)責(zé)管理ESX上的大部分操作,vpxa服務(wù)是管理代理,用于處理主機和客戶端之間的通訊,客戶端包括vCenter Server和任何連接到ESX的VI client。
重啟hostd服務(wù),service mgmt-VMware restart。
重啟vpxa服務(wù),service vmware-vpxa restart。
VM狀態(tài)混亂:
vmware-cmd vmfs/volume/vmfslabel/vmname/vmname.vmx stop
vmware-cmd vmfs/volume/vmfslabel/vmname/vmname.vmx start
如果命令無法執(zhí)行, 強制關(guān)閉該VM的進(jìn)程.
ps -ef | grep <vmname> (注意確定VM的PID)
kill -9 pid
然后按正常方法啟動VM
載入如果出現(xiàn)VC的通信故障或者VC無法連接,登錄到VC主機
重啟VC服務(wù)
這里再提一個技巧,如果你是SERVER2008的系統(tǒng),將上述服務(wù)設(shè)置延時啟動(自動)可以解決有時候VC無法連接到數(shù)據(jù)庫的問題,特別是VC和SQL裝在一臺服務(wù)器上的情況,建議安裝VC時候?qū)C和SQL分開安裝。
虛擬機與物理服務(wù)器的差別突出了解決虛擬機問題的特殊挑戰(zhàn)。在物理服務(wù)器重新啟動之前,你可以切斷電源作為最后的手段解決問題。不過這個策略不適合虛擬機,因為它只有虛擬電源開關(guān)。有一些工具包可以幫助預(yù)防問題或使檢修過程更容易。在這篇文章中,TechTarget中國的特約虛擬化專家Eric Siebert將討論這些工具包,并逐步解釋怎么樣修理各種常見的問題。
vmware工具
你自己所熟悉的第一套工具是VMware的工具。VMware工具是一套增強型驅(qū)動和應(yīng)用程序,安裝在虛擬機操作系統(tǒng)上。最好的做法是要養(yǎng)成一個習(xí)慣——隨時安裝VMware工具以確保虛擬機的最佳性能和穩(wěn)定性。并且安裝任何升級補丁到ESX后(一些ESX補丁偶爾也需要更新到VMware工具),要反復(fù)查看以確信你運行的是最新版本的VMware工具。在VMware Infrastructure客戶端的虛擬機窗口上有一欄,這一欄顯示了每臺虛擬機VMware工具的狀況——是否運行正常、是否過期或未安裝。
虛擬機文件類型
作為檢修過程的一部分,你需要了解所有不同的文件類型。我們來看看這些與虛擬機相關(guān)的文件:
.nvram file——這個文件包含了虛擬機的CMOS/BIOS。
.vmdk files——這些是磁盤文件,為虛擬機里的每個虛擬硬驅(qū)動創(chuàng)建的。使用vmdk擴(kuò)展名的文件有以下三種類型:
*–flat.vmdk file——這是為每個虛擬硬驅(qū)動創(chuàng)建的真實的原始文件。
*.vmdk file——這是磁盤描述文件,描述了虛擬磁盤文件的大小和形狀。
*–delta.vmdk file——這是一個特定的文件,當(dāng)你對虛擬機進(jìn)行快照時創(chuàng)建的(也是REDO重做日志)。
.vmx file——這個文件是虛擬機最初配置文件。當(dāng)你創(chuàng)建一臺虛擬機并進(jìn)行硬件配置時,這些信息存儲在這個文件里。
.vswp file——這是虛擬機swap交換文件(早期的ESX版本在每臺主機上都有SWAP文件),這個文件允許ESX服務(wù)器增加新的虛擬swap空間。
.vmss file——這個文件創(chuàng)建于虛擬機暫停模式下,用于保存暫停時的狀態(tài)。
.log file——這是記錄虛擬機活動日志的文件,用于檢修虛擬機故障。
.vmxf file——這是文本格式的附加配置文件,為同一組虛擬機創(chuàng)建。
.vmsd file——這個文件用于存儲關(guān)于快照的元數(shù)據(jù)和信息。
.vmsn file——這個是快照狀態(tài)文件,存儲了使用快照時虛擬機當(dāng)時運行狀態(tài)的信息。
日志文件
了解了虛擬機文件類型,我們來看看日志文件。日志文件是解決虛擬機問題的最好途徑。當(dāng)問題發(fā)生時,這是你首先需要檢查的。
最重要的文件是Vmware.log file。這是ESX服務(wù)器上的虛擬機主要的日志文件,位于工作目錄。Vmware.log通常是目前的工作日志,舊的日志文件以數(shù)字上的增加來表示,例如,vmware-1.log。
在ESX主機上,你也需要檢查/var/log/vmkernel和 /var/log/vmware/hostd日志,以查看是否與虛擬機故障有關(guān)。有時,重新啟動ESX主機上的主機服務(wù)將解決棘手的虛擬機問題。對于更多的常見問題,有很多技術(shù)可以解決。下面講到一些這樣的問題。
問題一:不能關(guān)閉虛擬機
其實是不能用虛擬電源控制器關(guān)閉虛擬機。你可以采用命令行的方法試著手動地注銷虛擬機。下面列舉了好幾種方法。在決定采用重新啟動ESX主機之前,試試這些方法。
1.通常嘗試的第一種方法是使用vmware-cmd命令行。
登陸服務(wù)控制臺
鍵入“vmware-cmd –l”得到所有虛擬機及其路徑的列表
鍵入“vmware-cmd //.vmx getstate”查看虛擬機狀態(tài)
強制關(guān)閉“vmware-cmd //.vmx stop hard”
再次檢查虛擬機狀態(tài),現(xiàn)在應(yīng)該是關(guān)閉著的
鍵入“vmware-cmd //.vmx start”啟動虛擬機
2.第二種選擇是手動注銷虛擬機,通過找到虛擬機進(jìn)程標(biāo)識符(pid)并使用注銷命令終止它。
登陸服務(wù)控制臺
鍵入“vmware-cmd –l”得到所有虛擬機及其路徑的列表
鍵入“vmware-cmd //.vmx getstate”查看虛擬機狀態(tài)
鍵入“ps -ef | grep”
第二欄顯示虛擬機vmkload_app的進(jìn)程標(biāo)識符pid,你也可以輸入“ps –eaf”查看所有的運行進(jìn)程
鍵入“kill -9 pid”
重新查看虛擬機狀態(tài),現(xiàn)在應(yīng)該是關(guān)著的
鍵入“vmware-cmd //.vmx start”啟動虛擬機
3.最后一種方法是使用vm-support命令強制關(guān)閉虛擬機
登陸服務(wù)器控制臺
鍵入“vm-support –x”或“cat /proc/vmware/vm/*/names”,選擇你要關(guān)閉的虛擬機標(biāo)識符
鍵入“vm-support –X”注銷虛擬機及生成內(nèi)核轉(zhuǎn)儲(core dumps)
提示你是否保存虛擬機屏幕截圖,發(fā)送NMI到虛擬機并發(fā)送終止命令。你需要點擊確定按紐來注銷虛擬機。整個過程需要5到10分鐘運行。這將在目錄里創(chuàng)建一個報告存檔(tar archive)。
問題二:不能啟動虛擬機
另一個常見問題可能是不能啟動虛擬機。這種情況發(fā)生在主機服務(wù)器沒有虛擬機要使用的足夠資源。例如,如果虛擬機有一個內(nèi)存預(yù)留設(shè)置(memory reservation),ESX主機沒有足夠的物理內(nèi)存來滿足要求,虛擬機就不能啟動。如果發(fā)生這樣的情況,你可以選擇刪除虛擬機的內(nèi)存預(yù)留,把虛擬機遷移到另一臺有更多剩余物理內(nèi)存的主機上,或者選擇把現(xiàn)有主機上的物理內(nèi)存空出來。
同樣,當(dāng)虛擬機啟動時,需要在ESX主機上的虛擬機工作目錄里創(chuàng)建一個vswp文件,這個文件與分配給虛擬機的RAM(減去任何內(nèi)存預(yù)留)大小一樣。如果你的ESX主機沒有足夠硬盤空間的話,也不能啟動虛擬機。工作區(qū)設(shè)置的內(nèi)存預(yù)留大小與分配給RAM大小一樣,所以vswp文件尺寸將是0字節(jié)。不過,你要注意在VMFS(虛擬機文件系統(tǒng))卷上預(yù)留額外的磁盤空間給日志、swap交換文件和快照等,這一點很重要。
問題三:虛擬機由于操作系統(tǒng)損壞遇到啟動錯誤
如果虛擬機由于操作系統(tǒng)損壞或錯誤配置在啟動時出現(xiàn)問題,解決這個問題的方法是添加它的虛擬磁盤到另一個運行著的虛擬機,因此,你能訪問驅(qū)動并作出必要的修理。為了修理有問題的虛擬機,你要確保這臺虛擬機是關(guān)閉著的。下一步是添加額外的驅(qū)動到工作著的其他虛擬機并瀏覽有問題的虛擬機的磁盤文件。啟動工作著的虛擬機。現(xiàn)在,你能訪問有問題的虛擬機的驅(qū)動以作出任何改變和改正。從工作著的虛擬機移除驅(qū)動,添加到有問題的虛擬機,然后試著重新啟動。
問題四:普遍的虛擬機操作系統(tǒng)問題
為了檢修虛擬機操作系統(tǒng)的問題,我創(chuàng)建了一個ISO文件工具包,包含有用的檢修應(yīng)用程序,它能很快地啟動虛擬機的CD-ROM并能用來修理(或啟動)虛擬機。我使用的一些ISO文件包括下面幾種:
Sysinternals工具——檢修Windows服務(wù)器問題的好工具。
Gparted——基于Linux的磁盤分區(qū)編輯器。
Knoppix——基于Linux的CD盤,包羅許多工具很應(yīng)用程序。
Ultimate Boot CD——包含許多系統(tǒng)修理和測試工具的CD盤。
UBCD4Win——基于Windows的CD盤,包羅許多系統(tǒng)修理和測試工具。