1. 程式人生 > >實習生刪除虛擬機跑路了,還好有我們才能找回來!

實習生刪除虛擬機跑路了,還好有我們才能找回來!

png 實習生 失誤 技術 tex kvm虛擬機 虛擬機 操作 分享

一、服務器數據恢復描述

需要進行數據恢復的服務器采用Linux操作系統、EXT4文件系統。由於實習生操作失誤將服務器上的KVM虛擬機刪除了3臺。該服務器上每臺虛擬機包含一個qcow2格式的磁盤文件,和一個大小約為1.2T的raw格式的磁盤文件,主要需恢復raw格式的磁盤文件。
技術分享圖片

二、恢復服務器虛擬機過程

1、分析服務器中的EXT4文件系統,將被刪除的虛擬機磁盤文件節點位置定位;
2、獲取磁盤文件殘留的索引信息;
3、校驗殘留索引信息的正確性,修復破壞不嚴重的索引;
圖為獲取的索引等信息:
技術分享圖片
圖 1
4、完成修復後對服務器中殘留的各級索引進行解析,從虛擬機所在的卷中提取虛擬磁盤文件;
5、根據虛擬磁盤文件的提取情況,獲取卷中未被索引到的自由空間;

6、校驗提取出的磁盤文件的正確性與完整性;
7、從自由空間中獲取有效信息,嘗試對虛擬磁盤文件進行修補(如節點,目錄項,數據庫頁等信息)。
圖為提取出的自由空間:
技術分享圖片
圖 2

三、數據恢復結果

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

圖為恢復出的部分目錄結構:
技術分享圖片
圖 3
技術分享圖片
圖 4

四、數據驗證

在盡可能的嘗試對虛擬磁盤文件及其中的數據庫文件修補之後,由客戶對數據進行驗證。服務器數據恢復90%,數據恢復成功。

實習生刪除虛擬機跑路了,還好有我們才能找回來!