天天看點

「虛拟機資料恢複」xen server存儲庫損壞的資料恢複方案

作者:北亞資料恢複中心

xen server常見故障:

1、sr無法識别,所有虛拟磁盤(vdi)丢失。

2、sr中的虛拟磁盤(vdi)通路時報錯。

3、虛拟磁盤(vdi)删除或丢失。

4、快照(snapshot)删除或丢失。

5、sr初始化。

6、sr所在的LVM結構損壞。

7、sr所屬的PV分區表損壞。

8、其他故障。

「虛拟機資料恢複」xen server存儲庫損壞的資料恢複方案

北亞資料恢複——xen server資料恢複

xen server故障分析:

上述故障是使用者界面層的常見故障表現,解決這些故障問題首先要明白xen server sr層的結構組成。

xen server sr存儲庫的結構組成多數基于linux lvm,sr中的vdi相當于lvm中的lv,而建構lvm則可以基于傳統MBR的分區表或GPT的分區表來管理。舉個例子說,如果有一塊1TB的單硬碟,假設為/dev/sdb,想要初始化為SR,通常是1T的PV先進行分區(MBR或GPT,當然也可以不分),分好區後,

再将/dev/sdb1(假設要處理第一個分區)建立成LVM卷,然後再建立LV,這些LV就是VDI。

xen server會備份這些LVM資訊并存放在/etc/lvm下,名稱如VG_XenStorage-151befd1-2224-5e06-914e-f15243f649d7_00103.vg,内容是标準的LVM XML資訊格式描述。

上述的就是SR存儲庫的幾乎所有結構資訊,所有種類的損壞幾乎都是因為上述資訊的不完整所導緻的。

SR存儲庫結構資訊的不同損壞組合衍生出不同的解決方案。

「虛拟機資料恢複」xen server存儲庫損壞的資料恢複方案

北亞資料恢複——xen server資料恢複

xen server常見故障解決方案:

方案一、PV分區表損壞(适用于上述xen server常見故障的1、7):

PV分區表損壞其實與SR沒關系,隻是影響到SR的通路,其修複過程與普通的分區表修複相同,即修正MBR分區表或GPT分區表。

方案二、LVM結構損壞(适用于上述xen server常見故障的1、6):

LVM結構損壞大多數情況下就是LVM XML資訊區的損壞,可考慮使用xen server的LVM資訊備份進行恢複。

方案三、LVM結構損壞,同時備份資訊也損壞(适用于上述xen server常見故障的1、6):

LVM結構及其備份資訊損壞導緻所有LV的片段索引資訊全部丢失,這種情況下主要工作就是找回每個VDI的LV EXTENTS資訊。XEN的VDI是基于Connectix和微軟聯合開發的VHD格式,通常采用精簡增長模式(如同ESX VMDK的精簡模式),也就是說vdi随着使用的增長而增長,并不是配置設定多少占用多少。

這種模式的好處是可以節約空間,壞處就是配置設定不可能太連續,總會同時有幾個vdi互動申請空間。要想恢複這些片斷(碎片資訊),上層可參考的資訊是非常有限的。多數情況下隻能按照VHD格式内部的相關性,從VDI的頭部開始,通過一些可前後比對的資訊,按LV PE的偏移,不斷對extent碎片結構進行糾正。

這個過程如果人工進行操作不僅工作量大而且繁瑣。北亞資料恢複工程師專門開發了對vhd格式進行從前向後偏移校驗的程式來進行比對。擷取到每個VDI的碎片資訊後,可通過碎片資訊修正LVM資訊或直接導出成VHD檔案。

方案四、vdi内部結構損壞(适用于上述xen server所有可能的故障):

vdi内部結構的損壞等同于vhd格式磁盤的修複。對于一個vhd虛拟磁盤而言,每一個轉化後的實體塊都由索引表和塊内容組成,如果這兩部分資訊都可以找到,這個位置的塊即可修複。所有可修複的塊加上無法修複的塊組成的一個VHD就像一塊壞道盤,這時候就要看内部檔案系統的結構破壞情況了。

「虛拟機資料恢複」xen server存儲庫損壞的資料恢複方案

北亞資料恢複——xen server資料恢複

小結:上述4種解決方案的不同組合是針對所有xen server sr故障的解決方案。例如,vdi的删除就是要先看是否有LVM備份,如果有,按備份恢複;如果沒有,按vdi内部結構進行複雜組合。

繼續閱讀