【NetApp資料恢復案例】針對NetApp誤刪除資料的恢復
NetApp資料恢復環境:
故障:
一客戶由於誤操作,不小心將伺服器內的1個容量為5T的lun和10個容量為1T的lun刪除了。
使用者誤刪除的資料資訊如下表:
聯絡北亞資料恢復中心,急需恢復伺服器內的資料。
Netapp資料恢復過程:
一、在進行伺服器資料恢復操作前北亞資料恢復工程師將客戶原伺服器內的所有資料進行映象備份操作,然後對備份的資料
進行分析與恢復,將原伺服器交還使用者。
二、北亞資料恢復工程師分析該伺服器內的所有硬碟,在盤頭位置找到超級塊,從超級塊中得到磁碟組名字,磁碟組的邏輯
起始塊號,總塊數,磁碟組中raid的編號。
netapp超級塊
每個資料塊佔8個扇區,資料塊後附加64位元組資料塊描述資訊。根據這些資訊可以判斷出哪些磁碟是校驗盤(提取資料時校
驗盤需剔除)。
0x10:6位元組為aggr_data塊號
如果0x10處為FFFF表示校驗塊
校驗塊描述資訊樣例
盤序分析時主要依據每塊磁碟8號扇區的磁碟資訊以及磁碟末尾的RAID盤序表確定盤序。首先要確定各個磁碟所屬aggr組
,然後再判斷組內盤序。資料指標跳轉時不考慮校驗盤,所以只取得資料盤的盤序即可。
aggr_raid(磁碟靠近尾部) 根據10H處的VCN塊號判斷磁碟組內各盤的順序。
netapp盤序表
Netapp的節點分佈在數量眾多的資料塊內,在資料塊內又被統一組織為節點組。每個節點組的前64位元組記錄一些系統資料
,之後用192位元組為一項記錄各個檔案節點。根據使用者級別可分為兩類:“MBFP”系統檔案節點和“MBFI”使用者檔案節點
,在資料恢復時一般只取MBFI節點組即可。
netapp節點樣例圖
頭部資訊64位元組
解析如下:(此頭部為資料檔案的節點檔案塊頭部,大小為64位元組)
標誌,常量(“MBFP”為元檔案的節點標誌,“MBFI”為使用者檔案的節點標誌)
根據更新序列值獲取到最新節點
解析節點中節點型別,邏輯塊號,檔案數量,檔案大小,所佔塊數量,及資料指標
獲取節點在節點檔案中的邏輯塊號,從0開始計數
獲取目錄項,並根據其節點編號,找到對應節點
三、通過程式提取伺服器資料
1、掃描節點資訊
節點掃描類
節點掃描程式完整流程
在迴圈掃描完畢之後會將所有掃描到的MBFP、MBFI和DOC資料塊分別寫入到三個檔案內,用於後續處理。
2、將節點資訊匯入到資料庫
此模組主要負責將ScanNode掃描得到的MBFI和MBFP、Dir存入資料庫以備後續使用。
以下是流程:
MBFI匯入資料庫整體流程
函式執行完畢後可以檢視資料庫得到如下資訊:
節點匯入資訊
Netapp在更改inode節點時不會直接覆蓋而是重新分配inode進行寫入。單個檔案的節點node_uid唯一不變,mbfi_usn會
隨著節點的變化而增大(正常情況下提取某個檔案時使用usn最大的節點)。一般情況下儲存劃分出的單個節點會作為LUN映
射到伺服器使用,根據file_size可以確定這個檔案的大小,按照檔案大小分組後再選取usn最大值的節點,跳轉到MBFI檔案的
offset值偏移位置,取出節點。
節點樣例
3、提取檔案
在獲取到要提取的檔案的Node之後,開始提取塊裝置檔案。
程式需要讀取配置檔案:
初始化完畢後,開始提取檔案的各級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數
LV型別及LV掛載資訊區域
2、解析8個1Tlun組成oralce ASM檔案系統,提取其中的資料庫檔案
新增8個lTlun
解析asm檔案系統,提取出資料庫檔案
伺服器資料恢復驗證及資料移交:
客戶對恢復完成的資料庫進行驗證,資料庫中的資料完整恢復
經過3天左右的驗證,客戶對資料庫恢復確認無誤,此次資料恢復工作圓滿完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2849701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【儲存資料恢復案例】Netapp誤操作刪除lun的資料恢復資料恢復APP
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- 【NetApp資料恢復】誤刪除NetApp上的lun導致伺服器當機的NetApp資料恢復APP資料恢復伺服器
- 【伺服器資料恢復】NetApp儲存誤刪除的資料恢復案例伺服器資料恢復APP
- Netapp 資料恢復案例;誤刪除所有lun解決方案APP資料恢復
- 【儲存資料恢復】NetApp儲存誤刪資料夾的資料恢復案例資料恢復APP
- NetApp資料恢復—NetApp儲存池中劃分的卷丟失的資料恢復案例APP資料恢復
- 【伺服器資料恢復】NetApp儲存中lun被誤刪除的資料恢復過程伺服器資料恢復APP
- 儲存刪除資料後恢復方法-適用netAPP儲存APP
- NetApp FAS2240-4儲存刪除檔案資料恢復APP資料恢復
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- 【儲存資料恢復】HP EVA儲存誤刪除VDISK的資料恢復案例資料恢復
- 【伺服器資料恢復】EMC Unity儲存誤刪除的資料恢復案例伺服器資料恢復Unity
- 【伺服器資料恢復】EMC Isilon儲存誤刪除的資料恢復案例伺服器資料恢復
- 【虛擬化資料恢復】KVM虛擬機器誤刪除資料恢復案例資料恢復虛擬機
- 伺服器資料恢復—NTFS誤操作刪除/格式化的資料恢復案例伺服器資料恢復
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- Sybase SQL Anywhere(ASA)資料庫恢復,ASA資料恢復,資料誤刪除恢復工具ReadASADBSQL資料庫資料恢復
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 【虛擬機器資料恢復】VMware ESXi誤刪除虛擬機器的資料恢復案例虛擬機資料恢復
- 【伺服器資料恢復】EMC伺服器Isilon儲存誤刪除的資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】XenServer虛擬機器被誤操作刪除的資料恢復案例伺服器資料恢復Server虛擬機
- 【伺服器資料恢復】LINUX誤刪除、格式化的資料恢復伺服器資料恢復Linux
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- 【北亞資料恢復】輸入錯誤命令導致MySQL資料庫資料被刪除的資料恢復案例資料恢復MySql資料庫
- 伺服器資料恢復-LINUX誤刪除/格式化資料的資料恢復方案伺服器資料恢復Linux
- 【伺服器資料恢復】伺服器誤刪除KVM虛擬機器的資料恢復案例伺服器資料恢復虛擬機
- 【伺服器資料恢復】Linux系統下誤刪除虛擬機器的資料恢復案例伺服器資料恢復Linux虛擬機
- 【伺服器資料恢復】伺服器誤刪除lun如何恢復資料?伺服器資料恢復
- Oracle恢復誤刪資料Oracle
- mysql誤刪資料恢復MySql資料恢復
- 【伺服器資料恢復】LINUX誤刪除、誤格式化怎麼恢復資料?伺服器資料恢復Linux
- 【伺服器資料恢復】伺服器誤刪除導致郵件資料丟失的資料恢復案例伺服器資料恢復
- 誤刪除儲存SqlServer資料庫資料恢復SQLServer資料庫資料恢復
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【虛擬機器資料恢復】誤刪除VMware虛擬機器vmdk檔案的資料恢復案例虛擬機資料恢復