如何解決虛擬機vSphere存儲訪(fǎng)問(wèn)故障?
在生產(chǎn)環(huán)境中VM訪(fǎng)問(wèn)共享存儲時(shí)常會(huì )發(fā)生故障,本文結合案例,簡(jiǎn)要介紹如何解決vSphere存儲訪(fǎng)問(wèn)故障。
本文引用地址:http://dyxdggzs.com/article/153767.htm在虛擬環(huán)境中,數據不再分散存放在服務(wù)器的本地硬盤(pán)而是集中存放在共享數據存儲中。由于在共享存儲中存放了眾多虛擬機的業(yè)務(wù)數據,因此一旦數據存儲訪(fǎng)問(wèn)發(fā)生故障,其帶來(lái)的破壞性影響要比傳統的物理環(huán)境大得多。
為了滿(mǎn)足虛擬機訪(fǎng)問(wèn)共享存儲時(shí)對性能的需求,企業(yè)環(huán)境中大多采用FC SAN存儲。本文結合在生產(chǎn)環(huán)境中虛擬機訪(fǎng)問(wèn)共享存儲發(fā)生故障的案例,簡(jiǎn)要介紹一下如何快速定位并消除故障。
vSphere問(wèn)題初現
接到用戶(hù)反應眾多虛擬機無(wú)法使用的故障報告后,使用vSphere Client登錄到vCenter Server中,在ESXi主機配置選項卡下的存儲適配器選項,發(fā)現有一個(gè)數據存儲處于“非活動(dòng)”狀態(tài),嘗試執行“全部重新掃描”鏈接,在彈出的重新掃描窗口,勾選默認的“掃描新的存儲設備”以及“掃描新的VMFS卷”,然后點(diǎn)擊確認。掃描完成后,發(fā)現原來(lái)狀態(tài)為“非活動(dòng)”的數據存儲仍舊不可訪(fǎng)問(wèn)。

圖1. 重新掃描存儲
依次點(diǎn)擊“主頁(yè)”->“清單”->“數據存儲和數據存儲集群”選項,進(jìn)入到數據存儲列表,選中狀態(tài)為“非活動(dòng)”的數據存儲。如下圖所示,選中“任務(wù)與事件”選項卡,查看與該數據存儲相關(guān)的事件。發(fā)現大量的錯誤信息:“與存儲設備…連接丟失,路徑…已斷開(kāi)”.

圖2. 查看數據存儲近期事件
vSphere問(wèn)題分析
從上述故障可以初步判斷,由于ESXi主機無(wú)法訪(fǎng)問(wèn)數據存儲導致存放在該數據存儲上的所有虛擬機都無(wú)法訪(fǎng)問(wèn)。在設計SAN網(wǎng)絡(luò )時(shí),為避免單條鏈路發(fā)生故障,SAN網(wǎng)絡(luò )中的存儲、光纖交換機、主機HBA卡通常采用交叉連接方式,達到通過(guò)多條路徑訪(fǎng)問(wèn)同一個(gè)共享存儲的效果。按照通常的思路,我們首先需要判斷是否是由于ESXi主機訪(fǎng)問(wèn)存儲的某條鏈路發(fā)生故障導致無(wú)法訪(fǎng)問(wèn)共享存儲。vSphere 5.0支持三種存儲路徑選擇策略固定 (VMware)、最近使用 (VMware)、循環(huán) (VMware),其含義如下表所示。

表1. vSphere 5.0 存儲路徑選擇策略
從上表可以看出,無(wú)論選擇哪種存儲策略,只要有一條路徑可用,那么ESXi主機仍舊可以訪(fǎng)問(wèn)共享存儲。為了實(shí)現更好的負載均衡,建議用戶(hù)修改默認的存儲訪(fǎng)問(wèn)策略,使用“循環(huán) (VMware)”策略。如果是由于鏈路發(fā)生故障導致無(wú)法訪(fǎng)問(wèn)共享存儲,那么可能的原因就是所有鏈路同時(shí)發(fā)生故障。通過(guò)檢查SAN交換機鏈路狀態(tài)沒(méi)有發(fā)現異常,那么故障點(diǎn)可能發(fā)生在存儲上。
vSphere存儲問(wèn)題定位及故障解決
在vSphere Client中每個(gè)數據存儲對應著(zhù)磁盤(pán)陣列上的一個(gè)LUN,登錄到NetApp存儲LUN所在的控制器后,執行lun show命令查看當前控制器上的所有LUN,發(fā)現/vol/vol2/lun0的狀態(tài)為offline.初步判斷是由于lun狀態(tài)不正常導致訪(fǎng)問(wèn)故障的出現,嘗試執行lun online /vol/vol2/lun0命令嘗試將該lun的狀態(tài)修改為online.
完成lun狀態(tài)的修改后,需要在ESXi主機上重新掃描數據存儲。本文介紹在命令行下重新掃描數據存儲的操作。
(1) 登錄到ESXi主機控制臺,按ALT+F1切換到ESXi Shell下。
(2) 執行如下命令掃描主機的所有HBA卡:
esxcli storage core adapter rescan --all.
(3) 如果只想掃描特定的HBA卡,首先需要依次執行如下命令:
esxcli storage core adapter list #列出所有的HBA卡

圖3. 查看ESXi主機HBA卡信息
esxcli storage core adapter rescan --adapter #掃描特定的HBA卡。
(4) 查看當前掛載的數據存儲:df -h
(5) 查找新的VMFS數據存儲:vmkfstools -V,如果發(fā)現了新的數據存儲,那么將會(huì )自動(dòng)掛載到/vmfs/volumes/目錄下的子目錄中,目錄名為UUID或者我們預先指定的標簽。
(6) 再次查看當前掛載的數據存儲:df -h
(7) 如果之前狀態(tài)為“不可用”的數據存儲仍舊無(wú)法訪(fǎng)問(wèn),那么可能需要重啟ESXi主機,對存儲進(jìn)行重新識別。
總之,ESXi主機訪(fǎng)問(wèn)SAN數據存儲發(fā)生故障將會(huì )造成大量虛擬機的訪(fǎng)問(wèn)中斷。在問(wèn)題發(fā)生時(shí)作為虛擬化管理員要快速對問(wèn)題進(jìn)行分析,準確定位問(wèn)題并進(jìn)行排除,將存儲訪(fǎng)問(wèn)中斷造成的破壞性影響降至最低,本文結合實(shí)際案例為用戶(hù)解決類(lèi)似故障提供處理問(wèn)題的思路及建議。
評論