Netapp數(shù)據(jù)恢復數(shù)據(jù)恢復環(huán)境&故障:
一臺Netapp存儲中有72塊SAS硬盤,管理員誤操作刪除了12個lun。
Netapp數(shù)據(jù)恢復過程:
1、將故障Netapp存儲中所有磁盤編號后取出。硬件工程師檢測后沒有發(fā)現(xiàn)有硬盤存在硬件故障,都可以正常讀取。將所有硬盤以只讀方式進行扇區(qū)級全盤鏡像。鏡像完成后將所有磁盤按照標記原樣還原到原存儲中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復操作都基于鏡像文件進行,避免對原始磁盤數(shù)據(jù)造成二次破壞。
2、基于鏡像文件對分析所有磁盤底層數(shù)據(jù),找到了盤頭位置的超級塊,分析超級塊信息獲取到磁盤組的起始塊信息、磁盤組名稱、邏輯組起始塊號、raid編號等基本信息。
分析超級塊:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
分析后得知:每個數(shù)據(jù)塊占8個扇區(qū),數(shù)據(jù)塊后附加64字節(jié)數(shù)據(jù)塊描述信息。根據(jù)數(shù)據(jù)塊描述信息找到校驗盤。
校驗塊描述信息樣例:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
3、依據(jù)每塊磁盤8號扇區(qū)的磁盤信息以及磁盤末尾的RAID盤序表確定盤序。
分析盤序表:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
Tips:Netapp的節(jié)點分布在數(shù)量眾多的數(shù)據(jù)塊內(nèi),在數(shù)據(jù)塊內(nèi)被統(tǒng)一組織為節(jié)點組。每個節(jié)點組的前64字節(jié)記錄系統(tǒng)數(shù)據(jù),后面的192字節(jié)作為一項來記錄各個文件節(jié)點。
點樣例圖:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
4、根據(jù)更新序列值獲取到最新節(jié)點。解析節(jié)點中節(jié)點類型、邏輯塊號、文件數(shù)量、文件大小、所占塊數(shù)量和數(shù)據(jù)指針。獲取節(jié)點在節(jié)點文件中的邏輯塊號,從0開始計數(shù)。
5、獲取目錄項,并根據(jù)目錄項節(jié)點編號找到對應節(jié)點。
節(jié)點截圖:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
6、北亞企安數(shù)據(jù)恢復工程師編寫工具掃描節(jié)點信息。
掃描服務(wù)器節(jié)點信息:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
節(jié)點掃描類:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
節(jié)點掃描流程:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
循環(huán)掃描完畢之后將所有掃描到的MBFP(元文件的節(jié)點標志)、MBFI(用戶文件的節(jié)點標志)和DOC數(shù)據(jù)塊分別寫入到三個文件內(nèi),用于后續(xù)處理。
MBFI導入數(shù)據(jù)庫流程:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
函數(shù)執(zhí)行完畢后查看數(shù)據(jù)庫得到如下信息。
節(jié)點導入信息:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
Tips:Netapp在更改inode節(jié)點時不是直接覆蓋而是重新分配inode寫入。單個文件的節(jié)點node_uid唯一不變,mbfi_usn會隨著節(jié)點的變化而增大。存儲劃分的單個節(jié)點會作為LUN映射到服務(wù)器使用。根據(jù)file_size確定文件的大小。按照文件大小分組后再選取usn最大值的節(jié)點,然后跳轉(zhuǎn)到MBFI文件的offset值偏移位置,取出節(jié)點。
節(jié)點樣例:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
7、獲取到要提取的文件的Node之后,開始提取塊設(shè)備文件。
提取塊設(shè)備文件:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
初始化完畢后,開始提取文件的各級MAP。本案例中提取的文件大小均大于1T,MAP層級為4,所以需要提取4次。第一級MAP默認只占用1個塊,可以在程序內(nèi)直接提取;后三級MAP在GetAllMap函數(shù)內(nèi)提取。
8、由于NetApp使用JBOD組織LVM,用塊號除以每塊磁盤上的塊數(shù)就可得到當前塊所在的磁盤序號;塊號取余塊數(shù)得到數(shù)據(jù)塊在此磁盤上的物理塊號;物理塊號乘以塊大小得到數(shù)據(jù)塊偏移位置。
9、由于本案例中塊設(shè)備lun采用的是jfs2文件系統(tǒng)。因此需要通過解析jfs2文件系統(tǒng)來提取其中的數(shù)據(jù)庫備份文件。
解析文件系統(tǒng)塊信息:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
LV類型及LV掛載信息區(qū)域:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
10、解析由數(shù)個lun組成的oralce ASM文件系統(tǒng),提取其中的數(shù)據(jù)庫文件。
添加lun:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
解析asm文件系統(tǒng),提取出數(shù)據(jù)庫文件:

北亞企安數(shù)據(jù)恢復—Netapp數(shù)據(jù)恢復
Netapp數(shù)據(jù)驗證及數(shù)據(jù)移交:
北亞企安數(shù)據(jù)恢復工程師對恢復出來的數(shù)據(jù)進行檢測后沒有發(fā)現(xiàn)異常。讓用戶方驗證恢復出來的數(shù)據(jù),經(jīng)過用戶方驗證,確認恢復出來的數(shù)據(jù)完整有效,認可數(shù)據(jù)恢復結(jié)果。
審核編輯 黃宇
-
數(shù)據(jù)恢復
+關(guān)注
關(guān)注
10文章
692瀏覽量
18852 -
NetApp
+關(guān)注
關(guān)注
0文章
80瀏覽量
15397
發(fā)布評論請先 登錄
zfs數(shù)據(jù)恢復—ZFS存儲遷移數(shù)據(jù)讀不出數(shù)據(jù)怎么恢復數(shù)據(jù)?
vsan數(shù)據(jù)恢復—VSAN超融合架構(gòu):供電異常的vsan數(shù)據(jù)恢復案例
Netapp數(shù)據(jù)恢復—誤刪NetApp卷數(shù)據(jù):從崩潰到恢復的實戰(zhàn)復盤
Netapp數(shù)據(jù)恢復—Netapp存儲數(shù)據(jù)恢復揭秘
服務(wù)器數(shù)據(jù)恢復—EqualLogic存儲上raid5磁盤陣列數(shù)據(jù)恢復案例
NetApp率先將數(shù)據(jù)泄露檢測功能嵌入企業(yè)數(shù)據(jù)存儲
Mysql數(shù)據(jù)恢復—Windows Server下MySQL(InnoDB)全表誤刪數(shù)據(jù)恢復案例
服務(wù)器數(shù)據(jù)恢復—服務(wù)器上的卷被誤刪數(shù)據(jù)如何恢復?
oracle數(shù)據(jù)恢復—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復數(shù)據(jù)?
分布式存儲數(shù)據(jù)恢復—虛擬機上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復案例
服務(wù)器數(shù)據(jù)恢復—AIX小型機誤刪數(shù)據(jù)如何恢復!
數(shù)據(jù)庫數(shù)據(jù)恢復——MySQL數(shù)據(jù)庫誤刪除表記錄的數(shù)據(jù)恢復案例

Netapp數(shù)據(jù)恢復—Netapp存儲誤刪除lun如何恢復數(shù)據(jù)?
評論