【服務器數(shù)據(jù)恢復】 Linux KVM虛擬機數(shù)據(jù)恢復案例

服務器數(shù)據(jù)恢復環(huán)境:
Linux系統(tǒng)服務器,EXT4文件系統(tǒng),部署KVM虛擬機。
服務器故障:
服務器上的KVM虛擬機被誤操作刪除,每臺虛擬機包含一個qcow2格式的磁盤文件和一個raw格式的磁盤文件,需要恢復raw格式的磁盤文件,虛擬機里面存放的是數(shù)據(jù)庫和程序代碼。
服務器數(shù)據(jù)恢復過程:
1、對服務器上所有磁盤以只讀方式進行全盤備份,后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復操作都基于鏡像文件進行,避免對原始數(shù)據(jù)造成二次破壞。
2、基于鏡像文件分析EXT4文件系統(tǒng),定位被刪除虛擬機磁盤文件的節(jié)點位置。
3、獲取磁盤文件殘留的索引信息,校驗殘留索引信息的正確性,北亞企安數(shù)據(jù)恢復工程師手動修復破壞不嚴重的索引。
獲取的索引等信息:

4、索引修復完成后,解析殘留的各級索引,從虛擬機所在的卷中提取虛擬磁盤文件并校驗提取出的磁盤文件的正確性與完整性。
5、根據(jù)虛擬磁盤文件的提取情況,獲取卷中未被索引到的自由空間。
6、從自由空間中獲取有效信息,北亞企安數(shù)據(jù)恢復工程師嘗試修補虛擬磁盤文件(如節(jié)點,目錄項,數(shù)據(jù)庫頁等信息)。
提取出的自由空間:

數(shù)據(jù)恢復結(jié)果:
1、由于索引丟失,提取出的虛擬磁盤文件并不完整,有部分數(shù)據(jù)庫文件丟失,可以從自由空間中獲取數(shù)據(jù)庫頁對數(shù)據(jù)庫文件進行修補,但由于部分頁所在區(qū)域被覆蓋占用,只能盡量多的去補頁。
2、對于存放程序代碼的服務器中文件的節(jié)點和目錄項丟失的情況,若節(jié)點或目錄項有殘留,可以嘗試補齊節(jié)點和目錄項。但如果有文件的節(jié)點和目錄項同時丟失,這種情況無法補齊。
3、程序代碼文件不具規(guī)律性,若其數(shù)據(jù)區(qū)丟失,也無法補齊。
恢復出的部分目錄結(jié)構(gòu):


數(shù)據(jù)驗證:
對虛擬磁盤文件及其中的數(shù)據(jù)庫文件盡最大努力修補后,交由用戶方工程師驗證。經(jīng)過反復驗證,發(fā)現(xiàn)有小部分不重要的數(shù)據(jù)丟失,確認數(shù)據(jù)恢復結(jié)果有效。