服務(wù)器數(shù)據(jù)恢復(fù)-EVA存儲硬盤故障導(dǎo)致LUN不可用的數(shù)據(jù)恢復(fù)案例

EVA系列存儲是一款以虛擬化存儲為實現(xiàn)目的的中高端存儲設(shè)備。EVA存儲中的數(shù)據(jù)在EVA存儲設(shè)備工作過程中會不斷進(jìn)行遷移,如果運(yùn)行的任務(wù)比較復(fù)雜,EVA存儲磁盤負(fù)載加重,很容易出現(xiàn)故障的。EVA存儲通過大量磁盤的冗余空間和故障后rss冗余磁盤動態(tài)遷移來保護(hù)存儲中的數(shù)據(jù)安全,但如果掉線磁盤越來越多,這種保護(hù)數(shù)據(jù)安全的能力會超過閾值,直至存儲崩潰。下面分享一個EVA存儲的數(shù)據(jù)恢復(fù)案例。
EVA存儲故障&檢測:
硬件架構(gòu):EVA某型號控制器+EVA擴(kuò)展柜+若干FC磁盤。磁盤故障導(dǎo)致EVA存儲中的LUN不可用,上層應(yīng)用無法正常使用。
北亞企安數(shù)據(jù)恢復(fù)工程師拿到故障存儲后,將所有磁盤編號后取出,對所有磁盤做物理故障檢測,經(jīng)過檢測發(fā)現(xiàn)所有磁盤不存在物理故障,也沒有在磁盤中發(fā)現(xiàn)大量的壞道。
將所有磁盤以只讀方式做全盤鏡像備份,鏡像完成后按照編號將所有磁盤還原到原存儲設(shè)備中,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作在鏡像文件上進(jìn)行,避免對原始磁盤數(shù)據(jù)造成二次破壞。
EVA存儲故障分析:
磁盤沒有發(fā)現(xiàn)物理故障或者大量壞道,服務(wù)器數(shù)據(jù)恢復(fù)工程師初步判斷故障的原因是某些磁盤讀寫不穩(wěn)定。EVA控制器針對磁盤的檢測策略非常嚴(yán)格,EVA控制器通常情況下會認(rèn)定性能不穩(wěn)定商務(wù)磁盤為壞盤并踢出磁盤組。一旦某個LUN的同一個條帶中掉線的盤到達(dá)極限,這個LUN將不可用。也就是說如果EVA中所有的LUN都包含這些掉線的盤,這些LUN都會受影響。所以部分磁盤故障掉線也可能會導(dǎo)致存儲無法正常使用。
EVA存儲中的LUN是以RAID條目的形式來存儲數(shù)據(jù)的。EVA存儲將每個磁盤的不同塊組成一個RAID條目,RAID條目有數(shù)種類型。如果要恢復(fù)數(shù)據(jù)就需要分析出組成LUN的RAID條目類型以及RAID條目是由哪些盤的哪些塊組成的。這些信息都存放在LUN_MAP中,每個LUN都有一份LUN_MAP。EVA將LUN_MAP分別存放在不同的磁盤中并使用一個索引來指定其位置。因此在磁盤中找到這個指向LUN_MAP的索引就可以找到現(xiàn)存LUN的信息了。
因為EVA存儲中掉線的磁盤存在陳舊的數(shù)據(jù),在恢復(fù)數(shù)據(jù)的時候需要將這些磁盤都排除掉。由于LUN中的陣列是RAID5,將一個LUN的RAID條目通過RAID5的校驗算法算出校驗值,再和原有的校驗值作比較就可以判斷這個條目中是否有掉線盤。而將一個LUN的所有LUN_MAP都校驗一遍就可以知道這個LUN中哪些RAID條目中有掉線硬盤。這些RAID條目中都存在的那個盤就一定是掉線盤。排除掉線盤后通過LUN_MAP恢復(fù)出所有LUN數(shù)據(jù)即可。
EVA存儲數(shù)據(jù)恢復(fù)過程:
1、北亞企安數(shù)據(jù)恢復(fù)工程師編寫掃描LUN_MAP的程序掃描全部LUN_MAP,然后通過人工分析確定LUN_MAP。
2、編寫檢測RAID條目的程序檢測所有LUN中掉線的磁盤,然后通過人工分析排除掉線的磁盤。
3、編寫LUN數(shù)據(jù)恢復(fù)程序,結(jié)合LUN_MAP恢復(fù)所有LUN數(shù)據(jù)。人工核對每個LUN,確認(rèn)是否和用戶方描述的一致。
部分LUN的數(shù)據(jù):

4、分析恢復(fù)出來的LUN,重組&解析ASM磁盤組。
分析每個LUN前端的結(jié)構(gòu)數(shù)據(jù),根據(jù)ASM磁盤頭結(jié)構(gòu)來區(qū)分哪些LUN是屬于ASM磁盤組的。通過分析共發(fā)現(xiàn)有2套ASM磁盤組。每個ASM磁盤組包含的LUN中的分區(qū)情況如下:


使用ASM結(jié)構(gòu)解析工具解析和修復(fù)ASM磁盤組,解析出此ASM中存儲的所有數(shù)據(jù)庫文件。

將解析出來的數(shù)據(jù)庫文件按照文件類型分組導(dǎo)出并對導(dǎo)出數(shù)據(jù)進(jìn)行檢測。

使用ASM解析工具恢復(fù)出所有的數(shù)據(jù)庫文件。
5、根據(jù)用戶方的描述,所有LUN的數(shù)據(jù)分成兩大部分:Vmware的虛擬機(jī)和ORACLE上的ASM磁盤組數(shù)據(jù)。ASM磁盤組中存放的是Oracle的dbf數(shù)據(jù)庫文件。由于通過恢復(fù)出來的LUN無法直接看到里面的文件,人工核對哪些LUN存放Vmware的數(shù)據(jù),哪些LUN存放ASM設(shè)備,然后將LUN掛載到不同的驗證環(huán)境中驗證恢復(fù)的數(shù)據(jù)的完整性(驗證過程就不贅述了)。
6、驗證沒有問題后,將vmware虛擬機(jī)文件和Oracle數(shù)據(jù)庫文件移交給用戶方。用戶方將移交的數(shù)據(jù)上傳至后臺,程序可正常運(yùn)行,沒有發(fā)現(xiàn)問題,用戶認(rèn)可恢復(fù)結(jié)果。運(yùn)行情況如下。



運(yùn)行規(guī)定:


運(yùn)行變更摘要:
