raid數據恢復環境&故障:
某單位同友存儲,存儲中有一組raid5磁盤陣列。存儲內部共有虛擬機若干臺,raid5陣列崩潰導致存儲無法啟動。
raid數據恢復過程:
1、與用戶方溝通及查看底層存儲情況,分析存儲層次結構。
存儲結構:

北亞企安數據恢復—Raid5數據恢復
2、本案例中raid5陣列缺失2塊盤(第一掉線盤掉線后熱備盤自動上線頂替,之后又有一塊盤掉線導致RAID5陣列處于降級狀態。當第三塊盤盤片劃傷導致掉線時,RAID崩潰),無法通過校驗直接獲取丟失盤的數據,所以只能使用磁盤同等大小的全0鏡像進行重組(此方法只可用于緊急情況,因為依賴空鏡像組成的raid文件系統結構會被嚴重破壞,相當于每個條帶都會缺失兩個塊的數據)。

北亞企安數據恢復—Raid5數據恢復
3、提取LUN
分析存儲結構,獲取存儲劃分的MAP塊。在找到MAP塊之后通過解析獲取到各個LUN的數據塊指針。北亞企安數據恢復工程師編寫數據提取程序提取LUN碎片。提取完成后拼接碎片,組成完整LUN。
提取LUN:

北亞企安數據恢復—Raid5數據恢復
4、導出LUN內所有虛擬機,嘗試啟動。由于操作系統被破壞,虛擬機無法啟動。
5、在虛擬機無法啟動的情況下,提取虛擬機內文件。提取出文件后進行測試,發現大多數文件都被破壞,只有少部分小文件可以打開。
6、和用戶方溝通后得知有一臺虛擬機內有mysql數據庫。由于數據庫底層存儲的特殊性,可以嘗試通過掃描數據頁提取數據。找到該虛擬機后發現虛擬機啟用快照。父盤和快照文件都被損壞的情況下通過常規合并操作無法完成,數據恢復工程師使用北亞企安自主研發VMFS快照合并程序合并快照。

北亞企安數據恢復—Raid5數據恢復
7、根據mysql數據頁特征掃描數據頁并導出(只有innodb引擎可以使用此方案),分析系統表獲取各用戶表信息。根據各個表的id進行數據頁分割。
8、因為數據庫使用時間已久,表結構也曾多次變更,加上系統表在存儲損壞后也有部分數據丟失,記錄提取過程遇到很大阻力。
首先獲取最初版本數據庫各個表的表結構。因為合并快照前的父盤寫入較早,使用第一塊掉線盤進行校驗獲取到這個文件的完整數據,然后提取出其中數據庫各個表的表結構,之后用戶方提供了最新版的數據庫建表腳本。
9、分別使用兩組不同表結構提取數據記錄,并導入恢復環境中的mysql數據庫內,然后剔除各個表中因為表結構變更造成的亂碼數據,最后將兩組數據分別導出為.sql文件。
10、因為兩個版本的數據庫表結構不同,所以聯系應用工程師進行調試。調試完成后導入平臺,平臺調試成功,數據恢復完成。
審核編輯 黃宇
-
服務器
+關注
關注
14文章
10325瀏覽量
91669 -
數據恢復
+關注
關注
10文章
721瀏覽量
19029
發布評論請先 登錄
服務器數據恢復—多磁盤柜架構RAID5雙盤離線數據恢復實戰案例
【服務器數據恢復】服務器raid5陣列raid模塊損壞的數據恢復案例
服務器數據恢復—5盤RAID5中的4盤重建RAID5,RAID5數據恢復秘籍!
服務器數據恢復—Raid5多盤掉線,存儲復活大揭秘!
評論