ESXi虛擬平臺存儲VMFS分區和虛擬機/VMDK恢復之—深度原理教程(附:真實恢復案例)

章節目錄

ESXi數據存儲介紹

VMFS分區定位

VMFS分區重建

虛擬機恢復

技術支持

 


ESXi數據存儲介紹

VMware ESXi採用VMFS文件系統,從ESXi 3.5-6.5,分別使用VMFS3、VMFS5、VMFS6。

ESXi虛擬平臺數據恢復有以下3個深度:

  1. VMFS分區恢復
  2. VMFS虛擬機恢復
  3. VMDK內部文件恢復

VMFS分區定位

分區表的類型

分區表有兩種基本格式:MBR和GTP。MBR最多容納四個分區,最大支持2TB分區。 目前磁盤普遍大於2TB,特別在ESXi虛擬平臺上,分區基本都超過2TB,所以通常會使用 GUID分區表(GPT),GPT最大支持18EB空間,並支持擴展固件接口(EFI)。

 

本次案例是GPT分區格式。爲了修復分區,必須要先確定VMFS卷的起始位置和結束位置。

VMFS分區結構中,定義“魔術數字”0xC001D00D標記VMFS_VOLINFO,再向前回退2048扇區,即爲VMFS分區的起始位置。

我們需要一個十六進制編輯器,以便對十六進制或ASCII字符串進行全磁盤搜索。我們使用的是X-Ray公司的WinHex。

但是VMFS採用了little endian模式存儲數據結構,因此“魔術數字”在磁盤上存儲爲0x0DD001C0。

本案例分區已經被覆蓋,因此無法在主分區表中找到魔術數字。以下爲正確GPT分區示例圖:


VMFS分區重建

爲了重建分區,必須解析GPT分區的結構。

GPT分區結構如下:

LBA0:

在GPT分區表的最開頭,出於兼容性考慮仍然存儲了一份傳統的MBR(LBA 0),這個MBR叫做保護性MBR(Protective MBR)。

LBA1:

分區表頭(LBA 1)定義了硬盤的可用空間以及組成分區表的項的大小和數量。以下爲GPT分區表頭的格式,注意爲little endian:

起始字節

偏移量

內容

0

8

簽名("EFI PART")

8

4

修訂

12

4

分區表頭的大小

16

4

分區表頭(92個字節)的CRC32校驗,在計算時,先把這個字段寫作0處理,然後計算出所有分區表項的CRC32校驗後再計算這個CRC32

20

4

保留,必須是 0

24

8

當前LBA(這個分區表頭的位置)

32

8

備份LBA(另一個分區表頭的位置)

40

8

第一個可用於分區的LBA(主分區表的最後一個LBA + 1)

48

8

最後一個可用於分區的LBA(備份分區表的第一個LBA - 1)

56

16

硬盤GUID(在類UNIX系統中也叫UUID

72

8

分區表項的起始LBA(在主分區表中是2)

80

4

分區表項的數量(windows是128,沒有這麼多也先佔着空間)

84

4

一個分區表項的大小(通常是128)

88

4

分區表項的CRC32校驗(計算的是所有分區表項的檢驗和即128*128字節)

92

420

保留,剩餘字節必須是0(420字節針對512字節的LBA硬盤)

 

LBA 2–33

此位置存放分區表項。一個分區表項的前16字節是分區類型GUID,VMFS的分區類型爲:0x2AE031AA0F40DB119590000C2911D1B8。接下來的16字節是該分區唯一的GUID(即分區的UUID)。再接下來是分區起始和末尾的64位LBA編號,以及分區的名字和屬性。以下爲GPT分區表項的格式:

起始字節

偏移量

內容

0

16

分區類型GUID

16

16

分區GUID

32

8

起始LBA(小端格式)

40

8

末尾LBA

48

8

屬性標籤

52

72

分區名

 

主分區表損壞時,可以用Backup 分區表恢復。我們通過魔術數字,找到備份分區表位於23437498367扇區;

一般情況我們不建議對目標磁盤有任何寫入操作,但是爲了快速恢復數據,數據修復工作室在備份了磁盤首部扇區後,參照備份分區表,直接修改磁盤扇區,手動重建了VMFS分區表。


虛擬機恢復

通過以上步驟,已經恢復了VMFS分區,通常情況可以直接看到虛擬機。此案例仍然無法顯示虛擬機,原因是磁盤頭部損壞時,也會破壞MFT,導致VMFS內的虛擬機文件無法直接讀取,此時我們再通過虛擬機恢復軟件自動掃描,即可恢復虛擬機:

在恢復數據機之前,可以通過log文件預覽是否有亂碼,簡單確認數據是否受損:


特別注意

虛擬平臺文件系統是封閉的,逆向底層數據結構難度大,而虛擬平臺通常是生產環境,數據丟失情況少,大部分管理員在VMFS數據恢復方面的經驗並不多,嘗試性操作可能帶來不預測的數據二次破壞。

本案例中,難點是VMFS分區表識別與重建。


技術支持

溫馨提示:如重要數據丟失,建議在行動前諮詢專業工程師,以免數據遭到二次破壞。

事故發生後,直接聯繫專業人員,數據基本可以100%恢復;多數無法恢復的案例,都是因爲不專業的"恢復",導致數據被覆蓋!

企業級恢復支持https://item.taobao.com/item.htm?id=584274607493

個人級恢復支持https://item.taobao.com/item.htm?id=592356374811

官方網站:http://www.data-unit.com/


 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章