RAID5數據恢復技術

RAID5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案,被廣泛套用於較重要數據存貯。

當只有一塊磁碟損壞時,RAID5 磁碟陣列能通過其它正常運行的磁碟進行異或運算換算出故障磁碟的數據信息,從而保證磁碟陣列存貯信息的完整。通過研究RAID5 結構和數據重組的規律,發現兩個以上磁碟同時出現故障或RAID 卡失效,也可以恢復故障磁碟陣列的數據。

RAID結構,校驗位算法,數據重組,

RAID結構

RAID5 陣列中的數據是分布到每塊硬碟上,RAID5中每個條帶組中總有一個條帶是校驗塊[2]。根據RAID5 校驗位算法原理,校驗位P0=A XOR B XOR C,如果硬碟C失效,也就是C 數據塊的數據丟失,則通過A,B,P0 它們之間的異或運算重新計算出來,即C=A XOR B XOR P0。同理通過異或運算算出P1、H、K 等等硬碟2 的所有存貯信息。因此RAID5 磁碟陣列在一塊驅動器失效的情況下,仍能保證數據完整和工作正常。如果有兩塊或兩塊以上硬碟同時離線,將會出現RAID控制器物理故障、RAID信息出錯、RAID5成員盤物理故障、人為誤操作、RAID 控制器的穩定性變化等故障,陣列便會失效,造成磁碟陣列結構的毀壞,盤序的混亂,處理不當將會丟失數據。這時如果要恢復RAID5 故障磁碟陣列中數據就需要對陣列中的磁碟數據進行重組。

校驗位算法

RAID5將校驗信息均分布到所有盤上, 不再單獨存放在一個盤上,構成陣列的磁碟不再有校驗盤與數據盤之分。這種方式很好地保證了陣列的負載平衡, 因此具有很好的集合數據傳輸率。RAID5結構同樣支持多盤的並發讀寫。RAID 5 也具有良好的容災性能, 在單盤發生故障的情況下, 可以根據校驗數據計算故障盤上的相關數據, 更換磁碟後重新進行數據重建。但同時性能也會受到一定影響。
RAID5校驗位算法原理為:假設RAID-5 由以塊磁碟組成,那么校驗位P=D1 XOR D2 XOR D3…XOR Dn(D1,D2,D3…Dn 為數據塊,P為校驗塊,XOR為異或運算),如果i 號磁碟失效,也就是Di 數據塊的數據丟失,則通過D1,D2,D3…P,Dn 它們之間的異或運算重新計算出來,即Di=D1 XORD2 XOR D3…XOR P XOR Dn 一1。該原理論證了一個驅動器失效狀態下,RAID5 磁碟陣列的數據是可以恢復的。為了挽救數據,對RAID5 的結構和數據重組原理進行了深入研究,發現以扇區為單位來描述磁碟數據時,同一扇區的錯誤小於或等於1,該扇區的完整信息可以通過數據重組和異或運算得以恢復。

數據重組

對RAID5 的數據進行重組,需將硬碟從磁碟陣列插槽中分別取出來,作為單盤進行分析RAID5 需要四個因素才能進行數據重組,第一個是RAID 中每個條帶的大小,;第二個因素是RAID 中硬碟的排列順序,也就是盤序;第三個因素是校驗塊的循環方向;第四個因素是數據塊的走向。左循環中,校驗塊的排列形狀是從右上角開始的對角線;右循環中,校驗塊的排列形狀是從左上角開始的對角線。可以先完成校驗塊的排列,再完成數據塊的排列。異步的數據塊寫入方式為從左至右,從上至下排列。同步的數據塊寫入方式為先判斷校驗塊的位置,然後寫滿校驗塊右邊的磁碟,從低號盤至高號盤寫入,最後寫滿校驗塊左邊的磁碟,仍然從低號盤至高號盤寫入。具體來說可以分為左異步、左同步、右異步、右同步四種情況。RAID5 結構當中的四個因素確定後,理論上我們就能夠獲取RAID 當中的數據。

相關詞條

熱門詞條

聯絡我們