【虛擬機數(shù)據(jù)恢復(fù)】誤還原快照導(dǎo)致ESXI虛擬機數(shù)據(jù)丟失的數(shù)據(jù)恢復(fù)

虛擬機數(shù)據(jù)恢復(fù)環(huán)境:
ESXI上共有數(shù)十臺虛擬機,EXSI連接一臺HP EVA存儲,所有虛擬機都存放在該EVA存儲上。
其中一臺虛擬機是數(shù)年前從物理機遷移過來的,其上部署了一個SQL SERVER數(shù)據(jù)庫,該數(shù)據(jù)庫存放了最近幾年的數(shù)據(jù)。
?

虛擬機故障&分析:
工作人員的誤操作不小心還原快照了。這個快照是數(shù)年前做完數(shù)據(jù)遷移后新建的,還原快照就意味著虛擬機數(shù)據(jù)還原到幾年前剛做完數(shù)據(jù)遷移時的狀態(tài),近幾年的數(shù)據(jù)都被刪除了。
還原快照相當(dāng)于刪除數(shù)據(jù),意味著底層的存儲空間會被釋放。為了不讓這部分釋放的空間被新寫入的數(shù)據(jù)重新使用,必須將連接到這臺EVA存儲的所有虛擬機都關(guān)機。如果有非常重要的虛擬機不能長時間關(guān)機,就需要將這些重要的虛擬機遷移到別的EXSI上。剛好本案例中有一臺虛擬機不能關(guān)機,只能做熱遷移。vmware虛擬機的熱遷移需要建立多個快照來完成。
Tips:
Vmware的文件系統(tǒng)是Vmfs,所有的虛擬機都存放在這個文件系統(tǒng)中。Vmfs會默認(rèn)將整個磁盤分成1M的Block(分配給文件的最小單位為Block)。Vmfs中有一片區(qū)域描述這些1M Block的使用情況,而每1024個Block(也就是1GB)會用一個MAP來記錄。這個MAP里面記錄的1M Block在物理磁盤上不一定是連續(xù)的。但這個MAP所記錄的所有1M Block一定是同一個文件的??梢岳斫鉃橐粋€文件是由N多個MAP中的1024個Block組成的,即FileSize:= N * MAP * 1024(Block)。
?Vmware的快照其實就是一個文件,還原快照相當(dāng)于刪掉一個文件。在Vmfs中刪掉一個文件只會刪掉該文件的索引項,不會刪掉文件的實際數(shù)據(jù)以及指向數(shù)據(jù)的MAP。

北亞企安數(shù)據(jù)恢復(fù)——ESXI虛擬機數(shù)據(jù)恢復(fù)
虛擬機數(shù)據(jù)恢復(fù)過程:
1、根據(jù)Vmware快照原理,提取整個vmfs中空閑的MAP。
2、北亞企安數(shù)據(jù)恢復(fù)工程師在空閑的MAP中找出符合快照文件頭結(jié)構(gòu)的MAP。
3、根據(jù)快照文件的結(jié)構(gòu),提取快照文件剩下的碎片。
4、完成快照文件的提取后,北亞企安數(shù)據(jù)恢復(fù)工程師將快照文件和原vmdk合并生成新的vmdk。
5、新生成的vmdk包含了所有的數(shù)據(jù),掛載新的vmdk并解釋里面的數(shù)據(jù)。

北亞企安數(shù)據(jù)恢復(fù)——ESXI虛擬機數(shù)據(jù)恢復(fù)