1. 程式人生 > >ESXI5.5虛擬機器不小心還原快照了怎麼辦

ESXI5.5虛擬機器不小心還原快照了怎麼辦

現在由於虛擬化技術的興起,很多企業開始運用虛擬化技術。虛擬化技術的原理就是將硬體虛擬化給不同的虛擬機器使用。也就是一臺物理的機器上可以有多臺虛擬機器。但如果物理機器出現故障或者儲存伺服器出現故障都會導致上層的虛擬機器不可用。還有包括員工的誤操作等原因。這些都會導致虛擬機器裡面的重要資料丟失,而彌補這些資料的唯一方法就是恢復資料。今天要說的就是一起vmware虛擬化誤操作的資料恢復案例。

【虛擬機器資料恢復環境及故障描述】

  • 故障虛擬機器是由物理機遷移到ESXI上面的,遷移完成後以防不穩定做了一個快照。
  • 虛擬機器上執行的是一個SQL 2005的資料庫,記錄了從2011年到2016年所有的資料。
  • 整個ESXI上一共有20幾臺虛擬機器,EXSI連線的儲存是一臺HP EVA4400,所有的虛擬機器(包括故障虛擬機器)都放在EVA上。
  • 由於員工的誤操作,不小心還原快照了。快照是3年前做完遷移時建的,也就是虛擬機器還原到3年前了。也就意味著這3年的資料都被刪除了,而這些資料都是特別重要的。

【虛擬機器資料恢復的準備工作】

還原快照就相當於刪除資料,也就意味著底層的儲存空間會被釋放一部分。為了不讓這部分空間重用,需要將連線這臺儲存的所有虛擬機器都關掉,如果有重要的虛擬機器不能長時間宕機,則需要遷移到別的EXSI上。而客戶這裡有一臺虛擬機器很重要,不能關機,只能做熱遷移。而vmware的熱遷移則是需要建立N多個快照來完成遷移的,這給後期的恢復快照工作帶來很多麻煩。遷移完所有虛擬機器後就需要對底層的EVA儲存做映象了,但是客戶比較著急,映象整個儲存需要的時間太長。最後將EVA儲存以只讀的方式掛載到一臺北亞備份伺服器上,我們以只讀的方式恢復資料。

【虛擬機器資料恢復方法】

Vmware自己的檔案系統叫做Vmfs,所有的虛擬機器都存放在這個檔案系統中。Vmfs檔案系統中預設會將整個磁碟分成1M的Block,分配給檔案的最小單位為一個Block。Vmfs檔案系統中會有一片區域描述這些1M Block的使用情況,而每1024個Block(也就是1GB)會用一個MAP來記錄。這個MAP裡面記錄的1M Block在物理磁碟上不一定是連續的。但這個MAP所記錄的所有1M Block一定是同一個檔案的。可以理解為一個檔案是由N多個MAP中的1024個Block組成的,即FileSize:frombyte.com = N * MAP * 1024(Block)。

Vmware的快照其實就是一個檔案,還原快照也就意味著是刪掉一個檔案。而在Vmfs檔案系統中,刪除一個檔案只會刪掉檔案的索引項,而不會刪掉檔案的實際資料以及指向資料的MAP。而我們要做的就是提取整個vmfs檔案系統中空閒的MAP,然後在空閒的MAP中找到一個符合快照檔案頭結構的MAP。然後根據快照檔案的結構,提取快照檔案剩下的碎片。提取完快照檔案後,需要將快照檔案和原vmdk合併生成新的vmdk。新的vmdk中包涵了所有的資料,接下來掛載新的vmdk解釋裡面的資料即可。

隨著虛擬化技術興起,越來越多的企業開始應用虛擬化技術。伴隨的虛擬化故障也越來越多,但虛擬化的資料恢復技術在國內卻沒有幾家公司可以做,北亞資料恢復專注於虛擬化資料恢復技術研究,對虛擬化底層結構演算法研究比較深入,可以解決虛擬化資料丟失出現的各類問題。