EXSI5.5虛擬機還原快照數據恢復案例數據庫
如今因爲虛擬化技術的興起,不少企業開始運用虛擬化技術。虛擬化技術的原理就是將硬件虛擬化給不一樣的虛擬機使用。也就是一臺物理的機器上能夠有多臺虛擬機。但若是物理機器出現故障或者存儲服務器出現故障都會致使上層的虛擬機不可用。還有包括員工的誤操做等緣由。這些都會致使虛擬機裏面的重要數據丟失,而彌補這些數據的惟一方法就是恢復數據。今天要說的就是一塊兒vmware虛擬化誤操做的數據恢復案例。服務器
【環境描述】ide
1)故障虛擬機是由物理機遷移到EXSI上面的,遷移完成後以防不穩定作了一個快照。spa
2)虛擬機上運行的是一個SQL 2005的數據庫,記錄了從2008年到2014年全部的數據。索引
3)整個EXSI上一共有20幾臺虛擬機,EXSI鏈接的存儲是一臺HP EVA4400,全部的虛擬機(包括故障虛擬機)都放在EVA上。虛擬機
【故障描述】it
因爲員工的誤操做,不當心還原快照了。快照是3年前作完遷移時建的,也就是虛擬機還原到3年前了。也就意味着這3年的數據都被刪除了,而這些數據都是特別重要的。class
【準備工做】原理
還原快照就至關於刪除數據,也就意味着底層的存儲空間會被釋放一部分。爲了避免讓這部分空間重用,須要將鏈接這臺存儲的全部虛擬機都關掉,若是有重要的虛擬機不能長時間宕機,則須要遷移到別的EXSI上。而客戶這裏有一臺虛擬機很重要,不能關機,只能作熱遷移。而vmware的熱遷移則是須要創建N多個快照來完成遷移的,這給後期的恢復快照工做帶來不少麻煩。遷移完全部虛擬機後就須要對底層的EVA存儲作鏡像了,可是客戶比較着急,鏡像整個存儲須要的時間太長。最後將EVA存儲以只讀的方式掛載到一臺服務器上,咱們以只讀的方式恢復數據。硬件
【解決方案】
Vmfs文件系統介紹:
Vmware本身的文件系統叫作Vmfs,全部的虛擬機都存放在這個文件系統中。Vmfs文件系統中默認會將整個磁盤分紅1M的Block,分配給文件的最小單位爲一個Block。Vmfs文件系統中會有一片區域描述這些1M Block的使用狀況,而每1024個Block(也就是1GB)會用一個MAP來記錄。這個MAP裏面記錄的1M Block在物理磁盤上不必定是連續的。但這個MAP所記錄的全部1M Block必定是同一個文件的。能夠理解爲一個文件是由N多個MAP中的1024個Block組成的,即FileSize = N * MAP * 1024(Block)。
Vmware的快照其實就是一個文件,還原快照也就意味着是刪掉一個文件。而在Vmfs文件系統中,刪除一個文件只會刪掉文件的索引項,而不會刪掉文件的實際數據以及指向數據的MAP。而咱們要作的就是提取整個vmfs文件系統中空閒的MAP,而後在空閒的MAP中找到一個符合快照文件頭結構的MAP。而後根據快照文件的結構,提取快照文件剩下的碎片。提取完快照文件後,須要將快照文件和原vmdk合併生成新的vmdk。新的vmdk中包涵了全部的數據,接下來掛載新的vmdk解釋裏面的數據便可。
【數據恢復成功】
因爲客戶作過熱遷移虛擬機,因此致使快照有幾個碎片被重用了。最終恢復的數據中,最新的數據不可用。但因爲客戶的數據是數據庫,並天天都備份2次,最新的數據不可用,但備份的數據可用,客戶仍是接受恢復的結果。整個恢復的過程一個耗時2天,包括驗證數據庫的工做。
隨着虛擬化技術興起,愈來愈多的企業開始應用虛擬化技術。伴隨的虛擬化故障也愈來愈多,但虛擬化的數據恢復技術在國內卻沒有幾家公司能夠作。
做者:鄧奇 (北亞服務器數據恢復工程師)
郵箱:dq@frombyte.com
聯繫方式:010-4006505808-801