【前因】
HP EVA4400/6400/8400因接近退役,已進入高故障區間,用戶每每會認爲花費幾十萬甚至上百萬購買的eva系列應該是很是穩定的,但實際上不管多麼昂貴的存儲設備,使用的磁盤是相同或類似的。正如eva上銷量極大的部件號爲454414-001的1T FATA磁盤,其實就是臭名昭彰的希捷7200.11 系列的FC版,雖然前者正品售價仍高達近4K,後者卻不足400,但二者的性能和穩定性表現幾乎是相同的。這些1T FATA磁盤在經歷2-3年的運行後,總會出現大批量的損壞,並且每每一旦損壞,幾乎很難修復。一個我遇到的最誇張的案例,108塊1T FATA的EVA6400,在半年內前後損壞50多塊,這是讓人驚訝的,實則也是正常的(緣於希捷這款產品的設計缺陷)。
即使是使用15000rpm或10000rpm的FC磁盤,其實盤體也等同於希捷、日立等廠商的SAS磁盤(目前的EVA系列磁盤已經所有基於SAS了,即便是FC,也是經過轉換電路實現SAS到FC的轉換,如671148-001)。EVA是虛擬化的存儲設備,平時數據會不斷的遷移,加上應用一般較爲繁重,因此磁盤的負載相對是較重的,也是很容易出現故障的。EVA是依靠大量磁盤的冗餘空間,以及故障後rss冗餘磁盤動態遷移來實現整個存儲的數據保護,但隨着愈來愈多的磁盤掉線,這種保護會接近臨界,直至崩潰。
經過eva command view下的 fieldservice執行強制激活命令,一則會致使cache dirty、數據塊結構不一致致使數據出現損壞。二則修復只能創建在繞開壞道區域的基礎上,若是壞道沒法繞開,也是徒勞。
另有一些狀況:主機沒法與擴展櫃相連致使數據丟失,誤刪除vdisk等,也須要有切實的解決方案。
HP P6000系列控制器與EVA系列內部算法徹底相同,再也不單獨說起。
【eva系列存儲結構原理概述】
EVA系列存儲是一款以虛擬化存儲爲實現目的的HP中高端存儲設備,內部的結構組成徹底不一樣於普通的基於簡單RAID的存儲,EVA內部稱之爲VRAID。包括一些資深的HP工程師,對EVA的理解實際上是有誤區的(也多是HP官方的宏觀描述)
EVA會對每一個物理磁盤(簡稱爲PV)進行簽名(寫在每一個磁盤的0扇區),簽名後即分配進不一樣的DISK GROUP。在disk group中,相似於aix 的卷管理,或HP LVM的卷管理同樣,每一個PV會按必定大小劃分爲若干存儲單元(按AIX的說法,暫且稱爲PP吧),PP的大小爲2的整數次冪,且應該在2-16M之間。
每一個PV中有有限數量的PP,這些PP合起來造成整個DISK GROUP的可用空間。全部的PV按5-15組成若干組RSS(HP的官方資料中講最小的RSS磁盤數量是6,最大應不到15,但對底層的分析得知,存在5和15個PV的RSS狀況),每一個RSS就是一個所謂常規RAID的冗餘組,但這個冗餘組不等同於常規RAID,與常規RAID類似的是,常規RAID是以磁盤爲單位的RAID算法,而RSS是基於PP的RAID算法。
爲提升性能,HP EVA會有傾向地輪流分配不一樣的RSS組,但這些RSS之間的數據存儲是基於JBOD的(HP官方和不少資料上稱是RAID0,或許是宏觀的概念),每一個RSS組成的stripe 的成員實際上是不一樣PV中不一樣位置的PP。
不管RSS中成員數量有多少個,對於VRAID5,一個stripe中的PV數老是5個。對於VRAID6,一個stripe中的PV數老是6個。例如,對於VRAID5,EVA會盡量在N個磁盤中作C(N,5)的組合狀況,以期實現IO 負載均衡。
當一個RSS中某個PV離線,控制器會從同一個RSS組中其餘磁盤(同一條帶中已存在的PV以外)中尋找可用的PP,在邏輯上實現每一個stripe的rebuild,從而保證整個存儲的安全性。
當一個RSS中損壞的磁盤數量足夠少時(少於等於6個),這個RSS的安全性就很是低了,這時候,EVA會合並此RSS到另外一個RSS中,這樣可用的冗餘空間就是共享的了,空間就能夠從另外一個較安全的RSS中遷移過來。
爲了保證有足夠的空間提供冗餘保護,在建立disk group時,EVA會提供一個Protection Level的保護級別,single表示用2個磁盤的空間作冗餘 ,double表示用4個磁盤的空間作冗餘。但這個冗餘不一樣於hotspare,這個冗餘空間僅會預留到每一個PV的尾部,一則,多個磁盤,IO會更均勻,更快;二則,尾部的空間一般是質量較差的空間。算法
【EVA系列常見故障】
一、RSS中多個磁盤掉線,超過冗餘保護級別。
二、加入新磁盤,進行數據遷移時,新磁盤存在物理故障(此時沒法回退,也沒法前進)。
三、VDISK 刪除或EVA initialize。
四、突發性主機與存儲沒法鏈接。沒法discover到存儲。windows
【數據恢復解決原理】
eva系列最核心的結構部分來自於全部vdisk的運算pp表,這個pp map表會由於磁盤的不斷遷移而遷移。全部的故障都可基於此map進行恢復。
當pp map不存在時,根據不一樣的條帶之間的冗餘關係,可有優化算法對全部PP進行條帶性集合,從而造成若干組正確的條帶數據,再基於文件系統結構、數據結構等特徵,重組若干條帶。安全
【數據恢復解決過程】
一、原始磁盤鏡像,將EVA主機一端的連線拔出,直接連入主機hba卡上,就能夠認到全部物理硬盤,以後經過專業手段(Linux下的dd,windows下的winhex等)進行磁盤鏡像。因eva主機與擴展櫃之間可能是銅線鏈接,故而,可能須要在擴展櫃上增長光纖收發模塊,再經過光鏈路接入fc hba卡上。固然,也能夠把全部硬盤拆下來後,放入其餘光纖通道櫃中進行鏡像。
使用EVA擴展櫃進行鏡像的鏈接圖以下:
二、經過frombyte recovery for hp eva程序進行vdisk重組,直接寫入成鏡像文件或目標物理磁盤。
三、按常規方式解釋鏡像文件或目標磁盤,遷移鏡像或導出內部文件。數據結構