【伺服器資料恢復】同友儲存raid5崩潰的資料恢復案例

北亞資料恢復發表於2022-06-10

伺服器儲存故障:


同友儲存中組建的raid5磁碟陣列由於未知原因崩潰且無法啟動,raid5中的虛擬機器全部丟失,其中3臺虛擬機器中的資料尤為

重要,管理員聯絡我們資料恢復中心要求對這3臺虛擬機器進行資料恢復。



伺服器儲存資料恢復過程:


1、分析儲存底層結構。 通過與管理員的溝通和對raid的分析,搞清楚了故障儲存的底層結構:多塊物理磁碟組成一個

儲存池並劃分 多個lun,需要進 行資料恢復的為lun1,lun1包含了那3臺虛擬機器。如下圖所示:


儲存結構


2、重組raid。 在對陣列進行分析重組時,資料恢復工程師發現原儲存中的raid5缺失2塊硬碟,熱備盤已經啟用。

(還原故障發生的過程: 第一塊硬碟掉線後系統啟動熱備盤進行替換,第二塊硬碟掉線時raid5處於降級狀態,

第三塊硬碟掉線導致raid陣列 崩潰。) 這種情況下無法通過校驗直接獲取丟失盤的資料,只能使用和磁碟同等大小的

全0映象 進行重組 (由於依賴空映象組成的raid 檔案系統結構會破壞嚴重,相當於每個條帶都會缺失兩個

塊的資料, 所以除非特殊情況不建議如此操作)。


重建raid


3、通過重組出來的raid陣列提取LUN。通過對儲存結構的進一步分析獲取到儲存劃分的MAP塊,對各個LUN的資料塊指標

進行解析。北亞資料恢復工程師編寫資料提取程式提取LUN碎片。提取完成後進行碎片拼接,組成完整LUN。


提取LUN


4、匯出LUN內所有的虛擬機器並嘗試啟動,由於作業系統被破壞,虛擬機器無法啟動。


5、提取虛擬機器內檔案。由於虛擬機器無法啟動,只能對虛擬機器內的檔案進行提取,但多數檔案破壞嚴重,只有少數檔案可用

,只好繼續制定其他資料恢復方案。


6、通過分析資料庫頁提取資料。本案例中的虛擬機器內有mysql資料庫,可以利用資料庫底層儲存的特殊性進行資料頁掃描

,提取資料。(由於父盤和快照檔案都被損壞,常規合併操作無法完成快照合併,使用北亞自主研發的VMFS快照合併程式

進行快照合併。)資料恢復過程截圖如下:



7、獲取mysql資料頁並分析。根據mysql資料頁特徵進行資料頁掃描並匯出(innodb引擎可以使用此方案;myisam因為

沒有“資料頁”這個概念,所以這個方案不可用),分析系統表獲取各使用者表資訊,根據各個表的id進行資料頁分割。


8、提取表結構、提取記錄。因為資料庫使用時間已久,表結構也曾多次變更,加上系統表在儲存損壞後有部分資料丟失,

記錄提取過程遇到很大阻力。首先獲取最初版本資料庫各個表的表結構:合併快照前的父盤因為寫入較早,使用第一塊掉

盤進行校驗獲取到這個檔案的完整資料,然後提取出其中資料庫各個表的表結構,之後管理員提供了最新版的資料庫建

表指令碼。分別使用兩組不同的表結構對資料記錄進行提取並匯入恢復環境中的mysql資料庫內,然後剔除各個表中因為表

結構變更造成的亂碼資料,最後將兩組資料分別匯出為.sql檔案。


9、資料驗證。因為兩個版本的資料庫表結構不同,所以管理員聯絡應用工程師進行除錯。除錯完成後匯入平臺,平臺除錯

成功,本次資料恢復完成。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2899797/,如需轉載,請註明出處,否則將追究法律責任。

相關文章