伺服器資料恢復工程師講解raid陣列掉了3塊盤怎麼處理

北亞資料恢復發表於2019-09-04

在所有正式內容開始之前先問一個問題,什麼是raid?raid的概念描述在網際網路上比比皆是,都未免太過專業了。我想用最簡單的原理描述,就是在定義儲存方式時允許在一部分資料缺失的情況下不影響全部資料,類似於通訊領域的糾錯碼。不同的冗餘模式形成了不同的RAID類別。我們需要先描述僅具備一個磁碟冗餘的RAID模型(思想同RAID3,RAID4,RAID5)。假設現在有3頁空白的紙,用來記錄一些數字,為了更清晰地記錄,我們先將每頁白紙劃出相同大小的一些表格。再假設有一個可能:這3頁紙,特定情況下會有其中某一頁丟失。為了在上述設定情況保證這些數字能完整安全的記錄下來,我們要設計一些互相牽連的冗餘關係。如我們要記錄的數字序列是:3、14、28、4、98、88  。我們可以依次在第1頁和第2頁寫要記錄的數字,在第3頁寫上他們的和。這樣不管這3頁中的哪一頁丟失,都可以透過另兩頁計算另一頁的資料來。很顯然,即使是超過3頁的情況,按上述方式設計記錄模式,也可以支援任意一頁記錄的丟失。這就是raid的資料儲存原理了。

好了,下面我們進入正題,如果一個raid陣列同時有3塊硬碟掉線了,我們應該怎麼處理才能避免資料丟失呢?下面是北亞資料恢復中心伺服器資料恢復工程師恢復的一個raid6陣列資料恢復的真實案例:

出現故障需要進行資料恢復的是一組6塊750G磁碟的 RAID6磁碟陣列,伺服器在正常的執行過程中先後有兩塊磁碟離線,但維護人員在此情況下依然沒有更換磁碟,所以在第三塊硬碟離線後raid陣列就理所當然的崩潰了,伺服器癱瘓了,業務也因此停滯。想要更換硬碟重新組建陣列是沒有問題,但是這組陣列中的所有資料將全部丟失,有由此帶來的損失將是巨大的。
伺服器管理員對資料進行了分析和恢復後找回了一部分的資料,但是仍有大部分資料丟失無法恢復,於是客戶聯絡到了北京北亞資料恢復中心進行資料恢復操作。客戶的伺服器是一臺web伺服器,掛載了6塊硬碟,當時3塊硬碟處於離線狀態。執行了MySQL資料庫和一些比較雜亂的其他型別檔案。伺服器資料恢復工程師首先將伺服器內的包括正常硬碟在內的所有硬碟進行了完整映象,然後將客戶伺服器歸還,剩下的工作就是分析映象並恢復資料了。

對於伺服器出現多塊硬碟掉線的情況來說,掉線的硬碟必定有先有後,畢竟同時有3塊硬碟掉線的機率是可以忽略不計的。所以針對伺服器陣列有多塊硬碟掉線的資料恢復原理就是分析硬碟離線的先後順序,修復最後離線的硬碟故障,然後提取最後離線的硬碟資料,根據raid的儲存結構分析出一些基礎引數後重組raid即可。在本次資料恢復案例中出現的raid模式是raid陣列,raid6磁碟陣列使用的是雙校驗模式,第一個校驗是普通的oxr也就是異或運算,第二個校驗是reed-solmon演算法。通常資料恢復時採用第一種校驗方法即可回覆,但經過伺服器資料恢復工程師的分析發現陣列中前兩塊硬碟很早就已經掉線了,不具備資料恢復的條件,所以第一種校驗方式顯然已經沒有用了。第二種校驗方式又比較複雜,市面上也沒有成熟的軟體或者工具可以使用,所以客戶的管理員恢復的資料缺失程度很大,且資料庫無法使用。

不過還好北亞資料恢復中心掌握一些reed-solomon演算法的核心技術,也有過相應的資料恢復經驗,經過多名伺服器資料恢復工程師的共同分析終於獲得了客戶raid陣列中的必要引數並提取出完整的映象資料。經過客戶管理員驗證,所有資料成功恢復,資料庫可以使用,本次資料恢復圓滿成功。

重要資料要做好資料備份工作,做好病毒防護工作,發現資料丟失後一定要保護好故障硬碟。尋找資料恢復公司最好是找一些專業資料恢復公司,可以最大程度保障資料恢復的成功率。

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

相關文章