Linux伺服器下誤刪除了kvm虛擬機器如何找回

北亞資料恢復發表於2019-04-04

KVM虛擬機器時Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後整合在Linux的各個主要發行版本中。它使用Linux自身的排程器進行管理。

一、虛擬機器故障環境描述

客戶的物理機器作業系統為Linux系統,檔案系統為EXT4檔案系統。其上的KVM虛擬機器被刪除,每臺虛擬機器包含一個qcow2格式的磁碟檔案,和一個大小約為1.2T的raw格式的磁碟檔案,主要需恢復raw格式的磁碟檔案。使用者需要的是三臺虛擬化伺服器,裡面存放的是資料庫,程式程式碼等資料。

二、虛擬機器資料恢復過程

1、分析EXT4檔案系統,定位被刪除虛擬機器磁碟檔案的節點位置;
2、獲取磁碟檔案殘留的索引資訊;
3、校驗殘留索引資訊的正確性,修復破壞不嚴重的索引;
圖為獲取的索引等資訊:

圖 1
4、修復完成後,解析殘留的各級索引,從虛擬機器所在的卷中提取虛擬磁碟檔案;
5、根據虛擬磁碟檔案的提取情況,獲取卷中未被索引到的自由空間;
6、校驗提取出的磁碟檔案的正確性與完整性;
7、從自由空間中獲取有效資訊,嘗試對虛擬磁碟檔案進行修補(如節點,目錄項,資料庫頁等資訊)。
圖為提取出的自由空間:

圖 2

三、資料恢復結果

1、由於索引丟失,提取出的虛擬磁碟檔案並不完整,針對資料庫伺服器,資料庫檔案有丟失的情況,可以從自由空間中獲取資料庫頁去對資料庫檔案進行修補,但由於部分頁所在區域被覆蓋佔用,只能儘量多的去補頁;
2、對於存放程式程式碼的伺服器中的節點和目錄項丟失的情況,若節點或目錄項有殘留,可以嘗試去補齊節點和目錄項。但發現部分檔案的節點和目錄項同時丟失,根據節點和目錄項之間相關聯的特性,這種情況下無法補齊。另根據程式程式碼檔案的特性,不具備一定的規律性,若其資料區丟失,無法補齊。
圖為恢復出的部分目錄結構:

圖 3

圖 4

四、資料驗證

在儘可能的嘗試對虛擬磁碟檔案及其中的資料庫檔案修補之後,由客戶對資料進行驗證。資料有小部分丟失,整體還可以接受,資料恢復有效。


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

相關文章