【伺服器資料恢復】伺服器誤刪除lun如何恢復資料?
伺服器資料恢復環境&故障:
北京某公司一臺配有72塊SAS硬碟的伺服器,管理員誤操作刪除了該伺服器中的12個lun,這12個lun中包含了該公司的客戶
資訊以及其他重要資料,急需恢復伺服器資料。
伺服器資料恢復過程:
1、將故障伺服器所有硬碟以只讀方式做扇區級別的映象備份。後續的資料分析和資料恢復操作都基於映象檔案進行,避免
對原始資料造成二次破壞。
2、北亞企安資料恢復工程師基於映象檔案分析伺服器底層資料,找到盤頭位置的超級塊,透過分析超級塊資訊獲取到磁碟組
的起始塊資訊、磁碟組名稱、邏輯組起始塊號、raid編號等基本資訊。
分析超級塊:
3、透過分析得知每個資料塊佔8個扇區,資料塊後附加64位元組資料塊描述資訊,根據這些資訊判斷出作為校驗盤的磁碟並
在資料恢復過程中將這些磁碟剔除。
0x10:6位元組為aggr_data塊號
如果0x10處為FFFF表示校驗塊
校驗塊描述資訊樣例:
4、在進行盤序分析時可以根據每塊磁碟8號扇區的磁碟資訊和磁碟末尾的RAID盤序表來確定盤序。
a、確定各個磁碟所屬aggr組。
b、判斷組內盤序。資料指標跳轉時不考慮校驗盤,只需要取得資料盤的盤序即可。
aggr_raid(磁碟靠近尾部) 根據10H處的VCN塊號判斷磁碟組內各盤的順序
分析盤序表:
小貼士:Netapp的節點分佈在數量眾多的資料塊內,在資料塊內又被統一組織為節點組。每個節點組的前64位元組記錄系
統資料,然後以192位元組為一項來記錄各個檔案節點。檔案節點根據使用者級別分為兩類:“MBFP”系統檔案節點和“MBFI”
使用者檔案節點,資料恢復一般只需要MBFI節點組。
伺服器節點樣例圖:
說明:
頭部資訊64位元組(此頭部為資料檔案的節點檔案塊頭部,大小為64位元組)
標誌,常量(“MBFP”為元檔案的節點標誌,“MBFI”為使用者檔案的節點標誌)
5、根據更新序列值獲取到最新節點。解析節點中節點型別、邏輯塊號、檔案數量、檔案大小、所佔塊數量及資料指標,獲
取節點在節點檔案中的邏輯塊號,從0開始計數。
6、獲取目錄項,並根據其節點編號,找到對應節點。
獲取伺服器內對應節點截圖:
7、提取伺服器資料。
a、掃描節點資訊。
掃描伺服器節點資訊:
節點掃描類:
節點掃描程式完整流程:
在迴圈掃描完畢之後會將所有掃描到的MBFP、MBFI和DOC資料塊分別寫入到三個檔案內,用於後續處理。
b、將節點資訊匯入到資料庫。
將ScanNode掃描得到的MBFI和MBFP、Dir存入資料庫以備後續使用。
MBFI匯入資料庫整體流程:
函式執行完畢後檢視資料庫得到如下資訊:
小貼士:Netapp在更改inode節點時不會直接覆蓋而是重新分配inode進行寫入。單個檔案的節點node_uid唯一不變,
mbfi_usn會隨著節點的變化而增大(正常情況下提取某個檔案時使用usn最大的節點)。一般情況下儲存劃分出的單個
節點會作為LUN對映到伺服器使用,根據file_size可以確定這個檔案的大小,按照檔案大小分組後再選取usn最大值的節
點,跳轉到MBFI檔案的offset值偏移位置,取出節點。
節點樣例圖示:
c、提取檔案
在獲取到要提取的檔案的Node之後,開始提取塊裝置檔案。
提取塊裝置檔案:
初始化完畢後,開始提取檔案的各級MAP,在本次提取過程中檔案大小均大於1T,MAP層級為4,所以需要提取4次。第一
級MAP預設只佔用1個塊,所以在程式內直接提取,後三級MAP在GetAllMap函式內進行提取。透過塊號計算資料塊位置時
,由於NetApp使用JBOD組織LVM,直接用塊號除以每塊磁碟上的塊數可得到當前塊所在的磁碟序號(計算機整數除法,
丟棄小數邠);再使用塊號取餘塊數,得到資料塊在此磁碟上的物理塊號,物理塊號乘以塊大小,得到資料塊偏移位置。
8、塊裝置檔案系統解析。
該案例的塊裝置5T lun用的是aix小機的jfs2檔案系統。因此需要解析jfs2檔案系統,提取裡面的資料庫備份檔案。
7扇區記錄lvm描述資訊,獲取pv大小和pv序號;找到vg描述區,獲取lv數和pv數;找到pv描述區,獲取pp序號和pp數。
解析檔案系統塊資訊:
lv型別及率掛在資訊區域:
解析8個由大小1T的lun組成的oralce ASM檔案系統,提取其中的資料庫檔案。
新增8個lT的lun:
解析asm檔案系統,提取出資料庫檔案:
資料驗證:
北亞企安工程師對提取出來的資料進行檢測後沒有發現異常,聯絡使用者方工程師親自進行驗證,經反覆驗證,確認本次恢復
出來的資料完整可用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2934225/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【伺服器資料恢復】NetApp儲存中lun被誤刪除的資料恢復過程伺服器資料恢復APP
- 【儲存資料恢復案例】Netapp誤操作刪除lun的資料恢復資料恢復APP
- 【伺服器資料恢復】伺服器誤刪除卷怎麼恢復資料伺服器資料恢復
- 【NetApp資料恢復】誤刪除NetApp上的lun導致伺服器當機的NetApp資料恢復APP資料恢復伺服器
- 伺服器資料恢復—EMC儲存資料卷被誤刪除如何恢復資料?伺服器資料恢復
- 【伺服器資料恢復】LINUX誤刪除、格式化的資料恢復伺服器資料恢復Linux
- 【伺服器資料恢復】NetApp儲存誤刪除的資料恢復案例伺服器資料恢復APP
- 【伺服器資料恢復】LINUX誤刪除、誤格式化怎麼恢復資料?伺服器資料恢復Linux
- 【伺服器資料恢復】EMC Unity儲存誤刪除的資料恢復案例伺服器資料恢復Unity
- 【伺服器資料恢復】EMC Isilon儲存誤刪除的資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】EMC伺服器Isilon儲存誤刪除的資料恢復案例伺服器資料恢復
- 伺服器資料恢復-LINUX誤刪除/格式化資料的資料恢復方案伺服器資料恢復Linux
- 【伺服器資料恢復】伺服器誤刪除KVM虛擬機器的資料恢復案例伺服器資料恢復虛擬機
- 伺服器資料恢復—NTFS誤操作刪除/格式化的資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】伺服器誤刪除導致郵件資料丟失的資料恢復案例伺服器資料恢復
- Netapp 資料恢復案例;誤刪除所有lun解決方案APP資料恢復
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- 【伺服器資料恢復】Zfs檔案系統下誤刪除怎麼恢復資料伺服器資料恢復
- 【北亞資料恢復】zfs檔案系統的伺服器誤刪除的資料恢復資料恢復伺服器
- 【伺服器資料恢復】AIX環境下誤刪除邏輯卷的資料恢復方案伺服器資料恢復AI
- 【伺服器資料恢復】XenServer虛擬機器被誤操作刪除的資料恢復案例伺服器資料恢復Server虛擬機
- Sybase SQL Anywhere(ASA)資料庫恢復,ASA資料恢復,資料誤刪除恢復工具ReadASADBSQL資料庫資料恢復
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- 【NetApp資料恢復案例】針對NetApp誤刪除資料的恢復APP資料恢復
- 【伺服器資料恢復】Linux系統下誤刪除虛擬機器的資料恢復案例伺服器資料恢復Linux虛擬機
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 伺服器誤刪除卷資料恢復成功率分析伺服器資料恢復
- 【伺服器資料恢復】IBM某型號伺服器VMware虛擬機器誤刪除的資料恢復案例伺服器資料恢復IBM虛擬機
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- 【伺服器資料恢復】伺服器硬碟資料恢復案例伺服器資料恢復硬碟
- 【伺服器資料恢復】Vsan資料恢復案例伺服器資料恢復
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- Oracle恢復誤刪資料Oracle
- mysql誤刪資料恢復MySql資料恢復
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- 【伺服器資料恢復】linux ext3檔案系統下誤刪除mysql資料庫的資料恢復案例伺服器資料恢復LinuxMySql資料庫
- 【北亞資料恢復】伺服器誤刪除卷導致raid5陣列資料丟失的資料恢復資料恢復伺服器AI陣列
- 伺服器資料恢復成功案例+伺服器資料恢復原理伺服器資料恢復