工作原理
RAID5和RAID4一樣,數據以塊為單位分布到各個硬盤上。RAID 5不對數據進行備份,而是把數據和與其相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分别存儲于不同的磁盤上。當RAID5的一個磁盤數據損壞後,利用剩下的數據和相應的奇偶校驗信息去恢複被損壞的數據。
校驗
RAID5校驗位算法原理
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為數據塊,P為校驗,xor為異或運算)
XOR(Exclusive OR)的校驗原理如下表:
這裡的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 沒有獨立的奇偶校驗盤,所有校驗信息分散放在所有磁盤上, 隻占用一個磁盤的容量。
創建
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卷所包含的各個磁盤卷将顯示“狀态良好”的狀态信息。
RAID 5故障分析
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邏輯盤中的數據。