服務(wù)器故障環(huán)境:
HP MSA某型號(hào)存儲(chǔ),8塊SAS的硬盤(pán)組建RAID5磁盤(pán)陣列,其中包括1塊熱備盤(pán)。故障存儲(chǔ)中基于該RAID組的LUN均分配給HP-Unix小機(jī)使用,上層做的LVM邏輯卷,存儲(chǔ)的數(shù)據(jù)為Oracle數(shù)據(jù)庫(kù)及OA服務(wù)端。
服務(wù)器故障:
RAID5磁盤(pán)陣列中2塊磁盤(pán)未知原因離線,陣列中的熱備盤(pán)雖然成功激活,RAID5磁盤(pán)陣列癱瘓,上層LUN不可用。
服務(wù)器數(shù)據(jù)恢復(fù)過(guò)程:
1、由于存儲(chǔ)中RAID陣列崩潰是由于磁盤(pán)掉線導(dǎo)致的,拿到磁盤(pán)后先由硬件工程師對(duì)故障存儲(chǔ)中的所有磁盤(pán)做物理故障檢測(cè),檢測(cè)后沒(méi)有發(fā)現(xiàn)硬盤(pán)存在物理故障。使用壞道檢測(cè)工具檢測(cè)磁盤(pán)壞道,也沒(méi)有發(fā)現(xiàn)壞道。
2、將故障存儲(chǔ)中所有硬盤(pán)以只讀方式做完整的鏡像備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免數(shù)據(jù)恢復(fù)操作可能對(duì)原始數(shù)據(jù)造成二次破壞。
部分備份數(shù)據(jù):
北亞企安數(shù)據(jù)恢復(fù)——vxfs文件系統(tǒng)數(shù)據(jù)恢復(fù)
3、由于故障存儲(chǔ)中所有磁盤(pán)不存在物理故障,也沒(méi)有發(fā)現(xiàn)壞道,所以磁盤(pán)離線原因就是某些磁盤(pán)讀寫(xiě)不穩(wěn)定。因?yàn)樵?a target="_blank">品牌存儲(chǔ)的RAID控制器針對(duì)磁盤(pán)的檢測(cè)策略比較嚴(yán)格,極大可能性把性能不穩(wěn)定的磁盤(pán)認(rèn)定為壞盤(pán)并踢出RAID組。一旦RAID組中掉線的磁盤(pán)數(shù)量超過(guò)該RAID級(jí)別允許掉盤(pán)的最大數(shù)量,這個(gè)RAID組就會(huì)崩潰,上層基于RAID組的LUN也將不可用。
4、分析RAID組的信息如條帶大小,磁盤(pán)順序及數(shù)據(jù)走向等,然后根據(jù)分析獲取到的raid信息重構(gòu)RAID組。經(jīng)過(guò)分析發(fā)現(xiàn)其中一塊盤(pán)的數(shù)據(jù)和其它盤(pán)不太一樣,初步判斷這塊盤(pán)就是熱備盤(pán)。分析其他數(shù)據(jù)盤(pán)(除了熱備盤(pán))的底層,搞清楚Oracle數(shù)據(jù)庫(kù)頁(yè)在每個(gè)磁盤(pán)中分布的情況。
5、分析數(shù)據(jù)盤(pán)中的數(shù)據(jù)發(fā)現(xiàn)有一塊硬盤(pán)在同一個(gè)條帶上的數(shù)據(jù)和其他硬盤(pán)不一樣,初步判斷此盤(pán)是先掉線的,通過(guò)北亞企安自主開(kāi)發(fā)的RAID校驗(yàn)程序?qū)@個(gè)條帶做校驗(yàn),最終確定這塊盤(pán)就是先掉線的那塊硬盤(pán)。
6、由于LUN是基于RAID組的,將RAID組重構(gòu)出來(lái)之后就開(kāi)始分析LUN在RAID組中的分配情況以及LUN分配的數(shù)據(jù)塊MAP。將每一個(gè)LUN的數(shù)據(jù)塊分布MAP提取出來(lái),然后針對(duì)這些信息編寫(xiě)程序解析所有LUN的數(shù)據(jù)MAP,然后根據(jù)數(shù)據(jù)MAP導(dǎo)出所有LUN的數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)——vxfs文件系統(tǒng)數(shù)據(jù)恢復(fù)
7、分析生成出來(lái)的所有LUN,發(fā)現(xiàn)所有LUN中均包含HP-Unix的LVM邏輯卷信息。嘗試解析每個(gè)LUN中的LVM信息后發(fā)現(xiàn)一共有3個(gè)LVM:其中1個(gè)LVM中劃分了一個(gè)LV,里面存放OA服務(wù)器端的數(shù)據(jù);另外1個(gè)LVM中也劃分了一個(gè)LV,里面存放臨時(shí)備份數(shù)據(jù);最后1個(gè)LVM也只劃分了一個(gè)LV,里面存放Oracle數(shù)據(jù)庫(kù)文件。北亞企安數(shù)據(jù)恢復(fù)工程師編寫(xiě)LVM解釋程序解釋每個(gè)LVM中的LV卷,但在解釋過(guò)程中程序出錯(cuò)。
8、仔細(xì)分析程序報(bào)錯(cuò)的原因,由開(kāi)發(fā)工程師debug程序出錯(cuò)的位置,并同時(shí)檢測(cè)恢復(fù)出來(lái)的LUN,檢測(cè)LMV邏輯卷的信息是否損壞。經(jīng)過(guò)檢測(cè)發(fā)現(xiàn)LVM信息已經(jīng)損壞。嘗試人工修復(fù)損壞的區(qū)域,并同步修改LVM解釋程序重新解析LVM邏輯卷。
9、搭建HP-Unix環(huán)境,將解釋出來(lái)的LV卷映射到HP-Unix并嘗試掛載文件系統(tǒng),結(jié)果掛載文件系統(tǒng)出錯(cuò)。嘗試使用“fsck –F vxfs” 命令修復(fù)vxfs文件系統(tǒng),修復(fù)完成后發(fā)現(xiàn)還是不能成功掛載。懷疑是底層vxfs文件系統(tǒng)的部分元數(shù)據(jù)已經(jīng)破壞。
10、分析解析出來(lái)的LV并根據(jù)VXFS文件系統(tǒng)的底層結(jié)構(gòu)校驗(yàn)此文件系統(tǒng)是否完整。分析結(jié)果發(fā)現(xiàn)底層VXFS文件系統(tǒng)有問(wèn)題,存儲(chǔ)設(shè)備癱瘓的時(shí)候文件系統(tǒng)正在執(zhí)行IO操作,部分文件系統(tǒng)元文件損壞。北亞企安數(shù)據(jù)恢復(fù)工程師手工修復(fù)這些損壞的元文件,直至VXFS文件系統(tǒng)能夠被正常解析。
11、再次將修復(fù)好的LV卷掛載到HP-Unix小機(jī)上,嘗試Mount文件系統(tǒng),文件系統(tǒng)成功掛載。
12、在HP-Unix小機(jī)上mount文件系統(tǒng)后,將所有用戶(hù)數(shù)據(jù)均備份至指定的磁盤(pán)空間。
部分文件目錄:
北亞企安數(shù)據(jù)恢復(fù)——vxfs文件系統(tǒng)數(shù)據(jù)恢復(fù)
13、使用工具檢測(cè)每個(gè)Oracle數(shù)據(jù)庫(kù)文件的完整性,沒(méi)有發(fā)現(xiàn)問(wèn)題。使用北亞企安自主開(kāi)發(fā)的Oracle數(shù)據(jù)庫(kù)檢測(cè)工具(檢驗(yàn)更嚴(yán)格)進(jìn)行檢測(cè),發(fā)現(xiàn)有部分Oracle數(shù)據(jù)庫(kù)文件和日志文件校驗(yàn)不一致。數(shù)據(jù)庫(kù)工程師對(duì)這部分文件進(jìn)行修復(fù)并再次校驗(yàn),直到所有Oracle數(shù)據(jù)庫(kù)文件校驗(yàn)通過(guò)。
14、將恢復(fù)出來(lái)的Oracle數(shù)據(jù)庫(kù)附加到原始生產(chǎn)環(huán)境的HP-Unix服務(wù)器中,啟動(dòng)Oracle數(shù)據(jù)庫(kù)成功。
北亞企安數(shù)據(jù)恢復(fù)——vxfs文件系統(tǒng)數(shù)據(jù)恢復(fù)
數(shù)據(jù)驗(yàn)證:
在用戶(hù)方工程師的配合下,啟動(dòng)Oracle數(shù)據(jù)庫(kù)和OA服務(wù)端。通過(guò)筆記本電腦上安裝的OA客戶(hù)端對(duì)最新的數(shù)據(jù)記錄以及歷史數(shù)據(jù)記錄進(jìn)行反復(fù)驗(yàn)證,并且安排用戶(hù)方公司不同部門(mén)人員進(jìn)行遠(yuǎn)程驗(yàn)證。最終確認(rèn)數(shù)據(jù)無(wú)誤,完整可用。本次數(shù)據(jù)恢復(fù)工作完成。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9021瀏覽量
85185 -
RAID
+關(guān)注
關(guān)注
0文章
273瀏覽量
35056 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
549瀏覽量
17390 -
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
284瀏覽量
19883
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論