某虚拟化项目总结:一条光纤引发的故障
?
摘要:在今年9月份的一個(gè)虛擬化項(xiàng)目中,項(xiàng)目前期一切正常。在為服務(wù)器添加、更換內(nèi)存之后,出現(xiàn)ESXi主機(jī)存儲(chǔ)斷開(kāi)、虛擬機(jī)系統(tǒng)慢、ESXi主機(jī)啟動(dòng)慢的故障,經(jīng)過(guò)多方檢查,終于排查了故障。最終故障的原因很簡(jiǎn)單:ESXi主機(jī)與存儲(chǔ)的連接光纖出現(xiàn)問(wèn)題導(dǎo)致了故障的產(chǎn)生。但整個(gè)項(xiàng)目過(guò)程中涉及到了更換內(nèi)存、更換主板、升級(jí)固件等一系列事件,所以前期故障分析中沒(méi)有正確的定位故障點(diǎn),導(dǎo)致事情越來(lái)越復(fù)雜。下面我把整個(gè)過(guò)程還原一次,希望此事對(duì)其他經(jīng)常做項(xiàng)目的朋友有所幫助。
1 項(xiàng)目實(shí)施初期一切正常
這個(gè)項(xiàng)目比較簡(jiǎn)單:2臺(tái)聯(lián)想3650 M5的主機(jī)(每主機(jī)配置1個(gè)CPU、128GB內(nèi)存、單口8GB FC HBA接口卡)、1臺(tái)IBM V3500存儲(chǔ),每臺(tái)主機(jī)安裝了VMware ESXi 6.0.0 U2的版本,有6個(gè)業(yè)務(wù)虛擬機(jī)、1個(gè)vCenter Server虛擬機(jī)用于管理。拓?fù)淙鐖D1所示。
圖1 某單位虛擬化拓?fù)鋱D
在項(xiàng)目的初期,安裝配置ESXi主機(jī)、劃分IBM V3500存儲(chǔ)、創(chuàng)建虛擬機(jī)后,各個(gè)業(yè)務(wù)虛擬機(jī)對(duì)外提供服務(wù),系統(tǒng)一切正常。在全部業(yè)務(wù)虛擬機(jī)正常運(yùn)行兩天后,觀察到主機(jī)內(nèi)存使用率超過(guò)60%接近70%時(shí),我對(duì)客戶建議將每臺(tái)服務(wù)器的內(nèi)存擴(kuò)充到256GB,甲方技術(shù)主管在匯報(bào)領(lǐng)導(dǎo)后,同意了擴(kuò)充內(nèi)存的要求,但是就是在這個(gè)擴(kuò)充內(nèi)存,引起了后續(xù)一系列的故障。
說(shuō)明:使用vSphere Client登錄vCenter Server,在左側(cè)導(dǎo)航器中選中群集,在右側(cè)“主機(jī)”選項(xiàng)卡中,可以看每個(gè)主機(jī)配置的內(nèi)存、已經(jīng)使用內(nèi)存的百分比。圖2是每臺(tái)主機(jī)配置到256GB之后的截圖,當(dāng)時(shí)128GB截圖沒(méi)有保存。這是項(xiàng)目正常之后的截圖,從圖中可以看出,系統(tǒng)中所有虛擬機(jī)使用內(nèi)存大約170GB,在每臺(tái)主機(jī)只有128GB的情況下,使用內(nèi)存是66%,在每臺(tái)主機(jī)擴(kuò)充到256GB后,使用內(nèi)存33%。
圖2 主機(jī)內(nèi)存、CPU使用率
聯(lián)想3650 M5服務(wù)器,支持2個(gè)CPU,每個(gè)CPU有12個(gè)內(nèi)存插槽,每個(gè)內(nèi)存插槽最大支持單條64GB內(nèi)存。故每個(gè)CPU最大支持64×12=768GB內(nèi)存。
在這個(gè)項(xiàng)目中,每臺(tái)聯(lián)想3650 M5配置了8條16GB的內(nèi)存,只剩余4個(gè)插槽(當(dāng)前主機(jī)只配置了一個(gè)CPU),如果要擴(kuò)充到256GB內(nèi)存,可以再購(gòu)買4條32GB或2條64GB內(nèi)存,進(jìn)行“混插”。但這樣客戶后期將不能繼續(xù)進(jìn)行內(nèi)存擴(kuò)充,這樣不是好的升級(jí)方案。我給出的方案是,建議為每臺(tái)服務(wù)器配置4條64GB的內(nèi)存,拆下的內(nèi)存折舊或內(nèi)存置換。聯(lián)系了長(zhǎng)期為我們提供內(nèi)存的公司,對(duì)方答應(yīng)可以4條16GB換成1條64GB的內(nèi)存,這樣對(duì)三方有利。
2 更換內(nèi)存一波三折
8條64GB的內(nèi)存到位之后,為每臺(tái)服務(wù)器更換內(nèi)存。內(nèi)存更換過(guò)程中,可以將所有虛擬機(jī)暫時(shí)遷移到另一臺(tái)主機(jī),這樣業(yè)務(wù)不會(huì)中斷。
服務(wù)器安裝內(nèi)存是有“講究”的,必須按照指定的位置進(jìn)行安裝。每臺(tái)服務(wù)器的蓋板上都有內(nèi)存的安裝順序,例如聯(lián)想3650 M5內(nèi)存安裝順序如圖3所示。
圖3 聯(lián)想3650 M5內(nèi)存安裝順序
即:單個(gè)CPU的內(nèi)存安裝順序是1,4,9,12,2,5,8,11,3,6,7,10;雙CPU的安裝順序依次是1,13,4,16,9,21,12,24,2,14,5,17,8,20,11,23,3,15,6,18,7,19,10,22。例如當(dāng)前主機(jī)安裝了8條16GB內(nèi)存,則需要安裝在1,4,9,12,2,5,8,11位置。安裝之后,在開(kāi)機(jī)之前可以在IMM中看到安裝的內(nèi)存信息、內(nèi)存是否正常,如圖4所示。
圖4 當(dāng)前安裝了8條16GB內(nèi)存截圖
但是,將4條64GB的內(nèi)存插上之后,服務(wù)器開(kāi)機(jī)無(wú)顯示,在IMM中也沒(méi)有檢測(cè)到內(nèi)存,如圖5、圖6所示。
圖5 沒(méi)有檢測(cè)到內(nèi)存
圖6 內(nèi)存詳細(xì)信息、無(wú)內(nèi)存
后來(lái)一條一條內(nèi)存安裝,服務(wù)器也是檢測(cè)不到內(nèi)存。沒(méi)有辦法,將原來(lái)的8條16GB內(nèi)存插回主機(jī)。
聯(lián)系內(nèi)存經(jīng)銷商之后,更換了鎂光的單條64GB的內(nèi)存,安裝成功(內(nèi)存往返又是三、五天的時(shí)間),如圖7所示。說(shuō)明,此次不能用的單條64GB內(nèi)存,我在DELL R720XD主機(jī)上使用是沒(méi)有問(wèn)題的。
圖7 檢測(cè)到4條64GB的主機(jī)
但是,關(guān)鍵問(wèn)題是這個(gè)“但是”。在為第1臺(tái)主機(jī)順利的安裝更換了內(nèi)存之后,為第2臺(tái)主機(jī)安裝內(nèi)存的時(shí)候出了大問(wèn)題。在插上這4條64GB內(nèi)存之后,主機(jī)無(wú)法開(kāi)機(jī),在IMM檢測(cè),提示系統(tǒng)出現(xiàn)嚴(yán)重故障(System Critical),如圖8所示。
圖8 System故障
經(jīng)過(guò)聯(lián)系聯(lián)想的售后,工程師說(shuō)主板壞了,這下我們就“暈”了,這服務(wù)器也太不“結(jié)實(shí)”了吧?沒(méi)辦法,只能等售后工程師上門更換主板了。
所幸我們離北京較近,售后第2天上門更換新的主板之后,故障依舊。這時(shí)大家都有點(diǎn)“糟”了。但是,還是工程師有經(jīng)驗(yàn)。工程師換上原來(lái)的16GB內(nèi)存之后,服務(wù)器可以開(kāi)機(jī),一切正常。但換上這4條內(nèi)存之后還是出現(xiàn)圖8的故障。之后工程師,采用一條一條安裝64GB內(nèi)存,檢測(cè)到其中的一條有問(wèn)題,后來(lái)安裝了3條64GB內(nèi)存,如圖9所示。
圖9 當(dāng)前安裝3條內(nèi)存
這樣我們就更郁悶了,一條內(nèi)存故障就能讓服務(wù)器開(kāi)不了機(jī),以后如果內(nèi)存萬(wàn)一壞了一條是不是也會(huì)出同樣的故障呢?這些問(wèn)題我們就先不考慮了。之后又等了幾天,廠商發(fā)來(lái)了新內(nèi)存,插上之后4條內(nèi)存全部認(rèn)到。
本來(lái)以為項(xiàng)目進(jìn)行到這就完成了(當(dāng)時(shí)是9月30號(hào)),但是(該死的“但是”又來(lái)了)上班之后問(wèn)題又來(lái)了……
3 客戶反應(yīng)虛擬機(jī)系統(tǒng)慢
10月5號(hào)該單位第一天上班,客戶反映虛擬機(jī)ERP系統(tǒng)慢。
我當(dāng)時(shí)不在現(xiàn)場(chǎng)(更換內(nèi)存時(shí)我不在現(xiàn)場(chǎng),是公司其他工程師實(shí)施的)。我遠(yuǎn)程登錄,在檢查的過(guò)程中,發(fā)現(xiàn)其中一臺(tái)ESXi12主機(jī)(IP地址172.16.6.12)的存儲(chǔ)連接斷開(kāi),在“清單”中有一個(gè)虛擬機(jī)變灰,如圖10所示,但此時(shí)使用遠(yuǎn)程桌面是可以登錄這個(gè)虛擬機(jī)的。
圖10 沒(méi)有檢測(cè)到共享存儲(chǔ)
此時(shí)在左側(cè)選中172.16.6.12這臺(tái)主機(jī)(ESXi12),“配置→存儲(chǔ)”中共享存儲(chǔ)已經(jīng)變灰不可訪問(wèn),如圖11所示。
圖11 在第2臺(tái)主機(jī)存儲(chǔ)變灰
但另一個(gè)主機(jī)ESXi11(IP地址為172.16.6.11)存儲(chǔ)正常,但fc-data02顯示的可用容量為0,如圖12所示。
圖12 第1臺(tái)主機(jī)存儲(chǔ)正常
登錄IBM V3500存儲(chǔ),在存儲(chǔ)中檢查到一切正常,如圖13所示。
圖13 存儲(chǔ)中檢測(cè)到正常
在重新掃描存儲(chǔ)沒(méi)有反應(yīng)之后,我重新啟動(dòng)故障主機(jī)。正常情況下,主機(jī)在5~8分鐘之后會(huì)上線,但等了有30分鐘,這臺(tái)重新啟動(dòng)的主機(jī)也沒(méi)有上線,PING這臺(tái)主機(jī)的IP地址也不通,這時(shí)候我就有點(diǎn)著急了,壞了,這臺(tái)沒(méi)出現(xiàn)問(wèn)題的服務(wù)器也出問(wèn)題了(換主板的是另一臺(tái)服務(wù)器)。
這時(shí)我還在家,我馬上聯(lián)系公司的人、聯(lián)系客戶,說(shuō)服務(wù)器出了問(wèn)題,需要馬上趕過(guò)去。
4 解決問(wèn)題一波三折
一路無(wú)話,下午趕到現(xiàn)場(chǎng)之后,發(fā)現(xiàn)我遠(yuǎn)程重新啟動(dòng)、出問(wèn)題的那臺(tái)那臺(tái)服務(wù)器已經(jīng)“正常”了。但感覺(jué)虛擬機(jī)系統(tǒng)還是有點(diǎn)慢。之后我重新啟動(dòng)這臺(tái)主機(jī),終于發(fā)現(xiàn)了問(wèn)題,就是這臺(tái)服務(wù)器啟動(dòng)特別慢。BIOS自檢到系統(tǒng)啟動(dòng)這一環(huán)節(jié)還算正常,但從出現(xiàn)ESXi的界面之后到進(jìn)入系統(tǒng),時(shí)間非常的長(zhǎng)。
在進(jìn)入ESXi界面之后,分別在“nfs41client loaded successfully”(如圖14所示)、“Running sfcbd-watchdog start”(如圖15所示)各停留大約30多分鐘。
圖14 在此停留半小時(shí)
圖15 在此停留半小時(shí)
因?yàn)榱硪慌_(tái)主機(jī)更換過(guò)主板與內(nèi)存,這臺(tái)主機(jī)只更換過(guò)內(nèi)存。而在換內(nèi)存之前系統(tǒng)正常。初步判斷可能是更換單條64GB內(nèi)存引起的,但網(wǎng)絡(luò)中另一臺(tái)服務(wù)器也是安裝了4條64GB的內(nèi)存,這臺(tái)主機(jī)正常,忘記說(shuō)了,另一臺(tái)正常的主機(jī)更換過(guò)主板。檢查這兩個(gè)主機(jī),發(fā)現(xiàn)正常運(yùn)行的主機(jī)的固件比較新(ESXi11的主機(jī)),因?yàn)檫@臺(tái)主機(jī)換了一塊新主板。之后我為出故障的主機(jī)(ESXi12)刷新固件到同版本,系統(tǒng)啟動(dòng)變快了一點(diǎn),但仍然沒(méi)有解決問(wèn)題(還是在圖14、圖15停留很長(zhǎng)時(shí)間)。這時(shí)已經(jīng)是晚上8點(diǎn)多了,先暫時(shí)不解決了,回去換個(gè)思路。
第二天一早來(lái)到客戶現(xiàn)場(chǎng),我參考聯(lián)想工程師的方法,一條一條的“試”內(nèi)存。在一條一條“試”內(nèi)存的過(guò)程中,插上每條內(nèi)存啟動(dòng)速度都很快,從出現(xiàn)圖14、圖15所示的ESXi的啟動(dòng)界面,幾分鐘就進(jìn)入系統(tǒng)出現(xiàn)ESXi的控制臺(tái)頁(yè)面(出現(xiàn)IP地址等信息),但試過(guò)內(nèi)存沒(méi)問(wèn)題之后,將所有內(nèi)存都插上,系統(tǒng)啟動(dòng)就又變慢了。
之后,換上原來(lái)拆下來(lái)的單條16GB的內(nèi)存(當(dāng)時(shí)內(nèi)存還沒(méi)有發(fā)回廠家),ESXi啟動(dòng)時(shí)間變?yōu)榘胄r(shí),但ESXi主機(jī)反應(yīng)仍然較慢。
這樣時(shí)間就又過(guò)去了2個(gè)多小時(shí),問(wèn)題還沒(méi)有解決,能想的都想過(guò)了,能嘗試的都嘗試過(guò)了,那么問(wèn)題出在那呢?
我思考,為什么插上單條64GB內(nèi)存很快,內(nèi)存全部插上就變慢呢?這時(shí)我注意到了一個(gè)“細(xì)節(jié)”,在插單條64GB內(nèi)存的時(shí)候,為了加快測(cè)試速度,我沒(méi)有插網(wǎng)線和存儲(chǔ)光纖(每次關(guān)機(jī)拔內(nèi)存都要斷電,要把服務(wù)器從機(jī)柜中拉出來(lái),后面的網(wǎng)線、光纖也是拔下的)。然后我思考,網(wǎng)絡(luò)問(wèn)題不會(huì)引起ESXi啟動(dòng)慢,那么問(wèn)題就可能出在服務(wù)器與存儲(chǔ)的連接光纖上!因?yàn)槊颗_(tái)服務(wù)器只配了一塊單口的FC-HBA接口卡,服務(wù)器與存儲(chǔ)只有一條光纖連接,沒(méi)有冗余。將出問(wèn)題的這臺(tái)服務(wù)器更換光纖之后,重新啟動(dòng)服務(wù)器,啟動(dòng)速度正常(大約不到5分鐘就進(jìn)入了ESXi的控制臺(tái)界面),至此問(wèn)題解決。
總結(jié)
事后分析,因?yàn)榍皫滋旆磸?fù)更換內(nèi)存、為服務(wù)器更換主板,反復(fù)為服務(wù)器加電、斷開(kāi)、從機(jī)柜中拉出服務(wù)器,可能碰到了ESXi12這臺(tái)服務(wù)器的光纖,導(dǎo)致光纖出故障,但光纖又沒(méi)有完全斷,可能處于“時(shí)通時(shí)斷”的狀況,這樣服務(wù)器在連接到存儲(chǔ)時(shí),會(huì)反復(fù)嘗試,或者有錯(cuò)誤的數(shù)據(jù)包需要糾錯(cuò)。如果光纖完全斷開(kāi),服務(wù)器檢測(cè)不到就會(huì)跳過(guò)連接存儲(chǔ),反而是這種“時(shí)通時(shí)斷”的連接,導(dǎo)致服務(wù)器反復(fù)嘗試,增加了服務(wù)器的啟動(dòng)時(shí)間。
更多虛擬化課程及視頻,請(qǐng)單擊“VMware系統(tǒng)集成工程師”專題。
http://edu.51cto.com/topic/1308.html
總結(jié)
以上是生活随笔為你收集整理的某虚拟化项目总结:一条光纤引发的故障的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 群晖推出 DS1823xs+ NAS:8
- 下一篇: 华三云:不做开源的投机者