1. 程式人生 > >【多圖教程】服務器恢復誤刪除的數據,netAPP存儲誤刪除數據恢復教程

【多圖教程】服務器恢復誤刪除的數據,netAPP存儲誤刪除數據恢復教程

數據恢復 判斷 找到 用戶 當前 map函數 數據 客戶 序號

一、服務器誤刪除數據恢復案例背景

一客戶由於誤操作,不小心將服務器內的1個容量為5T的lun和10個容量為1T的lun刪除了,客戶急需恢復服務器內的數據。用戶服務器配置信息如下表:
技術分享圖片

用戶誤刪除的數據信息如下表:
技術分享圖片
圖2:

二、服務器數據備份

在進行服務器數據恢復操作前需要將客戶原服務器內的所有數據進行鏡像備份操作,然後對備份的數據進行分析與恢復,將原服務器交還用戶。

三、服務器數據恢復過程

分析該服務器內的所有硬盤,在盤頭位置找到超級塊,從超級塊中得到磁盤組名字,磁盤組的邏輯起始塊號,總塊數,磁盤組中raid的編號
技術分享圖片
圖:3 netapp超級塊
每個數據塊占8個扇區,數據塊後附加64字節數據塊描述信息。根據這些信息可以判斷出哪些磁盤是校驗盤(提取數據時校驗盤需剔除)。

0x10:6字節為aggr_data塊號
如果0x10處為FFFF表示校驗塊
技術分享圖片

  • 圖4 校驗塊描述信息樣例*
    盤序分析時主要依據每塊磁盤8號扇區的磁盤信息以及磁盤末尾的RAID盤序表確定盤序。首先要確定各個磁盤所屬aggr組,然後再判斷組內盤序。數據指針跳轉時不考慮校驗盤,所以只取得數據盤的盤序即可。
    aggr_raid(磁盤靠近尾部) 根據10H處的VCN塊號判斷磁盤組內各盤的順序
    技術分享圖片
    圖5 netapp盤序表
    Netapp的節點分布在數量眾多的數據塊內,在數據塊內又被統一組織為節點組。每個節點組的前64字節記錄一些系統數據,之後用192字節為一項記錄各個文件節點。根據用戶級別可分為兩類:“MBFP”系統文件節點和“MBFI”用戶文件節點,在數據恢復時一般只取MBFI節點組即可。
    技術分享圖片
    圖6 netapp節點樣例圖
    頭部信息64字節
    解析如下:(此頭部為數據文件的節點文件塊頭部,大小為64字節)
    標誌,常量(“MBFP”為元文件的節點標誌,“MBFI”為用戶文件的節點標誌)
    根據更新序列值獲取到最新節點
    解析節點中節點類型,邏輯塊號,文件數量,文件大小,所占塊數量,及數據指針
    獲取節點在節點文件中的邏輯塊號,從0開始計數
    6、獲取目錄項,並根據其節點編號,找到對應節點

技術分享圖片
圖7:
通過程序提取服務器數據
1、掃描節點信息
技術分享圖片
圖8:
技術分享圖片
圖:9 節點掃描類
技術分享圖片
圖10 節點掃描程序完整流程
在循環掃描完畢之後會將所有掃描到的MBFP、MBFI和DOC數據塊分別寫入到三個文件內,用於後續處理。
2、將節點信息導入到數據庫

此模塊主要負責將ScanNode掃描得到的MBFI和MBFP、Dir存入數據庫以備後續使用。
以下是流程:
技術分享圖片
圖11 MBFI導入數據庫整體流程

函數執行完畢後可以查看數據庫得到如下信息:
技術分享圖片
圖12 節點導入信息
Netapp在更改inode節點時不會直接覆蓋而是重新分配inode進行寫入。單個文件的節點node_uid唯一不變,mbfi_usn會隨著節點的變化而增大(正常情況下提取某個文件時使用usn最大的節點)。一般情況下存儲劃分出的單個節點會作為LUN映射到服務器使用,根據file_size可以確定這個文件的大小,按照文件大小分組後再選取usn最大值的節點,跳轉到MBFI文件的offset值偏移位置,取出節點。
技術分享圖片
圖13 節點樣例
3、提取文件
在獲取到要提取的文件的Node之後,開始提取塊設備文件。
程序需要讀取配置文件:
技術分享圖片
圖14
初始化完畢後,開始提取文件的各級MAP,在本次提取過程中文件大小均大於1T,MAP層級為4,所以需要提取4次。第一級MAP默認只占用1個塊,所以在程序內直接提取,後三級MAP在GetAllMap函數內進行提取。通過塊號計算數據塊位置時,由於NetApp使用JBOD組織LVM,直接用塊號除以每塊磁盤上的塊數可得到當前塊所在的磁盤序號(計算機整數除法,丟棄小數邠);再使用塊號取余塊數,得到數據塊在此磁盤上的物理塊號,物理塊號乘以塊大小,得到數據塊偏移位置。

四、塊設備文件系統解析

1、客戶的塊設備5Tlun用的是aix小機的jfs2文件系統
因此要解析jfs2文件系統,提取裏面的數據庫備份文件
解析lvm
7扇區記錄lvm描述信息,獲取pv大小和pv序號,
類似找到vg描述區,獲取lv數和pv數,找到pv描述區,解析pp序號和pp數
技術分享圖片
圖15
LV類型及LV掛載信息區域
技術分享圖片
圖16
1、解析8個1Tlun組成oralce ASM文件系統,提取其中的數據庫文件
添加8個lTlun
技術分享圖片
圖17
解析asm文件系統,提取出數據庫文件
技術分享圖片
圖18

六、服務器數據恢復驗證及數據移交

客戶對恢復完成的數據庫進行驗證,數據庫中的數據100%恢復
經過3天左右的驗證,客戶對數據庫恢復確認無誤,此次數據恢復工作圓滿成功。

【多圖教程】服務器恢復誤刪除的數據,netAPP存儲誤刪除數據恢復教程