【伺服器虛擬化資料恢復】Xen Server環境下資料庫資料恢復案例

北亞資料恢復發表於2022-10-17

伺服器虛擬化資料恢復環境:

Dell某型號伺服器;

數塊STAT硬碟透過raid卡組建的RAID10;

Xen Server伺服器虛擬化系統;

故障虛擬機器作業系統:Windows Server,部署Web服務,儲存網站檔案和資料庫。


伺服器虛擬化故障:

未知原因導致Xen Server伺服器中一臺VPS(即Xen Server虛擬機器)不可用,虛擬磁碟資料丟失。


伺服器虛擬化資料恢復過程:

1、將故障伺服器所有磁碟做好標記取出連線到北亞資料恢復平臺,以底層扇區的方式做映象備份,後續的所有資料恢復操

作都在映象備份檔案上進行,避免對原始資料進行二次破壞。

2、基於映象檔案分析底層資料,北亞資料恢復工程師發現Xen Server伺服器中虛擬機器磁碟是以LVM結構存放,每個虛擬機器

的虛擬磁碟都是一個LV,都是採用的精簡模式。

LVM的相關資訊在Xen Server中都有記錄。檢視“/etc/lvm/backup/ “目錄下的LVM相關資訊並沒有發現損壞的虛擬磁碟

資訊,資料恢復工程師推斷LVM資訊已經被更新。資料恢復工程師只好對底層進行分析查詢未被更新的LVM資訊,透過底層

分析果然發現還未更新的LVM資訊。如下圖:



3、根據未被更新的LVM資訊找到了虛擬磁碟的資料區域,但是該區域的資料已被破壞。經過仔細分析最終得出的結論是:

虛擬機器的虛擬磁碟被破壞造成虛擬機器中的作業系統和資料丟失,導致虛擬機器不可用。這類故障很有可能是由於虛擬機器遭遇網

絡攻擊或hack入侵後留下惡意程式造成的。資料恢復工程師仔細檢測這片區域後發現雖然該區域很多資料被破壞,但留存有

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


4、經過北亞資料恢復工程師會診,最終形成2個恢復方案:

方案一、恢復資料庫備份。資料庫做過一次備份,資料庫備份檔案和網站程式碼被一起壓縮到一個RAR壓縮包檔案中。因此只

需要恢復出這個壓縮包檔案即可恢復資料庫和網站的原始碼。

方案二:拼資料庫碎片。根據資料庫結構在底層將找到的資料庫的頁碎片按照原來的順序拼接起來,然後對資料庫進行修復

和校檢即可恢復資料庫。


5、實施方案。

資料恢復工程師在底層根據RAR壓縮包結構找到很多壓縮包的資料開始位置,RAR壓縮包檔案的第一個扇區會記錄RAR的文

件名。透過匹配從使用者那裡獲知的壓縮包檔名和目前找到的壓縮包檔名即可找到備份資料庫壓縮包的開始位置。找到壓

縮包的開始位置後將此區域的資料恢復出來重新命名為一個RAR格式的壓縮檔案。然後嘗試解壓此壓縮包,結果解壓報錯。報

錯如下圖所示:



仔細分析恢復出來的壓縮包,資料恢復工程師發現有部分資料被破壞。嘗試使用RAR修復工具進行修復後解壓,結果解壓出

來的資料只包含網站的部分程式碼,並沒有在其中找到資料庫的備份檔案。由此可以判斷資料庫備份檔案在RAR壓縮包中是損

壞的。

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



根據SQL Server資料庫的結構在底層分析資料庫的開始位置,故障資料庫第9個頁會記錄本資料庫的資料庫名。透過在使用者

獲取到的資料庫名稱在底層找到此資料庫的開始位置。因為故障資料庫的每個頁中都會記錄資料庫頁編號和檔案號,根據這

個特徵北亞資料恢復工程師編寫程式在底層掃描符合資料庫頁的資料, 然後將掃描出來的碎片按順序重 組成一個完整 MDF

檔案 ,再透過MDF校驗程式檢測MDF檔案是否完整。重建的 MDF文 件如 下:



6、搭建環境驗證資料。

檢測MDF檔案沒有發現問題,由北亞資料庫工程師搭建資料庫環境,將重組的MDF檔案附加到搭建好的資料庫環境中。查詢

相關表的資料是否正常,最新資料是否存在。



驗證資料:

資料庫需要結合網站程式碼才能更好地驗證資料庫。由於網站原始碼大部分已經破壞,備份的原始碼也只有部分可以用。使用者

從網站開發服務商拿到網站程式碼重新搭建環境,然後將恢復出來的資料庫在環境中配置好進行驗證。經使用者反覆驗證後確認

資料庫沒有問題。


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

相關文章