天天看點

存儲基礎知識(四):RAID技術(下)

來源:甯夏班圖

各種RAID級别比較

在各個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磁盤意味着一個更好的選擇。

下一篇: raid 技術

繼續閱讀