999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

虛擬化文件系統VMFS有損數據恢復方法實現及原理

2019-03-07 05:22:46張宇
電腦知識與技術 2019年36期

摘要:該文介紹了一種利用VMFS固有系統信息完成數據丟失或損壞的情況下的數據提取方法。首先闡述VMFS的文件系統結構、各管理組件特性、功能和數據尋址原理,然后介紹各類常見數據丟失情況所導致的底層數據變化方式,最后給出應對于各種數據丟失場景下的恢復方案。

關鍵詞:VMFS;ESXi;數據恢復技術

中圖分類號:TP3 文獻標識碼:A

文章編號:1009-3044(2019)36-0059-02

自1946年世界上首臺電子計算機問世至今已有60年之久,在此期間硬件發展速度遵循甚至超出摩爾定律的預期。如此快速的發展讓計算機在高精尖領域大放光彩,但是在對性價比要求較高的民用領域,高性能物理硬件性能過剩和老舊硬件性能不足等問題逐年彰顯。

在20世紀六七十年代IBM發明了操作系統虛擬機技術,此技術利用大型機高性能硬件的快速反應速度,在單臺服務器上安裝多個操作系統并發提供給不同用戶使用,虛擬化操作系統雛形初現。但這種技術只適用于大型機,應用范圍很小,無法滿足中小型企業的需求。直到1999年,VMware公司在x86平臺上推出商業虛擬化軟件ESXi,虛擬化技術才開始普及到計算機領域內的各行各業,此虛擬化平臺所使用的文件系統正是VMrs。由于其應用范圍的不斷擴展,在使用過程中由于不可抗力和人為因素導致的數據丟失案例也呈現出上升趨勢。根據故障發生頻率,本文著重討論誤刪除和格式化這兩種情況下的數據恢復方案。

1 VMFS卷結構及各組件功能

VMFS在歷史上共出現了三個版本,分別為VMFS3、VMFS5和VMFS6,當前市面上常見版本為VMFS5。在VMFS5文件系統內,存儲結構按照其在卷內出現順序大致可分為三個區域:保留區、元文件區以及用戶數據區。保留區一般用0填充不使用,元文件區主要存儲管理VMrs卷的各元文件,包括vh.sf、.fdc.sf、.sbc.sf、pbc.sf、.fbb.sf、.pb2.sf。用戶數據區會以數據塊為單位記錄用戶寫入的絕大部分數據(有部分小文件的數據會存在元文件內)。

除.vh.sf外,其余元文件都是由文件頭和AREA組成。文件頭內記錄本元文件內子塊的大小、頭部大小以及AREA個數、每個AREA內的entr個數等信息,可用于解釋本元文件。AREA內部又被劃分為兩部分:entr和子塊組。entr個數與子塊組個數相同,在entr內會記錄對應子塊組內子塊的使用情況,某個子塊被文件系統使用時會在entr內標記為已使用;子塊被釋放時,entr內的使用標記改為未使用,但不會清理該子塊內數據。

1.1.vh.sf

.vh.sf主要用于記錄本邏輯卷(Logic Volume)的版本號、全局唯一標識碼、邏輯卷名稱以及當前VMFS卷內所使用的默認數據塊單位大小等。此元文件只在VMFS初始化過程中被寫入信息,在文件系統運行過程中不再使用。

1.2.fdc.sf

.fdc.sf用于記錄本邏輯卷內所有文件的節點(node)信息,一般在VMFS初始化過程中確定其存儲位置,以下簡稱為fdc。本元文件內會記錄各個目錄、用戶文件和系統源文件的屬性信息,這些信息包含節點編號、硬鏈接數、節點類型(目錄/文件/元文件)、文件大小、創建時間、最后修改時間、最后訪問時間以及頂層指針,頂層指針含義稍后會在文件系統工作原理部分闡述。此外,VMFS卷為節省空間會將小于1024字節的小文件直接存儲在節點內。

1.3.sbc.sf

.sbc.sf'用于記錄本邏輯卷內所有目錄的目錄項(不包含根目錄,根目錄有其固定存儲位置)以及大于1024字節小于8192字節的文件數據,以下簡稱為sbe。某個目錄下的文件或子目錄的目錄項會以140字節為單位緊湊存儲于該目錄的目錄區,目錄項內會標明下層文件或目錄的節點id、文件類型和文件名。

1.4.pbc.sf

.pbc.sf用于記錄次級指針,以下簡稱為pbc。當pbc某個文件的節點內無法存儲所有指針的情況下會產生指針樹,并將樹的頂點存儲于節點內,同時將樹的枝十節點和葉節點存儲于pbc內。最終尋址時需要從pbc內提取該文件的所有葉節點,才能完整獲取該文件的所有數據。Pbe子塊大小一般為4096字節,可存儲1024條數據指針,且每個子塊內指針全部指向同一個文件。

1.5.fbb.sf

.fbb.sf用于記錄當前VMFS卷內的數據塊使用情況。此文件內用位圖的方式標記當前卷內各個數據塊是否已被分配以達到快速分配數據塊的目的。

1.6.pb2.sf

.pb2.sf在VMFS5內未使用,預留待擴展。

2 VMFS卷數據尋址原理

VMFS在卷內查找一個文件時首先在固定位置找到根目錄,讀取根目錄下各目錄項信息,根據目錄項內記錄的節點編號跳轉到fdc查找節點并判斷文件類型。如果是目錄跳轉到sbe元文件內讀取該目錄的目錄區以獲得該目錄下各文件的目錄項,根據目錄項內記錄的節點編號繼續判斷節點類型;如果是文件則判斷文件大小,并按照不同存儲位置讀取出數據(文件存儲規則見圖1)。深度為3的指針樹最大可存儲256TB的單個文件,已滿足當前操作系統絕大多數使用情況。

3常見故障對底層元數據影響

3.1文件誤刪除對底層元數據影響

在研究過程中采用對比分析法對VMFS卷內文件刪除前后元文件內部變化情況進行對比,多次測試結論均相同。當文件被刪除時,該文件的節點內硬鏈接數被置0。此外,文件小于1KB時,節點內文件數據被0覆蓋;文件大于1KB時,所有節點內的指針均被刪除覆蓋;文件大于256MB時,次級指針和葉級指針所在元文件的子塊被標記為未用狀態,但子塊內數據不清零;文件大于256GB時,除葉級節點指針外上層指針全部清零,此時該文件留存于系統中的信息僅包含直接指向數據塊的數據指針。

3.2 VMFS卷誤格式化對底層元數據影響

在研究過程中采用對比分析法對VMFS卷格式化前后元文件內部變化情況進行對比,多次測試結論均相同。除重置各元文件所產生的開銷外各元文件基本無變化,根目錄下前9個目錄項(對應于各元文件的目錄項)被重置。無數據寫入時根目錄下第10個目錄項之后的所有目錄項均可按照正常VMFS卷工作原理查找提取文件,在格式化后的卷內寫入文件時會覆蓋根目錄下目錄項。

4數據恢復方案

4.1文件誤刪除恢復方案

文件誤刪除恢復方案根據文件大小可分為多種:文件小于1KB時,由于文件數據被清零,此類情況無法恢復;文件小于8KB大于1KB時,文件數據存儲于sbe元文件內,可通過查找sbc內被標記為未用狀態的子塊和文件特征值來尋找對應數據塊(文件特征值是指某些固定類型文件頭部會有MAGIC_NUM-BER標志);文件大于8KB小于256MB時由于節點內指針被清零,文件非明文或特定格式文件時無高效恢復方案。

重點為恢復大于256MB文件,一般特指虛擬磁盤。常見的虛擬化架構為ESXi服務器創建VMFS卷后在卷內創建虛擬機供用戶使用。創建的虛擬機會在VMFS卷的根目錄下創建與虛擬機名稱完全相同的文件夾,并將虛擬機各組件文件存放在此目錄下。在常規物理計算機內記錄數據的設備為硬盤,而承載虛擬機內數據的是被稱為虛擬磁盤的大型文件,后綴名VM-DK。當虛擬機被刪除時,該虛擬機對應的文件夾下所有文件會全部被刪除。由于記錄虛擬機內數據的文件是VMDK,只要將此文件恢復即可。

VMDK文件結構與普通物理磁盤的分區結構完全相同,頭部有MBR或GPT分區標識。由于文件刪除清空了上層指針,只能依賴葉級指針塊完成該文件的碎片拼接。葉級指針塊大小為4KB,會連續記錄1024條數據指針,每條指針又指向IMB數據塊,因此刪除VMDK可看作將文件切分為以1GB為單位的數據塊。分析pbc元文件,將標記為未用(即已被釋放)的子塊取出。由于每個子塊都可包含1024條指針,取出所有指針對應數據塊即可獲取到1GB碎片。且VMFS文件系統數據分配是以1MB為單位進行對齊,指向每個大于256MB文件的文件頭部的直接指針一定是子塊內的第一條(見圖2),讀取所有1GB碎片頭部信息判斷是否為磁盤頭部。

找到VMDK頭部數據塊后可根據磁盤大小來判別是否是需要恢復的磁盤文件。當磁盤采用GPT分區格式時,計算GPr頭與GPT頭備份之間的扇區數可得到該VMDK的大小;采用MBR分區格式時,計算各分區容量總和可得。確定需要恢復時,根據VMDK分區內文件系統類型及其內部結構獲取各目錄和文件在分區內的偏移量以及在VMDK文件內的偏移量。假設將VMDK文件從頭部起始切分為若十個IGB碎片,計算各目錄或文件在IGB碎片內的偏移。遍歷所有文件和目錄與IGB碎片,利用各文件或目錄特征值及其在碎片內的偏移完成匹配工作。未找到的數據塊可能為文件系統未用空間,直接用IGB大小的0進行填充即可。

以上方式適用于文件系統入口位于磁盤頭部的所有文件系統。對于某些特殊的文件系統有更多匹配標志的,可增加恢復成功率,例如NTFS的文件記錄號等文件唯一性標識。

4.2 VMFS誤格式化恢復方案

誤格式化一般指同參數格式化,即VMFS格式化為VMFS,分區大小不變,分區起始位置不變,此類情況下由于元文件信息重置無法正向解析整個文件系統。由于VMFS元文件在格式化時一般會預留足夠大小的空間,格式化不會變更文件大小以及分配位置,但會清空entr內子塊使用標志位。獲取根目錄下除元文件外其余目錄或文件信息,并按照對應的指針直接跳轉到對應子塊進行解析即可獲取由于格式化原因導致丟失的文件數據。

對應于VMFS文件系統被格式化為其他文件系統而言,由于VMFS元文件分配位置不處于分區頭部,一般不會被覆蓋。查找VMFS卷特殊標識確定分區起始,按照正向解析流程完成解析即可獲取丟失文件。

5總結

VMFS在正常運行中應及時注意空間使用情況,操作時更是需要仔細,盡量避免由于人為因素導致數據被刪除的情況發生。如果發生數據丟失情況,應立即關閉ESXi服務器或卸載數據存儲,以免后續寫入數據覆蓋被刪除文件。數據脫離生產環境后應及時進行數據備份,以免恢復過程中對數據造成二次破壞,及時開展恢復流程即可。

參考文獻:

[1]管建超.基于VMware VMFS的研究及備份實現[J].ELEC-TRIC POWER IT,2011,9(7).

[2]顧景民,時陽.V Mware服務器虛擬化中的熱備與恢復技術[J].科技視界,2016(4).

[3]宋發平.V Mware服務器虛擬化在建設新一代企業數據中心中的運用研究[J].電子制作,2017(9).

【通聯編輯:張薇】

收稿日期:2019-09-25

基金項目:國家重點研發計劃重點項目:物證檢驗質量保證與量值溯源關鍵技術研究(2018YFC0807305)

作者簡介:張宇(1978-),男,山西人,本科,從事有損大容量存儲數據重組分析技術研究與系統開發研究。

主站蜘蛛池模板: 内射人妻无码色AV天堂| 99青青青精品视频在线| 亚洲精品不卡午夜精品| 国产91视频免费| 99久久精品无码专区免费| 美女毛片在线| 亚洲AV免费一区二区三区| 99re在线视频观看| 色综合天天综合中文网| 国产亚洲精品91| 亚洲男人天堂网址| 在线观看国产一区二区三区99| 亚洲天堂视频在线播放| 亚洲人成在线精品| 青青操视频免费观看| 精品成人一区二区三区电影 | 日韩大乳视频中文字幕| 亚洲精品无码久久毛片波多野吉| 麻豆国产在线观看一区二区| 国产麻豆福利av在线播放| 99久视频| 久久天天躁狠狠躁夜夜2020一| 亚洲欧美国产视频| 久久黄色一级视频| 欧美α片免费观看| 亚洲第一天堂无码专区| 国产特级毛片aaaaaaa高清| 69精品在线观看| 久久国产V一级毛多内射| 成人国产一区二区三区| 91青青草视频| 日韩精品成人在线| 久久96热在精品国产高清| 亚洲国产精品久久久久秋霞影院| 五月天丁香婷婷综合久久| 亚洲综合色在线| 婷婷六月综合网| 国产成人综合亚洲欧美在| 亚洲 日韩 激情 无码 中出| 亚洲伦理一区二区| 免费a级毛片视频| 成人夜夜嗨| 网久久综合| 国产丝袜91| 尤物在线观看乱码| 久久国产精品77777| 欧美成人精品在线| 婷婷五月在线视频| 国产麻豆另类AV| 国产精品专区第一页在线观看| 日韩精品一区二区三区免费在线观看| 成人午夜久久| 在线国产三级| 又粗又硬又大又爽免费视频播放| 99精品国产自在现线观看| 久久婷婷六月| 91亚洲精选| 91色综合综合热五月激情| 日韩在线2020专区| 久久96热在精品国产高清| 一级毛片免费高清视频| 国产精品久久久免费视频| 色综合久久88| 中文字幕av无码不卡免费| 国产91九色在线播放| 国内毛片视频| 五月激情综合网| 日本精品影院| 国产成人你懂的在线观看| 综合色在线| 欧美专区在线观看| a在线亚洲男人的天堂试看| 久草美女视频| 国产后式a一视频| 久草视频精品| 色婷婷狠狠干| 九九九精品成人免费视频7| 波多野结衣第一页| 亚洲精品色AV无码看| 国产97公开成人免费视频| 1024你懂的国产精品| 国产乱子伦精品视频|