VMware ESX服務(wù)器常見問題診斷和解決
在這個系列里,我提供了通常由VMware ESX主機(jī)服務(wù)器、VirtualCenter、和虛擬機(jī)中出現(xiàn)的許多常見問題的解決方法。我們先開始處理在VMware ESX服務(wù)器常見問題診斷和解決。
Windows服務(wù)器的管理員早已熟悉了可怕的藍(lán)屏死機(jī)(BSOD),這就意味著服務(wù)器完全地終止。VMware ESX也有類似的狀況,叫做紫屏死機(jī)(PSOD),典型的是由于硬件問題和VMware 代碼中的bug造成的。
VMware ESX服務(wù)器常見問題之解決紫屏死機(jī)問題
當(dāng)一個PSOD出現(xiàn)時,你需要做的***件事情就是記錄下屏幕上顯示的信息,我建議用數(shù)碼相機(jī)或者手機(jī)拍一個快照。PSOD信息包括ESX的版本和構(gòu)建、異常類型、寄存器轉(zhuǎn)儲、在崩潰時每一個CPU在運(yùn)行什么、跟蹤信息、服務(wù)器正常運(yùn)行時間、錯誤信息和內(nèi)存核心轉(zhuǎn)儲信息。這些信息對你沒用,但是VMware 技術(shù)支持人員可以解碼上述信息,幫助測定崩潰的原因。
不幸的是,當(dāng)遭遇到PSOD,除了記錄屏幕上的信息,你唯一的選擇是關(guān)閉服務(wù)器重啟。一旦服務(wù)器重啟起來,你將在服務(wù)器的/root目錄下發(fā)現(xiàn)mkernel-zdump-*文件,這個文件對定位問題很有價值。你可以用vmkdump工具從該文件中提取vmkernel日志文件(vmkdump –l),然后定位引起PSOD的原因。VMware支持一般也需要這個文件。出現(xiàn)PSOD常見的原因是服務(wù)器內(nèi)存不足,那個轉(zhuǎn)儲文件將有助于識別導(dǎo)致問題的內(nèi)存模塊并替換這個模塊。
VMware ESX服務(wù)器常見問題之檢查你的RAM
如果你懷疑你系統(tǒng)的RAM可能有問題,可以用一個內(nèi)置的工具在后臺檢查你的RAM而不影響你正在運(yùn)行的虛擬機(jī)。該RAM檢查工具運(yùn)行在VMkernel里,通過登錄到服務(wù)器控制臺,輸入Service Ramcheck Start開啟。
當(dāng)正在運(yùn)行RAM檢測時,它把所有的活動和任何錯誤信息記錄到/var/log/vmware目錄下的文件ramcheck.log和ramcheck-err.log中。然而,它的一個缺陷是如果你有虛擬機(jī)正在運(yùn)行,用這個工具不能檢測所有的RAM,只能檢測在ESX系統(tǒng)中未用的RAM。一個比較徹底的檢測你的服務(wù)器中RAM的方法是關(guān)閉ESX,從CD引導(dǎo),然后運(yùn)行Memtest86+程序。
VMware ESX服務(wù)器常見問題之使用vm-support工具
如果你聯(lián)系VMware技術(shù)支持人員,他們一般會要求你運(yùn)行vm-support工具,它將把所有的ESX server的日志和配置文件打包成一個文件。通過root權(quán)限登錄到服務(wù)控制臺,然后不需要設(shè)置任何選項,輸入“vm-support” 就可以運(yùn)行這個工具。這個工具將創(chuàng)建一個Tar文件,以"esx---..tgz"格式命名。你可以通過FTP把它發(fā)送給VMware技術(shù)支持人員。確保把該Tar文件從ESX服務(wù)器上刪除,這樣做可以節(jié)省磁盤空間,或者,你可以通過VI client生成同樣的文件。選擇Administration,然后選擇Export Diagnostic Data,選擇你的主機(jī)(VirtualCenter 數(shù)據(jù)選項)和一個本地PC目錄來存儲將要創(chuàng)建的文件。
VMware ESX服務(wù)器常見問題之用日志文件排除故障
日志文件一般是排除各種類型問題的***工具。ESX有許多的日志文件,你需要檢查哪個日志文件取決于你所遇到的問題。以下是ESX日志文件的列表,你通??梢杂脕矶ㄎ籈SX服務(wù)器的問題。VMkernel和主機(jī)日志文件一般都是你需要首先檢查的。
VMkernel - /var/log/vmkernel——與虛擬機(jī)和ESX服務(wù)器相關(guān)的活動的記錄。帶擴(kuò)展名以數(shù)字循環(huán),當(dāng)前的日志沒有擴(kuò)展,最近的日志帶有“.1”擴(kuò)展。
VMkernel Warnings -/var/log/vmkwarning——記錄虛擬機(jī)的活動,VMkernel日志的子集,用同樣的循環(huán)模式。
VMkernel Summary - /var/log/vmksummary——用于確定ESX服務(wù)器正常運(yùn)行的時間和可用性統(tǒng)計,可讀性的總結(jié)在/var/log/vmksummary.txt中。
ESX Server host agent log - /var/log/vmware/hostd.log——包含管理和配置ESX服務(wù)器主機(jī)和它的虛擬機(jī)代理信息。(查找文件的date/time戳來找到最近輸出的日志文件,或者打開hostd.log,該文件連接到當(dāng)前的日志文件)。
ESX Firewall log - /var/log/vmware/esxcfg-firewall.log——記錄所有的防火墻規(guī)則事件。
ESX Update log - /var/log/vmware/esxupdate.log——記錄所有的通過esxupdate統(tǒng)計所在的更新。
Service Console - /var/log/messages——包括所有的用于排除虛擬機(jī)和ESX服務(wù)器故障的一般日志信息。
Web Access - /var/log/vmware/webAccess——記錄通過基于web訪問ESX服務(wù)器的信息。
Authentication log - /var/log/secure——包含所有的需要認(rèn)證的連接信息,例如VMware守護(hù)進(jìn)程和由xinetd守護(hù)進(jìn)程發(fā)起的動作。
Vpxa log - /var/log/vmware/vpx——記錄和VirtualCenter通訊的代理的信息,通過查找文件的date/time戳來找到最近輸出的文件或者打開hostd.log,該文件連接到當(dāng)前的日志文件。
做為解決故障過程的一部分,你經(jīng)常需要找出各種ESX組件的版本和使用的補(bǔ)丁,下面是一些命令,你可以從服務(wù)臺運(yùn)行來完成:
輸入vmware -v來檢查ESX服務(wù)器的版本,例如VMware ESX Server 3.0.1 build-32039
輸入esxupdate –l query來查看安裝的補(bǔ)丁
輸入vpxa –v來檢查ESX服務(wù)器的管理版本,例如VMware VirtualCenter Agent Daemon 2.0.1 build-40644
輸入rpm –qa | grep VMware-esx-tools來檢查ESX服務(wù)器VMware Tools安裝的版本,例如VMware-esx-tools-3.0.1-32039
如果所有可能失敗,重啟Vmwate主機(jī)代理服務(wù)
許多的ESX問題可以通過重啟VMware主機(jī)代理服務(wù)(vmware-hostd)解決,該服務(wù)負(fù)責(zé)管理大部分ESX主機(jī)的操作,通過登陸服務(wù)控制臺,輸入service mgmt-vmware restart來實現(xiàn)。
注意:ESX 3.0.1有一個bug,如果你的ESX服務(wù)器為你的VM配置了auto-startups選項,它將重啟你所有的VM。這個bug在3.0.1 和 3.0.2中用一個補(bǔ)丁修復(fù),但是在ESX 3.5中用另一個發(fā)布的補(bǔ)丁修復(fù)。在運(yùn)行此命令時***臨時禁止auto-startups選項。
在某些情況下,當(dāng)你重啟主機(jī)代理服務(wù),重啟vmware-vpxa服務(wù)可以定位發(fā)生在ESX和VI Client之間以及ESX和VirtualCenter之間的問題。該服務(wù)是管理代理,處理ESX和它的客戶端的所有通訊。通過登陸ESX主機(jī),輸入service vmware-vpxa restart就可以完成。需要注意的是重啟哪種服務(wù)都不會影響你的虛擬機(jī)操作(除了上述提到的bug)。
VMware ESX服務(wù)器常見問題之修復(fù)凍結(jié)的服務(wù)控制臺
另一個會發(fā)生的問題是你的服務(wù)控制臺掛起,不允許你本地登入。硬件鎖定或者一個死鎖狀態(tài)都會導(dǎo)致這樣。當(dāng)發(fā)生這種狀況時,你的VM可以繼續(xù)正常運(yùn)行,但是重啟ESX是通?;謴?fù)的唯一的方法。在你重啟之前,試著關(guān)閉你的客戶VM,或者用VMotion把它們遷移到另一個ESX主機(jī)上。通過SSH遠(yuǎn)程連接的VI Client或者alternate/emergency控制臺的其中之一來完成,可以先按Alt-F6,然后按Alt-F2鍵。你也可以按Alt-F12在控制臺的屏幕上顯示內(nèi)核信息。如果你可以關(guān)閉或者遷移你的VM,你就可以通過VI Client或者alternate控制臺發(fā)出重新引導(dǎo)的命令來試圖重啟服務(wù)器。如果不行,冷啟動服務(wù)器就是你唯一的選擇了。
VMware ESX服務(wù)器常見問題之網(wǎng)絡(luò)配置丟失
可能出現(xiàn)的問題是你也許丟失了部分或所有的網(wǎng)絡(luò)配置。如果發(fā)生這種情況,由于你不能通過VI Client連接,你必須用ESX本地服務(wù)控制臺來重新構(gòu)建網(wǎng)絡(luò)。VMware已經(jīng)發(fā)布了相關(guān)知識的文章:如何使用esxcfg-*服務(wù)控制臺命令來重建你的網(wǎng)絡(luò)和如何驗證你的網(wǎng)絡(luò)配置。
結(jié)論
在這篇文章里,我已經(jīng)敘述了一些發(fā)生在VMware ESX服務(wù)器常見問題,在這個系列文章的下一部分,我將描述在VirtualCenter的故障排除問題。
【編輯推薦】