RAID 5
為系統提供數據安全保障的磁碟
RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。RAID5可以理解為是RAID0和RAID1的折衷方案。RAID5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁碟空間利用率要比Mirror高。RAID5具有和RAID0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁碟進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID5的磁碟空間利用率要比RAID1高,存儲成本相對較低,是運用較多的一種解決方案。
RAID5和RAID4一樣,數據以塊為單位分佈到各個硬碟上。RAID5不對數據進行備份,而是把數據和與其相對應的奇偶校驗信息存儲到組成RAID5的各個磁碟上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁碟上。當RAID5的一個磁碟數據損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID5校驗位演演算法原理
P=D1xorD2xorD3…xorDn(D1,D2,D3…Dn為數據塊,P為校驗,xor為異或運算)
XOR(ExclusiveOR)的校驗原理如下表:
A值 | B值 | Xor結果 |
1 | 1 | |
1 | 1 | |
1 | 1 |
這裡的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的高可靠性。
做raid5陣列所有磁碟容量必須一樣大,當容量不同時,會以最小的容量為準。最好硬碟轉速一樣,否則會影響性能,而且可用空間=磁碟數n-1,Raid5沒有獨立的奇偶校驗盤,所有校驗信息分散放在所有磁碟上,只佔用一個磁碟的容量。
Windows Server2003中創建RAID5
在Windows Server2003系統中創建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故障的原因主要有以下幾種:
(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信息出錯。
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”。
根據RAID5的這些屬性結構,把所有取出來的數據按照順序銜接成一個鏡像文件或者是鏡像盤,這就成為完整的原RAID-5邏輯盤的結構了,直接訪問這個重組出來的鏡像文件或鏡像盤,就得到了原RAID-5邏輯盤中的數據。