虛擬化還原快照導致數據丟失恢復過程
摘要:虛擬化環境是vmfs 6.5,底層硬盤單盤容量是6T,上冊文件系統是vmfs文件系統,存儲的數據是SqlServer數據庫及其他辦公文件。
一、需要恢復的虛擬化環境描述
虛擬化環境是vmfs 6.5,底層硬盤單盤容量是6T,上冊文件系統是vmfs文件系統,存儲的數據是SqlServer數據庫及其他辦公文件。
導致數據丟失的原因是技術人員對虛擬化進行了還原快照操作,導致了數據庫數據的丟失,客戶需要盡可能完整的恢復原來的數據庫文件。
二、數據恢復過程
數據恢復工程師接到客戶的原始磁盤文件后,首先在只讀環境下對硬盤進行了鏡像備份,鏡像出來的文件將用于后期的數據分析及重組等操作,客戶的原始數據將在鏡像完成后歸還客戶,不進行任何操作。
由于客戶的硬件設備沒有任何故障,因此也就不涉及物理修復方面的操作,鏡像完成后,數據恢復工程師根據底層數據情況制定了兩套數據恢復方案,分別是針對快照文件進行修復和拼接數據庫碎片修復數據庫兩種方式。
方案一 恢復快照文件
1、首先根據已經研究出來的vmfs文件系統結構,再根據客戶虛擬機底層數據的具體情況,編寫程序進行底層數據掃描,提取10T虛擬磁盤的元信息PBC,SBC。
2、掃描到PBC,SBC信息后,嘗試拼接丟失的快照文件,然后進行驗證,經過數據恢復工程師的驗證發現掃描提取出來的PBC,SBC損壞較多,無法利用現有的信息進行快照文件的拼接,方案一不可行。
方案二 拼接數據庫
1、還是要根據vmfs索引和位圖信息進行數據掃描,提取虛擬磁盤的剩余空間。
2、再次編寫數據掃描程序,將剩余空間內的數據庫頁信息進行掃描和提取。
3、經過與客戶的溝通,確認了需要恢復的數據庫名稱及表名,根據掃描到的數據庫頁信息和用戶提供的數據庫名字和表名字,查找丟失數據庫頁。
4、經過查找,提取了數據庫頁信息,再經工程師人工進行比對,確認了需要恢復的數據庫信息,編寫數據庫拼接程序,調整相關系數,自動對掃描出的數據庫碎片文件進行了拼接重組,最終成功恢復數據庫文件。
5、經過數據恢復工程師自驗證,數據庫可以正常打開和使用,隨后由客戶管理員進行數據最終驗證,經過驗證確認了本次數據恢復成功。
三、恢復結果
通過以上2種方案的嘗試:其中方案一由于vmfs文件系統的元信息損壞較多,無法拼接出快照文件。于是采用方案二,對虛擬磁盤剩余空間進行掃描,獲取數據庫頁信息,根據丟失數據庫名字,表名字查找相關頁信息,提取并拼接數據庫碎片,最終成功恢復vmfs虛擬化下的數據庫。
虛擬化環境是vmfs 6.5,底層硬盤單盤容量是6T,上冊文件系統是vmfs文件系統,存儲的數據是SqlServer數據庫及其他辦公文件。
導致數據丟失的原因是技術人員對虛擬化進行了還原快照操作,導致了數據庫數據的丟失,客戶需要盡可能完整的恢復原來的數據庫文件。
二、數據恢復過程
數據恢復工程師接到客戶的原始磁盤文件后,首先在只讀環境下對硬盤進行了鏡像備份,鏡像出來的文件將用于后期的數據分析及重組等操作,客戶的原始數據將在鏡像完成后歸還客戶,不進行任何操作。
由于客戶的硬件設備沒有任何故障,因此也就不涉及物理修復方面的操作,鏡像完成后,數據恢復工程師根據底層數據情況制定了兩套數據恢復方案,分別是針對快照文件進行修復和拼接數據庫碎片修復數據庫兩種方式。
方案一 恢復快照文件
1、首先根據已經研究出來的vmfs文件系統結構,再根據客戶虛擬機底層數據的具體情況,編寫程序進行底層數據掃描,提取10T虛擬磁盤的元信息PBC,SBC。
2、掃描到PBC,SBC信息后,嘗試拼接丟失的快照文件,然后進行驗證,經過數據恢復工程師的驗證發現掃描提取出來的PBC,SBC損壞較多,無法利用現有的信息進行快照文件的拼接,方案一不可行。
方案二 拼接數據庫
1、還是要根據vmfs索引和位圖信息進行數據掃描,提取虛擬磁盤的剩余空間。
2、再次編寫數據掃描程序,將剩余空間內的數據庫頁信息進行掃描和提取。
3、經過與客戶的溝通,確認了需要恢復的數據庫名稱及表名,根據掃描到的數據庫頁信息和用戶提供的數據庫名字和表名字,查找丟失數據庫頁。
4、經過查找,提取了數據庫頁信息,再經工程師人工進行比對,確認了需要恢復的數據庫信息,編寫數據庫拼接程序,調整相關系數,自動對掃描出的數據庫碎片文件進行了拼接重組,最終成功恢復數據庫文件。
5、經過數據恢復工程師自驗證,數據庫可以正常打開和使用,隨后由客戶管理員進行數據最終驗證,經過驗證確認了本次數據恢復成功。
三、恢復結果
通過以上2種方案的嘗試:其中方案一由于vmfs文件系統的元信息損壞較多,無法拼接出快照文件。于是采用方案二,對虛擬磁盤剩余空間進行掃描,獲取數據庫頁信息,根據丟失數據庫名字,表名字查找相關頁信息,提取并拼接數據庫碎片,最終成功恢復vmfs虛擬化下的數據庫。
上一篇: 服務器虛擬化開源技術主流架構之爭