【北亞資料恢復】通過碎片拼接技術恢復XenServer伺服器磁碟中SQL Server資料庫資料

北亞資料恢復發表於2022-03-04

環境:


Dell PowerEdge伺服器;

XenServer虛擬化平臺;

4塊希捷2T STAT硬碟用RAID卡組成的RAID10;

XenServer虛擬機器作業系統:Windows Server系統;

虛擬機器磁碟:1個10G系統盤和1個5G資料盤,部署的Web伺服器(ASP +SQL)。



故障:


伺服器突然斷電導致伺服器中一臺XenServer虛擬機器不可用,虛擬磁碟檔案丟失,伺服器管理員聯絡北亞資料恢復中心尋求

幫助。



故障檢測和分析:


1、拿到原始資料盤後,北亞資料恢復工程師將原始盤連線到北亞資料恢復伺服器上,準備超過原始盤總容量的空間作為備

份原始盤資料使用,將原始盤以磁碟底層扇區的方式映象到備份空間上,以後操作都在備份資料上操作,以確保原始盤資料

安全。


2、分析底層資料,北亞資料恢復工程師發現XenServer中虛擬機器的磁碟都是以LVM結構存放,即每個虛擬機器的虛擬磁碟都

是一個LV,虛擬磁碟模式是精簡模式。


LVM的相關資訊在Xen Server中都有記載,檢視“/etc/lvm/backup/frombtye.com “下LVM的相關資訊發現並沒有存在

損壞的虛擬磁碟資訊,因此北亞資料恢復工程師判斷LVM的資訊已經被更新了。因此,北亞資料恢復工程師只能接著分析底

層看能否找到未被更新的LVM資訊,經過一番努力,終於在底層發現還未更新的LVM資訊。如下圖:



3、根據獲取到的未被更新的LVM資訊找到虛擬磁碟存放資料的區域,發現該區域的資料已被破壞。北亞資料恢復工程師經

過分析後發現,造成虛擬機器不可用的原因是虛擬機器的虛擬磁碟被破壞,虛擬機器中的作業系統和資料丟失。這種情況很有可能

是由虛擬機器遭遇網路攻擊或入侵後留下惡意程式造成的。仔細核對這片區域後,北亞工程師發現雖然該區域很多資料被破壞

,但還是找到很多資料庫的頁碎片,可以嘗試將這些資料庫的頁碎片拼接成一個可用的資料庫。



伺服器資料恢復過程:


1、資料恢復方案一


按照方案一的思路進行底層分析,根據RAR壓縮包的結構可以找到很多壓縮包的資料開始位置,而RAR壓縮包檔案的第一

個扇區中會記錄此RAR的檔名。因此通過從管理員那裡獲知的備份資料庫的壓縮包檔名和目前找到的壓縮包位置的文

件名相匹配,可找到備份資料庫壓縮包的開始位置。找到壓縮包的位置後仔細分析這片區域的資料,然後將此區域的資料

恢復出來重新命名為一個RAR格式的壓縮檔案,嘗試解壓此壓縮包,解壓報錯。


報錯如下圖所示:



仔細分析恢復出來的壓縮包,北亞資料恢復工程師發現有部分資料被破壞,因此解壓的時候報錯。嘗試使用RAR的修復工

具看能否忽略錯誤,解壓出來部分資料。結果修復完成之後解壓出來的資料只有網站的部分程式碼,並沒有發現資料庫的備

份檔案。因此可以判斷資料庫備份檔案在RAR壓縮包中是損壞的。


如下是解壓出來的部分網站程式碼:



2、資料恢復方案二


由於方案一併沒有成功將資料庫恢復出來,因此採用方案二來恢復資料。根據SQL Server資料庫的結構去底層分析資料庫

的開始位置。在SQL Server資料庫的結構中,第9個頁會記錄本資料庫的資料庫名。因此從伺服器管理員那裡獲知到資料

庫名稱之後,北亞資料恢復工程師再分析底層找到此資料庫的開始位置。因為在SQL Server資料庫的每個頁中都會記錄數

據庫頁編號以及檔案號,北亞資料恢復工程師根據這些特徵編寫程式去底層掃描符合資料庫頁的資料。


然後將掃描出來的碎片按順序重組成一個完整MDF檔案,再通過MDF校驗程式檢測整個MDF檔案是否完整。重建的MDF

檔案如下:


 

 

驗證資料:


經過檢測確定恢復出來的資料沒問題之後,由北亞工程師搭建資料庫環境,將重組後的資料庫附加到搭建好的資料庫環境

中,查詢相關表資料是否正常,查詢最新資料是否存在。截圖如下:



由於資料庫需要結合網站程式碼才能更好的驗證資料庫的完整性。管理員從網站開發商那裡拿到網站程式碼搭建好環境,然後

將恢復出來的資料庫配置好後去驗證,沒有發現問題,本次資料恢復成功。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2864531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章