在各個raid級別中,使用最普遍的是raid0,raid1,raid10,raid5
RAID-0,將數據分紅條帶順序寫入一組磁盤中。RAID-0 不提供冗餘功能,可是它卻提供了卓越的吞吐性能,由於讀寫數據是在一組磁盤中的每一個磁盤上同時處理的,吞吐性能遠遠超過單個磁盤的讀寫。
RAID-1,每次寫操做都將分別寫兩份到數據盤和校驗盤上,每對數據盤和校驗盤成爲鏡像磁盤組。也可以使用併發的方式來讀數據時,提升吞吐性能。若是鏡像磁盤組中某個磁盤出錯,則數據能夠從另一塊磁盤得到,而不會影響系統的性能,而後,使用一塊備用磁盤將健康磁盤中的數據複製出來而後這兩塊磁盤又組成新的鏡像組。
RAID1/0,即RAID1 與RAID0 的結合,既作鏡像又作條帶化,數據先鏡像再作條帶化。這樣數據存儲既保證了可靠性,又極大地提升了吞吐性能。
RAID-0/1 也是RAID0 與RAID1 的結合,但它是對條帶化後的數據進行鏡像。但與
RAID10 不一樣,一個磁盤的丟失等同於整個鏡像條帶的丟失,因此一旦鏡像盤失敗,則存儲系統成爲一個RAID-0 系統(即只有條帶化)。
RAID-5 是將數據校驗循環分散到各個磁盤中,它像RAID-0 同樣將數據條帶化分散寫到一組磁盤中,但同時它生成校驗數據作爲冗餘和容錯使用。校驗磁盤包含了全部條帶的數據的校驗信息。RAID-5 將校驗信息輪流地寫入條帶磁盤組的各個磁盤中,即每一個磁盤上既有數據信息又同時有校驗信息,RAID-5 的性能得益於數據的條帶化,可是某個磁盤的失敗卻將引發整個系統的降低,這是由於系統將在承擔讀寫任務的同時,從新構建和計算出失敗磁盤上的數據,此時要使用備用磁盤對失敗磁盤的數據重建恢復整個系統的健康。
從一個普通應用來說,要求存儲系統具備良好的IO性能同時也要求對數據安全作好保護工做,因此raid10和raid5應該成爲咱們重點關注的對象。
下面從IO性能,數據重構及對系統性能的影響,數據安全保護等方面,結合磁盤現狀來分析兩種技術的差別。
IO的性能:讀操做上raid10和raid5是至關的,RAID-5 在一些很小數據的寫操做(如比每一個條帶還小的小數據)須要2 個讀、2 個寫,還有2 個XOR 操做,對於單個用戶的寫操做,在新數據應用以前必須將老的數據從校驗盤中移除,整個的執行過程是這樣:讀出舊數據,舊數據與新數據作XOR,並建立一個即時的值,讀出舊數據的校驗信息,將即時值與校驗數據進行XOR,最後寫下新的校驗信息。爲了減小對系統的影響,大多數的RAID5 都讀出並將整個條帶(包括校驗條帶)寫入緩存,執行2 個XOR 操做,而後發出並行寫操做(一般對整個條帶),即使了進行了上述優化,系統仍然須要爲這種寫操做進行額外的讀和XOR操做。小量寫操做困難使得RAID-5 技術不多應用於密集寫操做的場合,如回滾字段及重作日誌。固然,也能夠將存儲系統的條帶大小定義爲常常讀寫動做的數據大小,使之匹配,但這樣會限制系統的靈活性,也不適用於企業中其它的應用。
對於raid10,因爲不存在數據校驗,每次寫操做只是單純的執行寫操做。應此在寫性能上raid10要好於raid5。
數據重構:
對於raid10,當一塊磁盤失效時,進行數據重構的操做只是複製一個新磁盤,若是假定磁盤的容量爲250G,那麼複製的數據量爲250G。
對於raid5的存儲陣列,則須要從每塊磁盤中讀取數據,通過從新計算獲得一塊硬盤的數據量,若是raid5是以4+1的方式組建,每塊磁盤的容量也爲250G,那麼,須要在剩餘的4個磁盤中讀出總共是1000G的數據量計算得出250G的數據。
從這點來看,raid5在數據重構上的工做負荷和花費的時間應該遠大於raid10,負荷變大將影響重構期間的性能,時間長意味再次出現數據損壞的可能性變大。
數據安全保護:
raid10系統在已有一塊磁盤失效的狀況下,只有出現該失效盤的對應鏡像盤也失效,纔會致使數據丟失。其餘的磁盤失效不會出現數據丟失狀況。
Raid5系統在已有一塊磁盤失效的狀況下,只要再出現任意的一塊磁盤失效,都將致使數據丟失。
從綜合來看,raid10和raid5系統在出現一塊磁盤失效後,進行數據重構時,raid5需耗費的時間要比raid10長,同時重構期間系統負荷上raid5要比raid10高,同時raid5出現數據丟失的可能性要比raid10高,所以,數據重構期間,raid5系統的可靠性遠比raid10來的低。
Raid5在磁盤空間率用率上比raid10高,raid5的空間利用率是(N-1)/ N
(N爲陣列的磁盤數目),而raid10的磁盤空間利用率僅爲50%。
可是結合磁盤來考慮,今天的硬盤廠商所生產的ATA或SATA硬盤的質量已經能夠承擔企業級的應用,而且,容量的增長幅度至關大,目前已經能夠實現單個磁盤400G的存儲容量。SCSI硬盤因爲要求高轉速而使用小直徑盤片,容量的增長相對緩慢。ATA磁盤相對SCSI磁盤擁有成本也要小不少。
應此,在採用價格昂貴的FC或SCSI硬盤的存儲系統中,對於預算有限同時數據安全性要求不高的場合能夠採用RAID5方式來折中;其餘應用中採用大容量的ATA或SATA硬盤結合raid10,既下降了raid10的爲得到必定的存儲空間必須採用雙倍磁盤空間的擁有成本,又避免了raid5相對raid10的各類缺點。
在企業應用中,raid10結合SATA磁盤意味着一個更好的選擇。