工作原理
RAID5和RAID4一樣,數據以塊為單位分布到各個硬碟上。RAID5不對數據進行備份,而是把數據和與其相對應的奇偶校驗信息存儲到組成RAID5的各個磁碟上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁碟上。當RAID5的一個磁碟數據損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
校驗
RAID5校驗位算法原理
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為數據塊,P為校驗,xor為異或運算)
XOR(Exclusive OR)的校驗原理如下表:
A值 | B值 | Xor結果 |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
這裡的A與B值就代表了兩個位,從中可以發現,A與B一樣時,XOR結果為0,A與B不一樣時,XOR結果就是1,而且知道XOR結果和A與B中的任何一個數值,就可以反推出另一個數值。比如A為1,XOR結果為1,那么B肯定為0,如果XOR結果為0,那么B肯定為1。這就是XOR編碼與校驗的基本原理。
讀寫
用簡單的語言來表示,至少使用3塊硬碟(也可以更多)組建RAID5磁碟陣列,當有數據寫入硬碟的時候,按照1塊硬碟的方式就是直接寫入這塊硬碟的磁軌,如果是RAID5的話這次數據寫入會分根據算法分成3部分,然後寫入這3塊硬碟,寫入的同時還會在這3塊硬碟上寫入校驗信息,當讀取寫入的數據的時候會分別從3塊硬碟上讀取數據內容,再通過檢驗信息進行校驗。當其中有1塊硬碟出現損壞的時候,就從另外2塊硬碟上存儲的數據可以計算出第3塊硬碟的數據內容。也就是說raid5這種存儲方式只允許有一塊硬碟出現故障,出現故障時需要儘快更換。當更換故障硬碟後,在故障期間寫入的數據會進行重新校驗。 如果在未解決故障又壞1塊,那就是災難性的了。
存儲
RAID5把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁碟上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁碟上,其中任意N-1塊磁碟上都存儲完整的數據,也就是說有相當於一塊磁碟容量的空間用於存儲奇偶校驗信息。因此當RAID5的一個磁碟發生損壞後,不會影響數據的完整性,從而保證了數據安全。當損壞的磁碟被替換後,RAID還會自動利用剩下奇偶校驗信息去重建此磁碟上的數據,來保持RAID5的高可靠性。
(做raid 5陣列所有磁碟容量必須一樣大,當容量不同時,會以最小的容量為準。 最好硬碟轉速一樣,否則會影響性能,而且可用空間=磁碟數n-1,其中有一塊是專門用來校驗的,在存儲數據的時候,校驗盤裡面是不會被存入數據的)(Raid 5 沒有獨立的奇偶校驗盤,所有校驗信息分散放在所有磁碟上,只是在存儲空間上為N-1)
創建
Windows Server 2003中創建RAID 5
在Windows Server 2003系統中創建RAID-5卷的方法:
第1步,打開“計算機管理”視窗,選中“磁碟管理”目錄。在右窗格中用滑鼠右鍵單擊準備創建RAID-5卷的動態磁碟,在彈出的快捷選單中選擇“新建卷”命令。
第2步,在嚮導歡迎頁中單擊“下一步”按鈕,打開“選擇卷類型”對話框。在“選擇要創建的卷”區域中選中RAID-5單選框,並單擊“下一步”按鈕。
第3步,在“選擇磁碟”對話框中,將“可用”磁碟列表中的所有磁碟通過“添加”按鈕添加到“已選的”磁碟列表中(在“已選的”磁碟列表中至少要有三塊磁碟),其他參數保持默認值。單擊“下一步”按鈕。
第4步,打開“指派驅動器號和路徑”對話框,選中“指派以下驅動器號”單選框。單擊右側的下拉三角按鈕,為該RAID-5卷指派驅動器號,以便於訪問和管理。單擊“下一步”按鈕。
第5步,在“卷區格式化”對話框中保持“按下列設定格式化這個卷”單選框為選中狀態,“檔案系統”和“分配單位大小”選項均採用默認值。在“卷標”編輯框中輸入一個卷標用於和其他卷進行區別,並選中“快速格式化”複選框。單擊“下一步”按鈕。
第6步,“正在完成新建卷嚮導”對話框的“用戶已選擇下列設定”列表中顯示了以上所有的設定。如果沒有問題,則單擊“完成”按鈕,系統開始創建RAID-5卷並對其進行格式化操作以及進行數據同步操作。同步操作所需的時間視卷的容量和系統性能而定,所實現的RAID-5卷會以特殊顏色標識出來。
完成格式化操作並進行數據同步後,RAID-5卷所包含的各個磁碟卷將顯示“狀態良好”的狀態信息。
RAID5故障分析
RAID-5故障原因分析這裡說的RAID-5故障,是指RAID-5邏輯盤丟失或不可訪問。導致RAID-5故障的原因主要有以下幾種:
(1)RAID控制器出現物理故障
RAID控制器如果出現物理故障,將不能被計算機識別,也就無法完成對RAID-5中各個物理成員盤的控制,在這種情況下,通過RAID控制器虛擬出來的邏輯盤自然就不存在了。
(2)RAID信息出錯
RAID控制器將物理盤配置為RAID-5後,會生成一些參數,包括該RAID-5的盤序、條帶大小、左右結構情況、同步異步情況、RAID-5在每塊物理盤中的起始地址等,還會記錄有關該RAID-5的相關信息,包括組成該RAID-5的物理盤數目、物理盤的容量大小等,所有這些信息和參數就被稱為RAID信息,也稱為RAID元數據,它們會被保存到RAID控制器中,有時候也會保存到RAID-5的成員盤中。RAID信息出錯就是指該RAID-5的配置信息和參數出現錯誤,導致RAID程式不能正確地組織管理RAID-5中的成員盤,從而導致RAID-5邏輯盤丟失或不能訪問。
(3)RAID-5成員盤出現物理故障
RAID-5可以允許其中一塊成員盤離線而不影響數據的完整性,如果RAID-5中的某一塊成員盤出現物理故障,比如電路損壞、磁頭損壞、固件損壞、出現壞扇區等,該成員盤就不能正常使用,但剩下的成員盤可以利用異或運算計算出離線成員盤中的數據,所以RAID-5還不會崩潰。如果系統管理員沒有及時替換出現故障的成員盤,當再有一塊成員盤再出現故障離線後,RAID-5將徹底崩潰。
(4)人為誤操作
如果誤將RAID-5中兩塊以上成員盤同時拔出、或者給RAID-5除塵時將成員盤拔出後忘了原來的順序、以及不小心刪除了RAID-5的配置信息等,都會造成RAID-5崩潰。
(5)RAID控制器的穩定性
RAID-5的數據分布結構中有校驗塊的存在,當RAID-5中有成員盤離線時,算法將變得更加複雜,RAID控制器將會工作在一個比較吃力的狀態。而RAID控制器的負載太重便會極大地增加數據讀寫時出現I/O滯留的可能性,從而導致更多成員盤離線,或者導致RAID信息出錯。
RAID5數據恢復
RAID-5數據恢復思路RAID-5陣列中數據的分布與RAID-0類似,數據也是分布到每塊硬碟上,與RAID-0不同的是,RAID-5中每個條帶組中總有一個條帶是校驗塊。
RAID-5能夠支持在一塊盤離線的情況下保證數據的正常訪問,如果有兩塊或兩塊以上硬碟同時離線,或者RAID信息出錯等原因,陣列便會失效,這時就需要對數據進行重組。對RAID-5的數據進行重組,也需要先把物理盤區RAID化,作為單盤進行分析,如圖中的四塊物理盤,把四塊物理盤中的數據按照“A、B、C、D、E、F、G、H……”的順序拼接好,就是RAID-5邏輯盤中完整的數據。
因為RAID-5的每塊物理盤中都有校驗信息,所以分析RAID-5就需要比RAID-0多一個因素,即校驗塊的位置和方向,另外,RAID-5中數據塊的走向也會不一樣,分為異步和同步,也就是說,RAID-5有四個因素很重要,第一個是RAID中每個條帶的大小,也就是“A”或“B”。
這些數據塊所占用的扇區數;第二個因素是RAID中硬碟的排列順序,也就是盤序;第三個因素是校驗塊的循環方向;第四個因素是數據塊的走向。
根據RAID5的這些屬性結構,把所有取出來的數據按照順序銜接成一個鏡像檔案或者是鏡像盤,這就成為完整的原RAID-5邏輯盤的結構了,直接訪問這個重組出來的鏡像檔案或鏡像盤,就得到了原RAID-5邏輯盤中的數據。