vSphere崩潰后該做些什么?雖然是小概率事件
原創(chuàng)VMware的vSphere虛擬化平臺以可靠性著稱,內(nèi)置了諸如高可用(HA)等功能,確保物理服務(wù)器故障對最終用戶的影響降到***,但不是所有Vmware用戶都使用了這些功能或類似的技術(shù),即使使用了這些功能也不能保證不會發(fā)生意外,于是一個非?,F(xiàn)實的問題就擺在了我們面前:當虛擬機速度變慢或宕機,ESXi服務(wù)器或vCenter失去響應(yīng)等異常發(fā)生時,我們該做些什么?
vSphere故障解決概述
為了準備Vmware認證高級專家 – 數(shù)據(jù)中心管理員認證,以及vSphere故障解決課程,我花了大量時間解決各種vSphere故障,我甚至故意將vSphere破壞掉,然后嘗試進行修復,大多數(shù)時候我會成功,但也有失敗的情況。如果你也想在解決vSphere故障時取得成功,需要考慮的事情太多了,只要下面任何一項未考慮到,整個虛擬化基礎(chǔ)設(shè)施(VI)可能就會崩潰。
◇ 物理服務(wù)器:ESX和ESXi服務(wù)器需要電源、CPU、內(nèi)存和本地磁盤,這些組件都有可能出現(xiàn)故障。
◇ 物理網(wǎng)絡(luò):當你運行vSphere客戶端時,本地LAN為物理服務(wù)器、交換機、SAN/NAS、DNS服務(wù)器、終端用戶和你(管理員)提供連接保障(vSphere客戶端是一個管理工具,管理vSphere全靠它)。
◇ 共享存儲:存儲通常由SAN或NAS提供,大多數(shù)時候,如果SAN或NAS失去響應(yīng)或連接丟失,虛擬基礎(chǔ)設(shè)施將會受到影響。
◇ ESX和ESXi服務(wù)器Hypervisor:服務(wù)器上的操作系統(tǒng)當然得正常運行,如果ESX或ESXi服務(wù)器遇到PSOD(紫屏),預(yù)示著馬上要出大問題了。
◇ vCenter:雖然vCenter不是虛擬機或ESX/ESXi服務(wù)器正常運行必需的東西,但借助它你可以查看虛擬基礎(chǔ)設(shè)施的運行狀態(tài)。
◇ 虛擬機(VM):如果Windows VM遇到BSOD(藍屏),恰好這個VM提供關(guān)鍵網(wǎng)絡(luò)服務(wù),如域名解析服務(wù),活動目錄或vCenter,如果它宕機了,整個基礎(chǔ)設(shè)施都將受到影響。
方法論
由于虛擬基礎(chǔ)設(shè)施(VI)正常工作涉及到的核心組件太多,你需要一個標準的,系統(tǒng)的問題解決方法,對于不同的組織可以采用不同的方法,但重要的是,無論你使用什么方法,每次遇到VI故障時,都應(yīng)該使用相同的方法,并按同樣的順序執(zhí)行操作。
例如,你的方法可能以開放系統(tǒng)互聯(lián)(OSI)模型為基礎(chǔ),那么你應(yīng)該從物理層開始,然后逐層上升,直到應(yīng)用程序?qū)?,或者從?yīng)用程序?qū)酉蛳碌轿锢韺印5医ㄗh你從OSI模型的中間層(網(wǎng)絡(luò)層)開始,根據(jù)問題的具體情況決定是向上還是向下排查。
◇ Ping ESX/ESXi服務(wù)器和vCenter服務(wù)器:驗證服務(wù)器是否開機或網(wǎng)絡(luò)是否連通,如果ping失敗,你應(yīng)該先檢查網(wǎng)絡(luò)和電源,如果成功,則可以跳到下一步。
◇ 嘗試使用vSphere客戶端登錄到vCenter:如果不成功,嘗試登錄到ESX/ESXi主機,如果成功,繼續(xù)通過vSphere查看存儲是否可用,主機是否出現(xiàn)故障,運行vCenter的VM是否宕機等等。
◇ 檢查vCenter進程:假設(shè)vCenter不可用,但VM運行在一個正常的主機上,如果需要,可以重啟vCenter進程。
這些只是解決虛擬基礎(chǔ)設(shè)施(VI)常見問題的一般步驟,下面我們一起來看一個更特殊的例子。
vSphere崩潰后該做些什么
有人向你報告問題時,你首先要做的是獲取更多與問題相關(guān)的信息,如什么服務(wù)不可用?的確如此嗎?物理服務(wù)器出了問題嗎?vCenter VM藍屏還是服務(wù)被停掉了?核心網(wǎng)絡(luò)交換機被鎖住了?SAN電力供應(yīng)出現(xiàn)問題?僅僅是一個VM宕機,還是所有VM都當?shù)袅藛??沒錯,你應(yīng)該先回答這些問題,找到確切的答案。
用戶不知道究竟是什么當?shù)袅?,他們也不關(guān)心這個,但這是你的工作,你可能猜到問題處在哪里,也許只需要一個小小的測試便能得知問題的根源,但需要注意的是,即使你相信自己真的找到了問題的根源,也要做完全面的測試,我不止一次遇到因測試不完整就確定問題根源而做出的錯誤決定,如原本是網(wǎng)絡(luò)問題,誤認為是服務(wù)器問題。
僅憑某個用戶報告的不確定問題要查明vSphere的真正問題根源是很困難的,用戶通常只會報告他們的應(yīng)用程序不能正常工作了,你需要快速地得到該用戶正在使用哪些服務(wù),對應(yīng)的應(yīng)用程序是否運行在VM上,然后一步步查找到問題之所在。
例如,如果你通過vSphere客戶端連接到vCenter服務(wù)器,這一結(jié)果可以得知許多事情 – 網(wǎng)絡(luò)肯定是連通的,DNS工作正常,你的PC可以連接到vCenter服務(wù)器,SAN運行正常,你的vCenter服務(wù)器和ESX主機通信正常等。
換句話說,如果你熟悉基礎(chǔ)設(shè)施,只需要簡單的測試,就可以快速找出問題的根源。
虛擬基礎(chǔ)設(shè)施(VI)中的大多數(shù)問題都與操作系統(tǒng)或應(yīng)用程序有關(guān),而不是VI自身的問題,在一些有前瞻性的企業(yè)里,總是能看到強大的系統(tǒng)管理工具,在終端用戶感知到問題發(fā)生之前,你可以提前預(yù)知可能出現(xiàn)的問題,但在許多企業(yè)中,還是終端用戶***發(fā)現(xiàn)并報告問題,我們還是以上面的例子來解釋,假設(shè)終端用戶報告某個應(yīng)用程序不能使用,你知道這個應(yīng)用程序運行在VM上。
圖 1 vSphere客戶端圖形化顯示一臺ESXi服務(wù)器的性能指標
首先檢查客戶機操作系統(tǒng)和應(yīng)用程序,你通過vSphere客戶端連接到VM的控制臺來實施檢查,操作系統(tǒng)是否藍屏?服務(wù)對應(yīng)的應(yīng)用程序出了問題?如果發(fā)現(xiàn)是客戶機操作系統(tǒng)或應(yīng)用程序的問題,首先應(yīng)該解決它們的問題。
假設(shè)你發(fā)現(xiàn)ESX/ESXi服務(wù)器啟動并運行正常,VM已開機,客戶機操作系統(tǒng)運行也正常,但運行在VM上的應(yīng)用程序響應(yīng)仍然很慢。
這時你應(yīng)該檢查ESX/ESXi主機的性能 – 通常使用vSphere客戶端,但你也可以使用第三方工具,在這個例子中,一切看起來都很正常。
圖 2 vSphere客戶端圖形化顯示一個虛擬機的性能指標
從上圖可以看出,主機只有25%的內(nèi)存利用率,CPU、磁盤和網(wǎng)絡(luò)利用率也都在合理范圍內(nèi)。
接下來,切換到vSphere客戶端的“性能”標簽,檢查VM的內(nèi)存性能。
注意觀察性能不佳應(yīng)用程序駐留的VM的內(nèi)存利用率,你可以獲得兩個結(jié)果:這個VM的內(nèi)存配置過低,或應(yīng)用程序本身消耗的內(nèi)存過多。
使用Windows任務(wù)管理器檢查內(nèi)存利用率,你會發(fā)現(xiàn)消耗內(nèi)存過多的進程,在這個例子中,VM只分配了1GB內(nèi)存,而這個應(yīng)用程序就消耗了462MB,幾乎用掉了一半內(nèi)存。
圖 3 通過Windows任務(wù)管理器查看內(nèi)存消耗過多的進程
如果內(nèi)存被不是你希望的應(yīng)用程序使用(如一個惡意軟件或一個游戲),你可以殺掉它對應(yīng)的進程或卸載那些應(yīng)用程序。
另一方面,如果它是一個合法的進程,它的內(nèi)存使用量也是可以調(diào)整的,你應(yīng)該增加VM的內(nèi)存,為操作系統(tǒng)和應(yīng)用程序提供更多的內(nèi)存
如果VM開啟了vSphere熱插拔內(nèi)存(或熱添加CPU)功能,你可以在VM運行期間動態(tài)分配更多的內(nèi)存,不需要關(guān)閉客戶機操作系統(tǒng)或停止終端用戶的應(yīng)用程序。
圖 4 在虛擬機運行期間動態(tài)增加內(nèi)存
延伸閱讀提示
Vmware發(fā)布了一份名叫“Vmware vSphere 4.1性能故障排除”的完整指南,它提供了詳細的故障排除流程圖,這份68頁的文檔比我這篇文章要詳細得多,涵蓋了vSphere故障解決的方方面面。
vSphere通常是非常可靠的,并且內(nèi)置了許多功能保護終端用戶應(yīng)用程序,防止服務(wù)器故障,但是,隨著使用vSphere(或其它Hypervisor)的時間增長,出現(xiàn)物理硬件(服務(wù)器、SAN或網(wǎng)絡(luò))故障或軟件(ESX、ESXi、vCenter或客戶機操作系統(tǒng))故障的幾率就越大,遇到問題時,要綜合考慮這些組件,才能幫助你快速地解決問題。
原文名:Virtualization: What to do when vSphere goes down 作者:David Davis
【本文乃51CTO精選譯文,轉(zhuǎn)載請標明出處!】
【編輯推薦】
1、《vSphere實戰(zhàn)攻略1:基礎(chǔ)準備篇(圖)》
2、《vSphere實戰(zhàn)攻略2:虛擬機模板與克隆》
3、《vSphere實戰(zhàn)攻略3:用VMotion遷移虛擬機》