Netapp數(shù)據(jù)恢復(fù)環(huán)境&故障情況:
某公司一臺服務(wù)器中一共有72塊SAS硬盤。
工作人員誤操作刪除了十幾個lun。需要恢復(fù)服務(wù)器中的數(shù)據(jù)。
Netapp數(shù)據(jù)恢復(fù)過程:
1、將故障服務(wù)器上磁盤編號后取出。由硬件工程師對所有磁盤進行硬件故障檢測,未發(fā)現(xiàn)有硬盤存在物理壞道和其他硬件故障。將所有硬盤以只讀方式做全盤鏡像,鏡像完成后將磁盤根據(jù)編號按照原樣還原到原服務(wù)器中。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作都基于鏡像文件進行,避免對原始磁盤數(shù)據(jù)造成二次破壞。
2、服務(wù)器數(shù)據(jù)恢復(fù)工程師基于鏡像文件分析所有硬盤底層數(shù)據(jù),找到盤頭位置的超級塊,繼續(xù)分析超級塊信息得到磁盤組的起始塊信息、磁盤組名稱、邏輯組起始塊號、raid編號等基本信息。
分析超級塊:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
3、通過分析得知每個數(shù)據(jù)塊占8個扇區(qū),數(shù)據(jù)塊后附加64字節(jié)數(shù)據(jù)塊描述信息。北亞企安數(shù)據(jù)恢復(fù)工程師根據(jù)這些信息判斷出是校驗盤的磁盤。恢復(fù)數(shù)據(jù)時需要將校檢盤排除在外。
0x10:6字節(jié)為aggr_data塊號
0x10處為FFFF表示校驗塊。
校驗塊描述信息樣例:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
4、根據(jù)每塊磁盤8號扇區(qū)的磁盤信息以及磁盤末尾的RAID盤序表確定盤序。
首先確定各個磁盤所屬aggr組,然后再判斷組內(nèi)盤序。數(shù)據(jù)指針跳轉(zhuǎn)時不考慮校驗盤,所以只取得數(shù)據(jù)盤的盤序即可。
aggr_raid(磁盤靠近尾部) 根據(jù)10H處的VCN塊號判斷磁盤組內(nèi)各盤的順序。
分析盤序表:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
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é)點。根據(jù)用戶級別可分為兩類:“MBFP”系統(tǒng)文件節(jié)點和“MBFI”用戶文件節(jié)點,在數(shù)據(jù)恢復(fù)時一般只取“MBFI”節(jié)點組即可。
服務(wù)器節(jié)點樣例圖:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
頭部信息64字節(jié)
解析如下:(此頭部為數(shù)據(jù)文件的節(jié)點文件塊頭部,大小為64字節(jié))
標志,常量(“MBFP”為元文件的節(jié)點標志,“MBFI”為用戶文件的節(jié)點標志)
根據(jù)更新序列值獲取到最新節(jié)點。
5、解析節(jié)點中節(jié)點類型、邏輯塊號、文件數(shù)量、文件大小、所占塊數(shù)量、數(shù)據(jù)指針。獲取節(jié)點在節(jié)點文件中的邏輯塊號,從0開始計數(shù)。
6、獲取目錄項,并根據(jù)其節(jié)點編號,找到對應(yīng)節(jié)點。
獲取服務(wù)器內(nèi)對應(yīng)節(jié)點截圖:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
7、使用北亞企安自主開發(fā)的程序提取服務(wù)器數(shù)據(jù)。
a、掃描節(jié)點信息。
掃描服務(wù)器節(jié)點信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
節(jié)點掃描類:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
節(jié)點掃描程序完整流程:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
在循環(huán)掃描完畢之后會將所有掃描到的MBFP、MBFI和DOC數(shù)據(jù)塊分別寫入到三個文件內(nèi),用于后續(xù)處理。
b、將節(jié)點信息導(dǎo)入到數(shù)據(jù)庫。
此模塊主要負責(zé)將ScanNode掃描得到的MBFI和MBFP、Dir存入數(shù)據(jù)庫以備后續(xù)使用。
MBFI導(dǎo)入數(shù)據(jù)庫整體流程:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
函數(shù)執(zhí)行完畢后可以查看數(shù)據(jù)庫。
節(jié)點導(dǎo)入信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
Netapp在更改inode節(jié)點時不會直接覆蓋而是重新分配inode進行寫入。單個文件的節(jié)點node_uid唯一不變,mbfi_usn會隨著節(jié)點的變化而增大(正常情況下提取某個文件時使用usn最大的節(jié)點)。一般情況下存儲劃分出的單個節(jié)點會作為LUN映射到服務(wù)器使用,根據(jù)file_size可以確定這個文件的大小,按照文件大小分組后再選取usn最大值的節(jié)點,跳轉(zhuǎn)到MBFI文件的offset值偏移位置,取出節(jié)點。
節(jié)點樣例圖示:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
c、提取文件
在獲取到要提取的文件的Node之后,開始提取塊設(shè)備文件。
提取塊設(shè)備文件:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
初始化完畢后,開始提取文件的各級MAP。本次提取過程中文件大小均大于1T,MAP層級為4,所以需要提取4次。第一級MAP默認只占用1個塊,所以在程序內(nèi)直接提取,后三級MAP在GetAllMap函數(shù)內(nèi)進行提取。通過塊號計算數(shù)據(jù)塊位置時,由于NetApp使用JBOD組織LVM,直接用塊號除以每塊磁盤上的塊數(shù)就可以得到當前塊所在的磁盤序號(計算機整數(shù)除法,丟棄小數(shù)邠);再使用塊號取余塊數(shù),得到數(shù)據(jù)塊在此磁盤上的物理塊號,物理塊號乘以塊大小,得到數(shù)據(jù)塊偏移位置。
8、塊設(shè)備文件系統(tǒng)解析
a、本案例中的塊設(shè)備5T大小的lun使用的是aix小機的jfs2文件系統(tǒng)。因此要解析jfs2文件系統(tǒng),提取里面的數(shù)據(jù)庫備份文件。解析lvm。
7扇區(qū)記錄lvm描述信息,獲取pv大小和pv序號。
類似找到vg描述區(qū),獲取lv數(shù)和pv數(shù),找到pv描述區(qū),解析pp序號和pp數(shù)。
解析文件系統(tǒng)塊信息:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
LV類型及LV掛載信息區(qū)域:
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
b、解析8個1T大小的lun組成的oralce ASM文件系統(tǒng),提取其中的數(shù)據(jù)庫文件。
添加8個lT大小的lun。
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
解析ASM文件系統(tǒng),提取出數(shù)據(jù)庫文件。
北亞企安數(shù)據(jù)恢復(fù)—Netapp數(shù)據(jù)恢復(fù)
9、數(shù)據(jù)恢復(fù)工程師對恢復(fù)出來的數(shù)據(jù)進行檢測后沒有發(fā)現(xiàn)異常。讓用戶方工程師進行驗證,經(jīng)過驗證確認恢復(fù)出來的數(shù)據(jù)完整有效。本次netapp數(shù)據(jù)恢復(fù)工作完成。
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
14文章
10261瀏覽量
91528 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
713瀏覽量
18989 -
NetApp
+關(guān)注
關(guān)注
0文章
80瀏覽量
15463
發(fā)布評論請先 登錄
【NetApp數(shù)據(jù)恢復(fù)】NetApp存儲數(shù)據(jù)恢復(fù)案例#服務(wù)器數(shù)據(jù)恢復(fù) #數(shù)據(jù)恢復(fù) #netapp數(shù)據(jù)恢復(fù)
NetApp存儲誤刪除的數(shù)據(jù)恢復(fù)案例
【服務(wù)器數(shù)據(jù)恢復(fù)】NetApp存儲卷中的虛擬機數(shù)據(jù)恢復(fù)案例
【存儲數(shù)據(jù)恢復(fù)】NetApp存儲誤刪數(shù)據(jù)的數(shù)據(jù)恢復(fù)案例
服務(wù)器數(shù)據(jù)恢復(fù)-NetApp FAS存儲誤刪文件的數(shù)據(jù)恢復(fù)案例
Netapp數(shù)據(jù)恢復(fù)—Netapp存儲數(shù)據(jù)恢復(fù)案例
【NetApp數(shù)據(jù)恢復(fù)】NetApp存儲誤操作刪除lun的數(shù)據(jù)恢復(fù)案例
NetApp數(shù)據(jù)恢復(fù)—NetApp存儲中的卷丟失的數(shù)據(jù)恢復(fù)案例
Netapp數(shù)據(jù)恢復(fù)—Netapp存儲中卷被誤刪除的數(shù)據(jù)恢復(fù)案例
NetApp數(shù)據(jù)恢復(fù)—WAFL文件系統(tǒng)下誤刪除數(shù)據(jù)的數(shù)據(jù)恢復(fù)案例
NetApp數(shù)據(jù)恢復(fù)—NetApp存儲誤刪除的數(shù)據(jù)恢復(fù)案例
NetApp數(shù)據(jù)恢復(fù)—NetApp存儲WAFL文件系統(tǒng)下誤刪除的數(shù)據(jù)恢復(fù)案例
Netapp數(shù)據(jù)恢復(fù)—誤刪NetApp卷數(shù)據(jù):從崩潰到恢復(fù)的實戰(zhàn)復(fù)盤
Netapp數(shù)據(jù)恢復(fù)—Netapp存儲數(shù)據(jù)恢復(fù)揭秘
評論