如何解決虛擬機(jī)vSphere存儲訪問故障?
在生產(chǎn)環(huán)境中VM訪問共享存儲時常會發(fā)生故障,本文結(jié)合案例,簡要介紹如何解決vSphere存儲訪問故障。
本文引用地址:http://m.butianyuan.cn/article/153767.htm在虛擬環(huán)境中,數(shù)據(jù)不再分散存放在服務(wù)器的本地硬盤而是集中存放在共享數(shù)據(jù)存儲中。由于在共享存儲中存放了眾多虛擬機(jī)的業(yè)務(wù)數(shù)據(jù),因此一旦數(shù)據(jù)存儲訪問發(fā)生故障,其帶來的破壞性影響要比傳統(tǒng)的物理環(huán)境大得多。
為了滿足虛擬機(jī)訪問共享存儲時對性能的需求,企業(yè)環(huán)境中大多采用FC SAN存儲。本文結(jié)合在生產(chǎn)環(huán)境中虛擬機(jī)訪問共享存儲發(fā)生故障的案例,簡要介紹一下如何快速定位并消除故障。
vSphere問題初現(xiàn)
接到用戶反應(yīng)眾多虛擬機(jī)無法使用的故障報告后,使用vSphere Client登錄到vCenter Server中,在ESXi主機(jī)配置選項卡下的存儲適配器選項,發(fā)現(xiàn)有一個數(shù)據(jù)存儲處于“非活動”狀態(tài),嘗試執(zhí)行“全部重新掃描”鏈接,在彈出的重新掃描窗口,勾選默認(rèn)的“掃描新的存儲設(shè)備”以及“掃描新的VMFS卷”,然后點擊確認(rèn)。掃描完成后,發(fā)現(xiàn)原來狀態(tài)為“非活動”的數(shù)據(jù)存儲仍舊不可訪問。
圖1. 重新掃描存儲
依次點擊“主頁”->“清單”->“數(shù)據(jù)存儲和數(shù)據(jù)存儲集群”選項,進(jìn)入到數(shù)據(jù)存儲列表,選中狀態(tài)為“非活動”的數(shù)據(jù)存儲。如下圖所示,選中“任務(wù)與事件”選項卡,查看與該數(shù)據(jù)存儲相關(guān)的事件。發(fā)現(xiàn)大量的錯誤信息:“與存儲設(shè)備…連接丟失,路徑…已斷開”.
圖2. 查看數(shù)據(jù)存儲近期事件
vSphere問題分析
從上述故障可以初步判斷,由于ESXi主機(jī)無法訪問數(shù)據(jù)存儲導(dǎo)致存放在該數(shù)據(jù)存儲上的所有虛擬機(jī)都無法訪問。在設(shè)計SAN網(wǎng)絡(luò)時,為避免單條鏈路發(fā)生故障,SAN網(wǎng)絡(luò)中的存儲、光纖交換機(jī)、主機(jī)HBA卡通常采用交叉連接方式,達(dá)到通過多條路徑訪問同一個共享存儲的效果。按照通常的思路,我們首先需要判斷是否是由于ESXi主機(jī)訪問存儲的某條鏈路發(fā)生故障導(dǎo)致無法訪問共享存儲。vSphere 5.0支持三種存儲路徑選擇策略固定 (VMware)、最近使用 (VMware)、循環(huán) (VMware),其含義如下表所示。
表1. vSphere 5.0 存儲路徑選擇策略
從上表可以看出,無論選擇哪種存儲策略,只要有一條路徑可用,那么ESXi主機(jī)仍舊可以訪問共享存儲。為了實現(xiàn)更好的負(fù)載均衡,建議用戶修改默認(rèn)的存儲訪問策略,使用“循環(huán) (VMware)”策略。如果是由于鏈路發(fā)生故障導(dǎo)致無法訪問共享存儲,那么可能的原因就是所有鏈路同時發(fā)生故障。通過檢查SAN交換機(jī)鏈路狀態(tài)沒有發(fā)現(xiàn)異常,那么故障點可能發(fā)生在存儲上。
vSphere存儲問題定位及故障解決
在vSphere Client中每個數(shù)據(jù)存儲對應(yīng)著磁盤陣列上的一個LUN,登錄到NetApp存儲LUN所在的控制器后,執(zhí)行l(wèi)un show命令查看當(dāng)前控制器上的所有LUN,發(fā)現(xiàn)/vol/vol2/lun0的狀態(tài)為offline.初步判斷是由于lun狀態(tài)不正常導(dǎo)致訪問故障的出現(xiàn),嘗試執(zhí)行l(wèi)un online /vol/vol2/lun0命令嘗試將該lun的狀態(tài)修改為online.
完成lun狀態(tài)的修改后,需要在ESXi主機(jī)上重新掃描數(shù)據(jù)存儲。本文介紹在命令行下重新掃描數(shù)據(jù)存儲的操作。
(1) 登錄到ESXi主機(jī)控制臺,按ALT+F1切換到ESXi Shell下。
(2) 執(zhí)行如下命令掃描主機(jī)的所有HBA卡:
esxcli storage core adapter rescan --all.
(3) 如果只想掃描特定的HBA卡,首先需要依次執(zhí)行如下命令:
esxcli storage core adapter list #列出所有的HBA卡
圖3. 查看ESXi主機(jī)HBA卡信息
esxcli storage core adapter rescan --adapter #掃描特定的HBA卡。
(4) 查看當(dāng)前掛載的數(shù)據(jù)存儲:df -h
(5) 查找新的VMFS數(shù)據(jù)存儲:vmkfstools -V,如果發(fā)現(xiàn)了新的數(shù)據(jù)存儲,那么將會自動掛載到/vmfs/volumes/目錄下的子目錄中,目錄名為UUID或者我們預(yù)先指定的標(biāo)簽。
(6) 再次查看當(dāng)前掛載的數(shù)據(jù)存儲:df -h
(7) 如果之前狀態(tài)為“不可用”的數(shù)據(jù)存儲仍舊無法訪問,那么可能需要重啟ESXi主機(jī),對存儲進(jìn)行重新識別。
總之,ESXi主機(jī)訪問SAN數(shù)據(jù)存儲發(fā)生故障將會造成大量虛擬機(jī)的訪問中斷。在問題發(fā)生時作為虛擬化管理員要快速對問題進(jìn)行分析,準(zhǔn)確定位問題并進(jìn)行排除,將存儲訪問中斷造成的破壞性影響降至最低,本文結(jié)合實際案例為用戶解決類似故障提供處理問題的思路及建議。
評論