【服務(wù)器數(shù)據(jù)恢復(fù)】誤操作刪除KVM虛擬機(jī)的數(shù)據(jù)恢復(fù)案例

服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:
服務(wù)器采用的Linux操作系統(tǒng)+EXT4文件系統(tǒng);
服務(wù)器中有3臺(tái)KVM虛擬機(jī):一臺(tái)運(yùn)行Mysql數(shù)據(jù)庫,一臺(tái)存放數(shù)據(jù)庫備份,一臺(tái)存放程序代碼文件;
每臺(tái)虛擬機(jī)包含一個(gè)qcow2格式的磁盤文件和一個(gè)raw格式的磁盤文件。
服務(wù)器故障:
工作人員的誤操作將服務(wù)器上的3臺(tái)KVM虛擬機(jī)都刪除了,需要恢復(fù)raw格式的磁盤文件。
服務(wù)器數(shù)據(jù)恢復(fù)過程:
1、分析故障服務(wù)器中的EXT4文件系統(tǒng),定位被刪除虛擬機(jī)磁盤文件的節(jié)點(diǎn)位置。
2、獲取磁盤文件殘留的索引信息,校驗(yàn)殘留索引信息的正確性并修復(fù)破壞不嚴(yán)重的索引。
獲取的索引等信息:

3、北亞企安數(shù)據(jù)恢復(fù)工程師編寫程序解析故障服務(wù)器中殘留的各級(jí)索引,從虛擬機(jī)所在的卷中提取虛擬磁盤文件。
4、根據(jù)虛擬磁盤文件的提取情況獲取卷中未被索引到的自由空間。
5、校驗(yàn)提取出的磁盤文件的正確性與完整性。
6、從自由空間中獲取有效信息,北亞企安數(shù)據(jù)恢復(fù)工程師嘗試修補(bǔ)虛擬磁盤文件(如節(jié)點(diǎn),目錄項(xiàng),數(shù)據(jù)庫頁等信息)。
提取出的自由空間:

服務(wù)器數(shù)據(jù)恢復(fù)結(jié)果:
1、由于部分索引丟失,提取出的虛擬磁盤文件并不完整。針對(duì)數(shù)據(jù)庫文件丟失的情況,可以通過從自由空間中獲取到的數(shù)據(jù)庫頁去修補(bǔ)數(shù)據(jù)庫文件。但由于部分頁所在區(qū)域被覆蓋占用,只能盡量多的去補(bǔ)頁。
2、針對(duì)存放程序代碼的虛擬機(jī)中的節(jié)點(diǎn)和目錄項(xiàng)丟失的情況,若節(jié)點(diǎn)或目錄項(xiàng)有殘留,可以嘗試去補(bǔ)齊節(jié)點(diǎn)和目錄項(xiàng)。但實(shí)際情況是部分文件的節(jié)點(diǎn)和目錄項(xiàng)同時(shí)丟失,根據(jù)節(jié)點(diǎn)和目錄項(xiàng)之間相關(guān)聯(lián)的特性,這種情況下無法補(bǔ)齊節(jié)點(diǎn)和目錄項(xiàng)。由于程序代碼文件不具備規(guī)律性,若其數(shù)據(jù)丟失也無法補(bǔ)齊。
恢復(fù)出的部分目錄結(jié)構(gòu):


服務(wù)器數(shù)據(jù)驗(yàn)證:
在盡最大努力對(duì)虛擬磁盤文件及其中的數(shù)據(jù)庫文件進(jìn)行修補(bǔ)后,由用戶方工程師驗(yàn)證數(shù)據(jù)。經(jīng)過反復(fù)驗(yàn)證,發(fā)現(xiàn)服務(wù)器中丟失的數(shù)據(jù)恢復(fù)了90%以上,重要數(shù)據(jù)全部恢復(fù)出來。本次數(shù)據(jù)恢復(fù)工作完成。