1. 程式人生 > >某法院HP-P4500儲存資料恢復案例

某法院HP-P4500儲存資料恢復案例

   好久沒出來寫部落格了,過年來了一直很忙,尤其是最近,忙著做了好幾個大單子。先是一個醫院50TBHP-EVA4400,接著是一個法院12TBHP-P4500,前幾天還有做了一個某遊樂城12TBVMware VMFS虛擬機器恢復。雖然忙點,但是學會了好多新的知識,一直想抽點時間把最近的工作整理成文章發表一下,可是家裡沒有聯網,在公司又得忙工作。還好最近工作不是很忙,可以在公司抽點時間寫寫。好了,言歸正傳,進入主題吧!

【故障描述】

   某法院的一臺HP-P4500的儲存系統,底層是121TB的硬碟組的RAID。其中每61TB的盤一組,第一組的前面一部分組了一個RAID0+1,是存放HP-P4500

嵌入式系統,接著組了一個RAID5存放資料,第二組組了一個RAID5。在儲存系統上層一共分了兩個卷,卷大小一個為3TB,一個為5TB。後來因磁碟故障導致儲存不可用,客戶先請HP的工程做更換磁碟,強制上線,但儲存還是不可用。最後才聯絡我們做資料恢復。

【硬體檢測】

   我們的硬體工程師先對客戶的12塊硬碟做了硬體檢測,發現客戶的硬碟都正常。既排除硬碟硬體故障。既然都正常,我們就對12塊硬碟做了全盤映象。

【故障分析】

   我們使用專業的工具對備份出來的映象做了詳細的分析,發現底層的RAID是一個HP雙迴圈RAID5。並且第一組RAID是好的,也就是第二組RAID的損壞導致儲存上層的卷不可用,第二RAID

也是一個RAID5,如果是其中一個硬碟掉線那麼以RAID5的儲存原理應該不會導致儲存不可用。因此可以判斷第二組RAID中至少是掉了兩塊磁碟,其中一塊是早就掉線的,裡面的資料都是舊的,我們需找出早就掉線的那塊磁碟。可是我們通過硬體檢測發現所有的硬碟都沒有硬體故障,那麼我們該如何判斷掉線的盤是那一個呢?

【解決方案】

   由於並不知道RAID中那一塊硬碟是早掉線的,所以沒辦法重組RAID。經過認真思考後確定有兩種可行方案。

方案一:窮舉法,即假設其中某一塊磁碟是早就掉線的,踢掉此盤,重組RAID然後生成全部資料,最後將資料掛載到HP-P4500上,看資料是否正確。如果資料不正確,那麼再假設另一塊盤是掉線的,以此迴圈。雖然這種方案可行,但是由於每次重組RAID

生成資料的資料時間太長,並且準確性很低。

方案二:窮舉加校驗,還是和窮舉法一樣,假設某個磁碟是掉線的,踢掉磁碟後重組RAID,但不是生成全部的資料,而是隻生成前面5G的資料,因為HP-P4500內部儲存的資料的索引表點陣圖位於RAID的前幾個G之內(因為在這之前我們已經研究過HP-P4500的內部儲存原理)。我們只需要檢視這個索引表的點陣圖的資訊是否正確就可以判斷此RAID是否正確。如果正確那麼生成此RAID的資料即可完成RAID的重組。

【實施方案】

   採用第二種解決方案,經過幾次測試很快就判斷出正確的RAID。連夜生成此RAID的資料。生成完資料後,將生成的資料和第一組完好的RAID一同掛載到HP-P4500上。然後啟動儲存,上層的卷由不可用變的可用了。查看了最新的檔案發現一切都正常。

【資料恢復成功】

   由於上層的卷直接可以用了,所以資料也都可見了,但是考慮到安全問題,我們還是將卷裡的檔案都拷貝出來,然後移交給客戶。經過漫長的底層分析,加上不斷的測試。終於在使用者要求的時間內將資料恢復完成。整個恢復過程一共歷時兩天。之所以能這麼快恢復,還是在於我們之前研究過HP-P4500的儲存原理。知道了HP-P4500的儲存原理以後,關於它的所有資料災難都可以進行恢復。

本文所有資料恢復流程及資料恢復技術均來自北亞資料恢復中心。

作者:鄧奇

聯絡方式:18911808630