虛擬機技術是虛擬化技術的一種,所謂虛擬化技術就是將事物從一種形式轉變成另外一種形式,最經常使用的虛擬化技術有操做系統中內存的虛擬化,實際運行時用戶須要的內存空間可能遠遠大於物理機器的內存大小,利用內存的虛擬化技術,用戶能夠將一部分硬盤虛擬化爲內存,而這對用戶是透明的。又如,能夠利用虛擬專用網技術在公共網絡中虛擬化一條安全,穩定的「隧道」,用戶感受像是使用私有網絡同樣。虛擬化技術看起來是一種更加安全的數據存儲方式,可是世界上並無100%安全的存儲模式,一旦承載虛擬機的底層服務器或者存儲出現故障甚至服務器硬盤出現故障均可能致使上層虛擬機不可用,虛擬機內的數據丟失。另外還有一種比較常見的虛擬機數據丟失的狀況那就是工做人員誤操做,今天小編在這裏要爲你們介紹一下虛擬機誤刪除快照的數據恢復方法。
先簡單的介紹一下須要虛擬機還原快照的本質是什麼;假設進行數據恢復的虛擬機是三年前由一臺物理服務器上遷移到ESXI上的,在遷移成功後作了一個快照,這個ESXI上面一共運行了26臺虛擬機,底層存儲設備爲某品牌的服務器。某天工做人員一個不當心進行了還原快照操做,這也就意味着虛擬機內的數據還原到了3年前剛遷移時的狀態,最近3年的數據所有處於被刪除的狀態。
還原快照操做與刪除數據是本質上是同樣的,虛擬機刪除快照後會將底層存儲空間相應位置進行釋放,而後重用該部分空間用於存儲新數據。也就是說若是一臺虛擬機不當心還原了快照,應該儘快將存儲上的全部虛擬機關機或遷移到其餘ESXI上。
虛擬機的狀況介紹到這裏,下面就開始進行數據恢復的部分介紹了,介紹數據恢復方法前先須要介紹vmfs文件系統的底層結構,vmfs文件系統是wmware虛擬化的自有文件系統,在這個文件系統下全部的硬盤被默認劃分紅若干個區域,這些區域最小單位叫作block,每一個block的大小爲1MB的容量,每1024個block組成爲一個MAP,這些信息都記錄在文件系統的某一片特定區域內。每一個map裏面的block在屋裏硬盤上的存儲順序不連續但每一個map裏的全部block必定是同屬於一個文件的,即FileSize:frombyte.com = N MAP 1024(Block)。
Vmfs文件系統的另外一個特性也有助於咱們恢復虛擬機數據。在vmfs文件系統中若是某文件被刪除那麼在底層數據層面只是刪除掉了文件的索引項,實際數據內容及只想數據map實際上並無被刪除。在數據恢復時須要咱們對整個文件系統裏面的全部空閒map進行提取,而後找到符合快照文件頭結構的map就能夠根據文件結構繼續提取剩下的文件碎片,將全部數據提取完成後結合原有的vmdk合成一個新的vmdk,最後把新和成的vmdk文件掛載起來,解釋裏面的數據即完成了虛擬機的數據恢復。安全