【服務(wù)器數(shù)據(jù)恢復(fù)】NetApp存儲(chǔ)誤刪除lun的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:
NetApp某型號(hào)存儲(chǔ);
配備SAS硬盤,該硬盤520字節(jié)一個(gè)扇區(qū);
所有的lun映射到小型機(jī)使用,存放Oracle數(shù)據(jù)庫(kù)文件,采用ASM裸設(shè)備存儲(chǔ)方式。
服務(wù)器故障:
管理員誤操作刪除NetApp存儲(chǔ)上的所有l(wèi)un。和管理員溝通后得知:因?yàn)闃I(yè)務(wù)變化,需要重新規(guī)劃存儲(chǔ)空間,管理員直接把存儲(chǔ)卷全部刪除并重新分配。在執(zhí)行刪除操作之后還沒(méi)有來(lái)得及分配的時(shí)候,上層業(yè)務(wù)突然宕機(jī)了。運(yùn)維工程師緊急排查故障情況,發(fā)現(xiàn)業(yè)務(wù)服務(wù)器上的磁盤都不見(jiàn)了,無(wú)法訪問(wèn)數(shù)據(jù)。
服務(wù)器數(shù)據(jù)恢復(fù)過(guò)程:
1、為了避免在數(shù)據(jù)恢復(fù)過(guò)程中對(duì)原始數(shù)據(jù)造成二次破壞,把故障存儲(chǔ)中的每塊磁盤以只讀方式做完全鏡像,后續(xù)的所有數(shù)據(jù)恢復(fù)操作都在鏡像文件上進(jìn)行。
2、分析Netapp存儲(chǔ)的存儲(chǔ)過(guò)程。
a、分析盤序和LVM的組成方式。
b、掃描硬盤內(nèi)的所有節(jié)點(diǎn)。
c、在節(jié)點(diǎn)掃描結(jié)果中找到文件大小符合需求的節(jié)點(diǎn)并提取此節(jié)點(diǎn)。
d、根據(jù)索引根內(nèi)的第一級(jí)數(shù)據(jù)指針提取本文件的所有直接數(shù)據(jù)指針,在指針提取完畢后開(kāi)始提取文件數(shù)據(jù)。
3、在硬盤前面的扇區(qū)位置查找超級(jí)塊的相關(guān)信息。
netapp超級(jí)塊信息:

數(shù)據(jù)塊有數(shù)據(jù)塊描述信息,根據(jù)這些信息可以判斷出哪些磁盤是校驗(yàn)盤(提取數(shù)據(jù)時(shí)需剔除)。
校驗(yàn)塊描述信息:

4、根據(jù)每塊磁盤的磁盤信息以及磁盤的RAID盤序表確定盤序。首先要確定各個(gè)磁盤所屬aggr組,然后再判斷組內(nèi)盤序。
netapp盤序表:

5、Netapp的節(jié)點(diǎn)分布在數(shù)量眾多的數(shù)據(jù)塊內(nèi),在數(shù)據(jù)塊內(nèi)節(jié)點(diǎn)又被統(tǒng)一組織為節(jié)點(diǎn)組。每個(gè)節(jié)點(diǎn)組的部分字節(jié)記錄一些系統(tǒng)數(shù)據(jù),部分字節(jié)為一項(xiàng)來(lái)記錄各個(gè)文件節(jié)點(diǎn)。根據(jù)用戶級(jí)別文件節(jié)點(diǎn)可分為兩類:系統(tǒng)文件節(jié)點(diǎn)和用戶文件節(jié)點(diǎn)。?
netapp節(jié)點(diǎn):

6、獲取目錄項(xiàng),根據(jù)其節(jié)點(diǎn)編號(hào)找到對(duì)應(yīng)節(jié)點(diǎn)。
目錄項(xiàng)信息:

7、分析好存儲(chǔ)結(jié)構(gòu)之后,使用北亞企安自研的NetApp解析程序提取數(shù)據(jù),解析asm文件系統(tǒng)并提取出數(shù)據(jù)庫(kù)文件。

8、搭建小機(jī)環(huán)境,安裝oracle數(shù)據(jù)庫(kù),驗(yàn)證數(shù)據(jù)庫(kù)文件和備份文件。
a、檢測(cè)數(shù)據(jù)庫(kù)文件。使用提取出的數(shù)據(jù)庫(kù)文件啟動(dòng)數(shù)據(jù)庫(kù),可以正常啟動(dòng)。
b、檢測(cè)數(shù)據(jù)庫(kù)備份文件。篩選出最新的數(shù)據(jù)庫(kù)備份文件,使用篩選出的備份文件還原數(shù)據(jù)庫(kù),經(jīng)過(guò)逐一嘗試,沒(méi)有發(fā)現(xiàn)問(wèn)題。用戶親自驗(yàn)證后確認(rèn)數(shù)據(jù)庫(kù)恢復(fù)確認(rèn)無(wú)誤,本次數(shù)據(jù)恢復(fù)工作完成。