服務器數據恢復環境:
某市教育局同友存儲,存儲中有一組由數塊磁盤組建的raid5陣列,存儲空間劃分若干lun。每個lun中有若干臺虛擬機,其中有數臺linux操作系統的虛擬機為重要數據。
存儲結構:
北亞企安數據恢復——同友存儲數據恢復
服務器故障:
raid崩潰導致存儲無法啟動。
服務器數據恢復流程:
1、將存儲中所有磁盤編號后取出,由硬件工程師檢測后沒有發現有硬盤存在明顯的硬件故障。以只讀方式將所有磁盤進行扇區級全盤鏡像,鏡像完成后將所有磁盤按照編號還原到原存儲中,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。
2、基于鏡像文件分析所有磁盤底層數據,獲取重組raid所需要的相關信息,利用獲取到的raid信息重組raid。在重組raid過程中發現該raid5缺失2塊盤(還原存儲raid崩潰的過程:第一塊盤掉線后熱備盤頂替,第二塊盤掉線讓RAID5處于降級狀態,第三塊盤掉線RAID崩潰),無法通過校驗直接獲取掉線盤的數據,只能使用與缺失磁盤同等大小的全0鏡像進行重組(此方法只可用于緊急情況,通過全0鏡像組建的raid結構會被嚴重破壞,相當于每個條帶都會缺失兩個塊的數據)。
重建raid:
北亞企安數據恢復——同友存儲數據恢復
3、基于組建完成的raid分析存儲結構,獲取存儲劃分的MAP塊。找到MAP塊之后通過解析獲取到各個LUN的數據塊指針,北亞企安數據恢復工程師編寫數據提取程序提取LUN碎片。碎片提取完成后通過拼接碎片組成完整LUN。
提取LUN:
北亞企安數據恢復——同友存儲數據恢復
4、導出LUN內所有虛擬機后嘗試啟動,由于操作系統被破壞,虛擬機無法成功啟動。
5、由于虛擬機無法啟動,數據恢復工程師只能對虛擬機內文件進行提取,對提取出的文件進行測試后發現大多數文件被破壞,只有少量的小文件可以打開。
虛擬機內取出的圖片:
北亞企安數據恢復——同友存儲數據恢復
6、與用戶方溝通后得知有虛擬機內有mysql數據庫,基于數據庫存儲的特殊性,可以嘗試通過掃描數據頁來提取數據。找到這臺有數據庫的虛擬機后發現此虛擬機啟用快照。在父盤和快照文件都被損壞的情況下,常規合并操作無法完成,嘗試使用北亞企安自主研發VMFS快照合并程序進行快照合并。
北亞企安數據恢復——同友存儲數據恢復
7、根據mysql數據頁特征掃描&導出數據頁。分析系統表獲取各用戶表信息,根據各個表的id分割數據頁。
8、由于數據庫使表結構曾多次變更,系統表也有部分數據丟失,記錄提取過程充滿坎坷。首先獲取最初版本數據庫各個表的表結構:合并快照前的父盤因為寫入較早,使用第一塊掉線盤進行校驗獲取到這個文件的完整數據,然后提取出其中數據庫各個表的表結構。用戶方提供了最新版的數據庫建表腳本。
9、分別使用兩組不同表結構提取數據記錄并導入恢復環境中的mysql數據庫內,剔除各個表中因為表結構變更導致的亂碼數據,最后將兩組數據分別導出為.sql文件。
10、因為兩個版本的數據庫表結構不同,所以聯系了用戶方的應用工程師進行調試。調試完成后導入平臺,經過用戶方檢測后確認絕大部分數據已經恢復出來,認可數據恢復結果。本次數據恢復工作完成。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9163瀏覽量
85428 -
數據恢復
+關注
關注
10文章
573瀏覽量
17458 -
RAID5
+關注
關注
0文章
120瀏覽量
12727
發布評論請先 登錄
相關推薦
評論