服務器數據恢復工程師講解raid陣列掉了3塊盤怎麼處理


在所有正式內容開始之前先問一個問題,什麼是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陣列中的必要參數並提取出完整的鏡像數據。經過客戶管理員驗證,所有數據成功恢復,數據庫可以使用,本次數據恢復圓滿成功。
重要數據要做好數據備份工作,做好病毒防護工作,發現數據丟失後一定要保護好故障硬盤。尋找數據恢復公司最好是找一些專業數據恢復公司,可以最大程度保障數據恢復的成功率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章