我們知道,在服務(wù)器虛擬化環(huán)境中,一旦某臺(tái)物理服務(wù)器出現(xiàn)問題,位于該服務(wù)器上的虛擬機(jī)將自動(dòng)遷移到其他物理服務(wù)器上,這就是服務(wù)器虛擬化的動(dòng)態(tài)遷移技術(shù)。實(shí)現(xiàn)動(dòng)態(tài)遷移的一個(gè)前提條件就是被遷移的虛擬機(jī)必須存放在共享存儲(chǔ)上,也就是說,在虛擬環(huán)境中,數(shù)據(jù)不再分散存放在服務(wù)器的本地硬盤,而是集中存放在共享數(shù)據(jù)存儲(chǔ)。如果某臺(tái)共享存儲(chǔ)出現(xiàn)故障,需要淘汰、維護(hù)或更換升級(jí)時(shí),可能需要卸載,并將出現(xiàn)故障的存儲(chǔ)從vCenter清單中刪除。在卸載或刪除過程中,有時(shí)會(huì)出現(xiàn)無法卸載或刪除的現(xiàn)象。
筆者在為某單位維護(hù)數(shù)據(jù)中心時(shí),就遇到了這樣一起案例:客戶單位的一臺(tái)SAS存儲(chǔ)系統(tǒng)出現(xiàn)了故障,客戶單位網(wǎng)管員想把它從vCenter Server存儲(chǔ)清單里刪除,可是怎么也刪除不了。筆者嘗試了很多辦法,才刪除掉這臺(tái)頑固的故障存儲(chǔ)。
圖1 出現(xiàn)“資源xx正在使用”錯(cuò)誤
打開瀏覽器,輸入vCenter服務(wù)器地址,以vSphere Web Client方式登 錄vCenter Server,用vCenter管 理vSphere基礎(chǔ)設(shè)施。登錄vCenter Server后,單擊窗口左側(cè)存儲(chǔ)選項(xiàng)卡,將樹形目錄切換為存儲(chǔ)的樹形目錄,此時(shí)可看到出現(xiàn)故障的存儲(chǔ)在樹形目錄中顯示為“(非活動(dòng))”,在數(shù)據(jù)存儲(chǔ)列表中顯示為“(已卸載)(不可訪問)”。
出現(xiàn)“(已卸載)”字樣,估計(jì)是該單位管理員曾經(jīng)卸載過該存儲(chǔ)。出現(xiàn)“(不可訪問)”,說明存儲(chǔ)故障相當(dāng)嚴(yán)重,根本不能訪問,即便掛載了這個(gè)存儲(chǔ),也可能無法訪問。還有另外一種情況,就是存儲(chǔ)有故障,已被客戶單位管理員刪除過,只是在清單里面刪不掉而已。筆者嘗試刪除這個(gè)存儲(chǔ),發(fā)現(xiàn)在刪除過程中報(bào)錯(cuò),在任務(wù)欄報(bào)出現(xiàn)“資源xx正在使用”的錯(cuò)誤(如圖 1所示),確實(shí)不能刪除故障磁盤。
事前筆者就知道存儲(chǔ)已有故障,不能使用,客戶單位網(wǎng)管員只是想把故障存儲(chǔ)從存儲(chǔ)清單里面刪除,并不想使用這個(gè)存儲(chǔ),故筆者將分析重點(diǎn)放在為什么不能將故障存儲(chǔ)從存儲(chǔ)清單里面刪除。
據(jù)調(diào)查,這個(gè)存儲(chǔ)出現(xiàn)故障已經(jīng)有一段時(shí)間了,不能刪除故障存儲(chǔ)說明還有其他對(duì)象和故障存儲(chǔ)存在某種聯(lián)系。也就是說,在vCenter Server層面,還有對(duì)象和故障存儲(chǔ)存在映射關(guān)系。例如,某些虛擬機(jī)、主機(jī)、一些虛擬機(jī)的CD/ROM,軟驅(qū)等設(shè)備,部分虛擬機(jī)的配置文件、硬盤文件或快照等數(shù)據(jù)文件,可能仍和故障存儲(chǔ)有關(guān)聯(lián),只要存在某種關(guān)聯(lián),就不能將故障存儲(chǔ)從vCenter Server清單里面刪除。不過,此時(shí)故障存儲(chǔ)確實(shí)不存在,故不能對(duì)它做任何操作。
例如,在本例中,該故障存儲(chǔ)的右鍵菜單如圖2所示,前面嘗試過右鍵菜單中“刪除數(shù)據(jù)存儲(chǔ)”,已報(bào)該存儲(chǔ)正在使用等錯(cuò)誤提示。該右鍵菜單中的“維護(hù)模式”的兩個(gè)子菜單項(xiàng)“進(jìn)入維護(hù)模式”和“退出維護(hù)”都是灰色的。
圖2 故障存儲(chǔ)的右鍵菜單顯示
圖3 有一臺(tái)虛擬機(jī)狀態(tài)顯示“不可訪問”
圖4 顯示沒有分配CPU、內(nèi)存等信息
1.首先查看與存儲(chǔ)關(guān)聯(lián)的虛擬機(jī),選中故障存儲(chǔ),單擊“虛擬機(jī)”選項(xiàng)卡,發(fā)現(xiàn)該存儲(chǔ)上有一臺(tái)虛擬機(jī),狀態(tài)是“不可訪問”(如圖3所示)。
根據(jù)前面的分析,刪除這臺(tái)虛擬機(jī)或這臺(tái)虛擬機(jī)上與故障存儲(chǔ)關(guān)聯(lián)的設(shè)備,即可解決故障存儲(chǔ)不能刪除的問題。因這臺(tái)虛擬機(jī)根本不能用,客戶單位也準(zhǔn)備放棄這臺(tái)虛擬機(jī),故筆者決定刪除這臺(tái)虛擬機(jī)。在刪除過程中,筆者發(fā)現(xiàn)這臺(tái)虛擬機(jī)根本不能刪除,也不能對(duì)該虛擬機(jī)做其他任何操作。
2.已經(jīng)發(fā)現(xiàn)這臺(tái)虛擬機(jī)與故障存儲(chǔ)之間存在映射關(guān)系,又不能刪除該虛擬機(jī),看來只能進(jìn)一步檢查這臺(tái)虛擬機(jī)有哪些部件(虛擬機(jī)的硬件)和故障存儲(chǔ)存在映射關(guān)系,虛擬機(jī)的硬盤、CD/DVD驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、快照等硬件或狀態(tài)數(shù)據(jù)都可能和故障存儲(chǔ)有關(guān)聯(lián)。
進(jìn)一步檢查虛擬機(jī)配置發(fā)現(xiàn),該虛擬機(jī)和故障存儲(chǔ)沒有任何關(guān)聯(lián),甚至出現(xiàn)沒有分配CPU、內(nèi)存等詭異現(xiàn)象(如圖4所示)。估計(jì)這臺(tái)虛擬機(jī)的配置文件也在故障存儲(chǔ)上,所以無法查看虛擬機(jī)的配置。
3.基本可以確定故障存儲(chǔ)和故障虛擬機(jī)存在某種映射關(guān)系,都無法刪除。此時(shí)只能從主機(jī)著手,先檢查哪些主機(jī)加載并“正在使用”故障存儲(chǔ)。也就是要檢查故障存儲(chǔ)和哪些主機(jī)存在映射關(guān)系。選中故障存儲(chǔ)后,單擊“主機(jī)”選項(xiàng)卡,此時(shí)可以看到和故障存儲(chǔ)關(guān)聯(lián)的主機(jī)(如圖5所示)。
筆者嘗試斷開主機(jī)連接,發(fā)現(xiàn)斷開的是主機(jī)和整個(gè)vCenter Server的連接,不得已,筆者又將斷開連接的主機(jī)再連接回來。
4.斷開主機(jī)連接后再連接主機(jī),筆者發(fā)現(xiàn)和故障存儲(chǔ)關(guān)聯(lián)得這臺(tái)主機(jī)不在故障存儲(chǔ)的主機(jī)列表中了,于是筆者如法炮制,依次斷開和故障存儲(chǔ)有關(guān)聯(lián)得主機(jī),再連接回來,最后只剩下一臺(tái)主機(jī)無論如何不能切斷這臺(tái)主機(jī)和存儲(chǔ)之間的關(guān)聯(lián)。
5.現(xiàn)在是無法切斷主機(jī)和存儲(chǔ)之間關(guān)聯(lián),也不能切斷故障虛擬機(jī)和存儲(chǔ)之間的關(guān)聯(lián),只能找到前面不能刪除的故障虛擬機(jī)在哪臺(tái)主機(jī)上,找到主機(jī)后,選中主機(jī),單擊“虛擬機(jī)”選項(xiàng)卡,刪除故障虛擬機(jī),發(fā)現(xiàn)根本不能刪除故障虛擬機(jī)(如圖6所示)。
圖5 可以查看和故障存儲(chǔ)關(guān)聯(lián)的主機(jī)
圖6 無法刪除故障虛擬機(jī)
圖7 任何兩個(gè)對(duì)象間均存在映射關(guān)系
圖8 顯示之前的故障都消失了
6.至此,通過上述操作,不難分析出故障存儲(chǔ)、故障虛擬機(jī)和主機(jī)三個(gè)對(duì)象之中,任何兩個(gè)對(duì)象之間均存在映射關(guān)系(如圖7所示),由此構(gòu)成了循環(huán),解除循環(huán)的方法就是徹底關(guān)閉一個(gè)對(duì)象。我們已在前面的操作中已嘗試了故障存儲(chǔ)和故障虛擬機(jī)的操作,也斷開了主機(jī)的連接,仍不能解決問題的原因的存儲(chǔ)和虛擬機(jī)均是故障設(shè)備,不能從物理上解除映射關(guān)系。雖然斷開了主機(jī)連接,但仍有主和故障存儲(chǔ)存在映射關(guān)系。好在主機(jī)和虛擬機(jī)不一樣,可以讓主機(jī)進(jìn)入維護(hù)模式,這樣就可以斷開和主機(jī)關(guān)聯(lián)得其他所有對(duì)象,包括存儲(chǔ)和虛擬機(jī)。一旦主機(jī)進(jìn)入維護(hù)模式,虛擬機(jī)會(huì)自動(dòng)遷移到其他主機(jī)上,于是筆者考慮讓與故障存儲(chǔ)有關(guān)聯(lián)的那臺(tái)主機(jī)進(jìn)入維護(hù)模式。
7.選中需要進(jìn)入維護(hù)模式的主機(jī),依次單擊右鍵菜單“維護(hù)模式→進(jìn)入維護(hù)模式”。 一 旦主機(jī)進(jìn)入維護(hù)模式,哪怕在進(jìn)入維護(hù)模式過程中,前面刪除的故障虛擬機(jī)和故障存儲(chǔ)都自動(dòng)消失了,如圖8所示。
隨著服務(wù)器虛擬化應(yīng)用的普及和深入,主機(jī)、網(wǎng)絡(luò)、虛擬機(jī)和存儲(chǔ)等都可能發(fā)生故障。出現(xiàn)故障時(shí),作為基層的網(wǎng)管員,首先應(yīng)沉著冷靜地面對(duì)故障,要對(duì)故障進(jìn)行分析,要大膽探索,在探索前要對(duì)每步操作做出評(píng)估,避免造成二次傷害。