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