Netapp數(shù)據(jù)恢復(fù)數(shù)據(jù)恢復(fù)環(huán)境&故障:
一臺(tái)Netapp存儲(chǔ)中有72塊SAS硬盤,管理員誤操作刪除了12個(gè)lun。
Netapp數(shù)據(jù)恢復(fù)過(guò)程:
1、將故障Netapp存儲(chǔ)中所有磁盤編號(hào)后取出。硬件工程師檢測(cè)后沒有發(fā)現(xiàn)有硬盤存在硬件故障,都可以正常讀取。將所有硬盤以只讀方式進(jìn)行扇區(qū)級(jí)全盤鏡像。鏡像完成后將所有磁盤按照標(biāo)記原樣還原到原存儲(chǔ)中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進(jìn)行,避免對(duì)原始磁盤數(shù)據(jù)造成二次破壞。
2、基于鏡像文件對(duì)分析所有磁盤底層數(shù)據(jù),找到了盤頭位置的超級(jí)塊,分析超級(jí)塊信息獲取到磁盤組的起始?jí)K信息、磁盤組名稱、邏輯組起始?jí)K號(hào)、raid編號(hào)等基本信息。
分析超級(jí)塊:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
分析后得知:每個(gè)數(shù)據(jù)塊占8個(gè)扇區(qū),數(shù)據(jù)塊后附加64字節(jié)數(shù)據(jù)塊描述信息。根據(jù)數(shù)據(jù)塊描述信息找到校驗(yàn)盤。
校驗(yàn)塊描述信息樣例:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
3、依據(jù)每塊磁盤8號(hào)扇區(qū)的磁盤信息以及磁盤末尾的RAID盤序表確定盤序。
分析盤序表:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
Tips:Netapp的節(jié)點(diǎn)分布在數(shù)量眾多的數(shù)據(jù)塊內(nèi),在數(shù)據(jù)塊內(nèi)被統(tǒng)一組織為節(jié)點(diǎn)組。每個(gè)節(jié)點(diǎn)組的前64字節(jié)記錄系統(tǒng)數(shù)據(jù),后面的192字節(jié)作為一項(xiàng)來(lái)記錄各個(gè)文件節(jié)點(diǎn)。
點(diǎn)樣例圖:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
4、根據(jù)更新序列值獲取到最新節(jié)點(diǎn)。解析節(jié)點(diǎn)中節(jié)點(diǎn)類型、邏輯塊號(hào)、文件數(shù)量、文件大小、所占?jí)K數(shù)量和數(shù)據(jù)指針。獲取節(jié)點(diǎn)在節(jié)點(diǎn)文件中的邏輯塊號(hào),從0開始計(jì)數(shù)。
5、獲取目錄項(xiàng),并根據(jù)目錄項(xiàng)節(jié)點(diǎn)編號(hào)找到對(duì)應(yīng)節(jié)點(diǎn)。
節(jié)點(diǎn)截圖:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
6、北亞企安數(shù)據(jù)恢復(fù)工程師編寫工具掃描節(jié)點(diǎn)信息。
掃描服務(wù)器節(jié)點(diǎn)信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
節(jié)點(diǎn)掃描類:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
節(jié)點(diǎn)掃描流程:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
循環(huán)掃描完畢之后將所有掃描到的MBFP(元文件的節(jié)點(diǎn)標(biāo)志)、MBFI(用戶文件的節(jié)點(diǎn)標(biāo)志)和DOC數(shù)據(jù)塊分別寫入到三個(gè)文件內(nèi),用于后續(xù)處理。
MBFI導(dǎo)入數(shù)據(jù)庫(kù)流程:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
函數(shù)執(zhí)行完畢后查看數(shù)據(jù)庫(kù)得到如下信息。
節(jié)點(diǎn)導(dǎo)入信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
Tips:Netapp在更改inode節(jié)點(diǎn)時(shí)不是直接覆蓋而是重新分配inode寫入。單個(gè)文件的節(jié)點(diǎn)node_uid唯一不變,mbfi_usn會(huì)隨著節(jié)點(diǎn)的變化而增大。存儲(chǔ)劃分的單個(gè)節(jié)點(diǎn)會(huì)作為L(zhǎng)UN映射到服務(wù)器使用。根據(jù)file_size確定文件的大小。按照文件大小分組后再選取usn最大值的節(jié)點(diǎn),然后跳轉(zhuǎn)到MBFI文件的offset值偏移位置,取出節(jié)點(diǎn)。
節(jié)點(diǎn)樣例:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
7、獲取到要提取的文件的Node之后,開始提取塊設(shè)備文件。
提取塊設(shè)備文件:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
初始化完畢后,開始提取文件的各級(jí)MAP。本案例中提取的文件大小均大于1T,MAP層級(jí)為4,所以需要提取4次。第一級(jí)MAP默認(rèn)只占用1個(gè)塊,可以在程序內(nèi)直接提??;后三級(jí)MAP在GetAllMap函數(shù)內(nèi)提取。
8、由于NetApp使用JBOD組織LVM,用塊號(hào)除以每塊磁盤上的塊數(shù)就可得到當(dāng)前塊所在的磁盤序號(hào);塊號(hào)取余塊數(shù)得到數(shù)據(jù)塊在此磁盤上的物理塊號(hào);物理塊號(hào)乘以塊大小得到數(shù)據(jù)塊偏移位置。
9、由于本案例中塊設(shè)備lun采用的是jfs2文件系統(tǒng)。因此需要通過(guò)解析jfs2文件系統(tǒng)來(lái)提取其中的數(shù)據(jù)庫(kù)備份文件。
解析文件系統(tǒng)塊信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
LV類型及LV掛載信息區(qū)域:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
10、解析由數(shù)個(gè)lun組成的oralce ASM文件系統(tǒng),提取其中的數(shù)據(jù)庫(kù)文件。
添加lun:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
解析asm文件系統(tǒng),提取出數(shù)據(jù)庫(kù)文件:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
Netapp數(shù)據(jù)驗(yàn)證及數(shù)據(jù)移交:
北亞企安數(shù)據(jù)恢復(fù)工程師對(duì)恢復(fù)出來(lái)的數(shù)據(jù)進(jìn)行檢測(cè)后沒有發(fā)現(xiàn)異常。讓用戶方驗(yàn)證恢復(fù)出來(lái)的數(shù)據(jù),經(jīng)過(guò)用戶方驗(yàn)證,確認(rèn)恢復(fù)出來(lái)的數(shù)據(jù)完整有效,認(rèn)可數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
581瀏覽量
17524 -
NetApp
+關(guān)注
關(guān)注
0文章
74瀏覽量
14744
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論