服務器數據恢復工程師講解raid存儲結構原理

在全部正式內容開始以前先問一個問題,什麼是raid?raid的概念描述在互聯網上比比皆是,都未免太過專業了。我想用最簡單的原理描述,就是在定義存儲方式時容許在一部分數據缺失的狀況下不影響所有數據,相似於通信領域的糾錯碼。不一樣的冗餘模式造成了不一樣的RAID類別。咱們須要先描述僅具有一個磁盤冗餘的RAID模型(思想同RAID3,RAID4,RAID5)。假設如今有3頁空白的紙,用來記錄一些數字,爲了更清晰地記錄,咱們先將每頁白紙劃出相同大小的一些表格。再假設有一個可能:這3頁紙,特定狀況下會有其中某一頁丟失。爲了在上述設定狀況保證這些數字能完整安全的記錄下來,咱們要設計一些互相牽連的冗餘關係。如咱們要記錄的數字序列是:三、1四、2八、四、9八、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陣列中的必要參數並提取出完整的鏡像數據。通過客戶管理員驗證,全部數據成功恢復,數據庫可使用,本次數據恢復圓滿成功。
重要數據要作好數據備份工做,作好病毒防禦工做,發現數據丟失後必定要保護好故障硬盤。尋找數據恢復公司最好是找一些專業數據恢復公司,能夠最大程度保障數據恢復的成功率。web

相關文章
相關標籤/搜索