NetApp數據恢復環境:
NetApp某型號存儲陣列,包含2個機頭+1個擴展柜,72塊SAS接口的520字節硬盤組建了3組raid。
北亞企安數據恢復—NetApp數據恢復
NetApp故障:
工作人員誤操作刪除11個lun。
NetApp數據恢復過程:
1、將NetApp存儲陣列環境中所有硬盤做好標記后取出。硬件工程師對所有硬盤進行檢測后沒有發現有硬盤存在硬件故障,都可以正常讀取。將所有硬盤以只讀方式進行扇區級全盤鏡像,鏡像完成后將所有磁盤按照原樣還原到原存儲中,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。
2、北亞企安數據恢復工程師團隊對該NetApp存儲進行分析后,制定了NetApp存儲數據恢復方案:
a、分析盤序和LVM的組成方式。
b、掃描硬盤內的所有節點,主要是用戶節點。
c、在節點掃描結果中找到文件大小符合需求的節點,找到索引根。
d、根據索引根內的第一級數據指針提取本文件的所有直接數據指針(參考節點中0x03位置的MAP深度:0x00時直接從節點內提取數據,0x01時需要提取一次MAP,0x02時需要提取兩次MAP......)。完成指針提取后開始提取文件數據。
3、在盤頭位置找到超級塊。從超級塊中獲取到磁盤組名字、磁盤組的邏輯起始塊號、總塊數、磁盤組中raid的編號。
NetApp超級塊:
北亞企安數據恢復—NetApp數據恢復
4、每個數據塊占8個扇區,數據塊后附加64字節數據塊描述信息。根據這些信息判斷出校驗盤。提取數據時需要剔除校驗盤。
0x10處為FFFF表示校驗塊,校驗塊描述信息樣例:
北亞企安數據恢復—NetApp數據恢復
5、根據每塊磁盤8號扇區的磁盤信息以及磁盤末尾的RAID盤序表確定盤序。確定各個磁盤所屬aggr組,然后再判斷組內盤序。數據指針跳轉時不考慮校驗盤,所以只需要獲取到數據盤的盤序即可。
NetApp盤序表:
北亞企安數據恢復—NetApp數據恢復
6、NetApp的節點分布在數量眾多的數據塊內,在數據塊內又被統一組織為節點組。每個節點組的前64字節記錄系統數據,使用192字節作為一項來記錄各個文件節點。文件節點根據用戶級別分為2類:“MBFP”系統文件節點、“MBFI”用戶文件節點。通常恢復數據只需要MBFI節點組即可。
NetApp節點樣例圖:
北亞企安數據恢復—NetApp數據恢復
7、獲取目錄項,根據其節點編號找到對應節點。
8、掃描節點信息。
北亞企安數據恢復—NetApp數據恢復
節點掃描類:
北亞企安數據恢復—NetApp數據恢復
節點掃描程序完整流程:
北亞企安數據恢復—NetApp數據恢復
在循環掃描完畢之后會將所有掃描到的MBFP、MBFI和DOC數據塊分別寫入到三個文件內,用于后續處理。
9、將ScanNode掃描到的MBFI和MBFP、Dir存入數據庫以備后續使用。
MBFI導入數據庫整體流程:
北亞企安數據恢復—NetApp數據恢復
函數執行完畢后可以查看數據庫得到如下信息:
節點導入信息:
北亞企安數據恢復—NetApp數據恢復
NetApp在更改inode節點時不會直接覆蓋而是重新分配inode進行寫入。單個文件的節點node_uid唯一不變,mbfi_usn會隨著節點的變化而增大(正常情況下提取某個文件時使用usn最大的節點)。一般情況下存儲劃分出的單個節點會作為LUN映射到服務器使用。根據file_size可以確定這個文件的大小,按照文件大小分組后再選取usn最大值的節點,跳轉到MBFI文件的offset值偏移位置,取出節點。
節點樣例:
北亞企安數據恢復—NetApp數據恢復
10、獲取到要提取的文件的Node之后,開始提取塊設備文件。
程序需要讀取配置文件:
北亞企安數據恢復—NetApp數據恢復
初始化完畢后,開始提取文件的各級MAP。本案例中文件大小均大于1T,MAP層級為4,所以需要提取4次。第一級MAP默認只占用1個塊,所以在程序內直接提取;后三級MAP在GetAllMap函數內進行提取。通過塊號計算數據塊位置時,由于NetApp使用JBOD組織LVM,直接用塊號除以每塊磁盤上的塊數可得到當前塊所在的磁盤序號(計算機整數除法,丟棄小數部分);再使用塊號取余塊數,得到數據塊在此磁盤上的物理塊號,物理塊號乘以塊大小,得到數據塊偏移位置。
11、本案例中的塊設備5T大小的lun使用的是aix小機的jfs2文件系統。可以通過解析jfs2文件系統來提取里面的數據庫備份文件。
7扇區記錄了lvm描述信息,獲取pv大小和pv序號。類似找到vg描述區,獲取lv數和pv數;找到pv描述區,解析pp序號和pp數。
北亞企安數據恢復—NetApp數據恢復
LV類型及LV掛載信息區域:
北亞企安數據恢復—NetApp數據恢復
12、解析8個1T大小的lun組成的oralce ASM文件系統,提取其中的數據庫文件。
添加8個lT大小的lun:
北亞企安數據恢復—NetApp數據恢復
解析asm文件系統,提取出數據庫文件。
北亞企安數據恢復—NetApp數據恢復
13、搭建小機環境,安裝oracle數據庫,檢測數據庫文件和備份文件。
14、檢測數據庫文件。使用提取出的數據庫文件啟動數據庫,啟動失敗。經檢測該數據庫文件存在壞塊,無法使用。
15、因為用戶方設定的數據庫備份機制,所以每個數據庫存在多個備份。找到最新的數據庫備份文件來還原數據庫。經過嘗試篩,選出最新的可用的數據庫備份文件來還原數據庫環境,然后由用戶方驗證。
數據驗證及數據移交:
經過用戶方多次反復的驗證,發現數據庫中少量數據缺失,但是在用戶方接受范圍之內。用戶方認可數據恢復結果。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9198瀏覽量
85514 -
數據恢復
+關注
關注
10文章
577瀏覽量
17478 -
NetApp
+關注
關注
0文章
73瀏覽量
14743
發布評論請先 登錄
相關推薦
評論