Linux系統下誤刪除虛擬機數據恢復成功案例
一、虛擬機故障環境描述
客戶的物理機器操作系統為Linux系統,文件系統為EXT4文件系統。其上的KVM虛擬機被刪除,每台虛擬機包含一個qcow2格式的磁碟文件,和一個大小約為1.2T的raw格式的磁碟文件,主要需恢復raw格式的磁碟文件。客戶已自行備份。
虛擬機1:主資料庫伺服器
虛擬磁碟:10G系統盤(qcow2)+1.2T數據盤(raw,主要恢復)
文件系統:EXT4
主要數據:MySQL資料庫
虛擬機2:備份資料庫伺服器
虛擬磁碟:10G系統盤(qcow2)+1.2T數據盤(raw,主要恢復)
文件系統:EXT4
主要數據:MySQL資料庫
虛擬機3:代碼伺服器
虛擬機盤:10G系統盤(qcow2)+1.2T數據盤(raw,主要恢復)
文件系統:EXT4
主要數據:程序代碼
二、虛擬機數據恢復過程
1、分析EXT4文件系統,定位被刪除虛擬機磁碟文件的節點位置;
2、獲取磁碟文件殘留的索引信息;
3、校驗殘留索引信息的正確性,修復破壞不嚴重的索引;
圖為獲取的索引等信息:
4、修復完成後,解析殘留的各級索引,從虛擬機所在的卷中提取虛擬磁碟文件;
5、根據虛擬磁碟文件的提取情況,獲取卷中未被索引到的自由空間;
6、校驗提取出的磁碟文件的正確性與完整性;
7、從自由空間中獲取有效信息,嘗試對虛擬磁碟文件進行修補(如節點,目錄項,資料庫頁等信息)。
圖為提取出的自由空間:
三、數據恢復結果
1、由於索引丟失,提取出的虛擬磁碟文件並不完整,針對資料庫伺服器,資料庫文件有丟失的情況,可以從自由空間中獲取資料庫頁去對資料庫文件進行修補,但由於部分頁所在區域被覆蓋佔用,只能盡量多的去補頁;
2、對於存放程序代碼的伺服器中的節點和目錄項丟失的情況,若節點或目錄項有殘留,可以嘗試去補齊節點和目錄項。但發現部分文件的節點和目錄項同時丟失,根據節點和目錄項之間相關聯的特性,這種情況下無法補齊。另根據程序代碼文件的特性,不具備一定的規律性,若其數據區丟失,無法補齊。
圖為恢復出的部分目錄結構:
四、數據驗證
在儘可能的嘗試對虛擬磁碟文件及其中的資料庫文件修補之後,由客戶對數據進行驗證。數據有部分丟失,無法恢復,但整體還可以接受,數據恢復有效。
推薦閱讀:
※恢復Mac上刪除的單反SD卡圖片
※iPhone如何從iTunes恢複數據?
※u盤文件或目錄損壞且無法讀取免費數據修復方法
※模電工程師的三件法寶:差分信號、時鐘數據恢復、信道均衡