磁盤(pán)陣列技術(shù)原理學(xué)習
硬盤(pán)鏡像(RAID 1)
硬盤(pán)鏡像(RAID 1)是容錯磁盤(pán)陣列技術(shù)最傳統的一種形式,在工業(yè)界中相對地最被了解,它最重要的優(yōu)點(diǎn)是百分之百的數據冗余。RAID 0通過(guò)簡(jiǎn)單地將一個(gè)盤(pán)上的所有數據拷貝到第二個(gè)盤(pán)上(或等價(jià)的存儲設備上)來(lái)實(shí)現數據冗余,這種方法雖然簡(jiǎn)單且實(shí)現起來(lái)相對較容易,但它的缺點(diǎn)是要比單個(gè)無(wú)冗余硬盤(pán)貴一倍,因為必須購買(mǎi)另一個(gè)硬盤(pán)用作第一個(gè)硬盤(pán)的鏡像。

硬盤(pán)鏡像最簡(jiǎn)單的形式,是通過(guò)把二個(gè)硬盤(pán)連結在一個(gè)控制器上來(lái)實(shí)現的。圖4說(shuō)明了硬盤(pán)鏡像。數據寫(xiě)在某一硬盤(pán)上時(shí),它同時(shí)被寫(xiě)在相應的鏡像盤(pán)上。當一個(gè)盤(pán)驅動(dòng)器發(fā)生故障,計算器系統仍能正常工作,因為它可以在剩下的那塊好盤(pán)上操作數據。
因為二個(gè)盤(pán)互為鏡像,哪個(gè)盤(pán)出故障都無(wú)關(guān)緊要,二是盤(pán)在任何時(shí)間都包含相同的數據,任何一個(gè)都可以當作工作盤(pán)。在硬盤(pán)鏡像這個(gè)簡(jiǎn)單的RAID方式中,仍能采用一些優(yōu)化速度的方法,例如平衡讀請求負荷。當多個(gè)用戶(hù)同時(shí)請求得到數據時(shí),可以將讀數據的請示分散到二個(gè)硬盤(pán)中去,使讀負荷平均地分布在二個(gè)硬盤(pán)上。這種方法可觀(guān)地提高了讀數據的性能,因為二個(gè)硬盤(pán)在同一時(shí)刻讀取不同的數據片。但是硬盤(pán)鏡像不能改善寫(xiě)數據的性能。被“鏡像”的硬盤(pán)也可被鏡像到其它存儲設備上,例如可擦寫(xiě)光盤(pán)驅動(dòng)器,雖然以光盤(pán)作鏡像盤(pán)沒(méi)有用硬盤(pán)的速度快,但這種方法比沒(méi)有使用鏡像盤(pán)畢竟減少了丟失數據的危險性。
總之,鏡像系統容錯性能非常好,并可以提高讀數據的速度;它的缺點(diǎn)是需要雙份硬盤(pán),因此價(jià)格較高。
硬盤(pán)分段和數據冗余(RAID2~5)
硬盤(pán)分段改善了硬盤(pán)子系統的性能,因為向硬盤(pán)讀寫(xiě)數據的速度與硬盤(pán)子系統中硬盤(pán)數目成正比地增加,但它的缺點(diǎn)是硬盤(pán)子系統中任一硬盤(pán)的故障都會(huì )導致整個(gè)計算器系統失敗。整個(gè)分段的硬盤(pán)子系統部能作鏡像,如果已經(jīng)用了4個(gè)硬盤(pán)進(jìn)行分段,我們可以再增加4個(gè)分段的硬盤(pán)作為原來(lái)4個(gè)硬盤(pán)的鏡像。很明顯這是昂貴的(雖然可能比鏡像一個(gè)昂貴的大硬盤(pán)來(lái)得便宜)??梢圆挥苗R像而用其它數據冗余的方法來(lái)提供高容錯性能??梢赃x擇一神奇偶碼模式來(lái)實(shí)現上述方法,可以外加一個(gè)專(zhuān)作奇偶校驗用的硬盤(pán)(如在RAID 3中),或者可把奇偶校驗數據分散分布在磁盤(pán)陣列的全部硬盤(pán)中。分布式奇偶校驗數據(RAID 5)的例子示于圖5中。

不管用何種級別的RAID,磁盤(pán)陣列總是用異或(XOR)操作來(lái)產(chǎn)生奇偶數據,當子系統中有一個(gè)硬盤(pán)發(fā)生故障時(shí),也是用異或操作重建數據。下列簡(jiǎn)單分析了XOR是怎樣工作的。
硬盤(pán) A B C 奇偶盤(pán) (A, B, C 異或的結果)
數據 1 0 1 0
首先記住在XOR操作中,2個(gè)數異或的結果是真(即“1”)時(shí),這二個(gè)數中有且一個(gè)數為1(另一個(gè)為0)。我們假設A, B, C中B盤(pán)故障,此時(shí)可將A, C和奇偶數據XOR起來(lái),得到B盤(pán)失去的數據0;同樣如C盤(pán)故障,我們可將A, B盤(pán)和奇偶盤(pán)的數據XOR,得到C盤(pán)原先的數據1。
如果推廣到7個(gè)盤(pán)的硬盤(pán)子系統:
硬盤(pán) A B C D E F 奇偶位
數據 0 0 0 1 0 1 0
如果丟失B盤(pán)數據,我們可以XOR A, C, D, E, F和奇偶位來(lái)得到失去的B盤(pán)數據0。而XOR A, B, C, D, E, F和奇偶位可恢復D盤(pán)的數據1。
采用專(zhuān)用的奇偶校驗盤(pán)(如上所述,即RAID 3),當同時(shí)產(chǎn)生多個(gè)寫(xiě)操作時(shí),每次操作都要對奇偶盤(pán)進(jìn)行寫(xiě)入。這將產(chǎn)生I/O瓶頸效應。
RAID 5把奇偶位信息分散分布在硬盤(pán)子系統的所有硬盤(pán)上(而不是使用專(zhuān)用的校驗盤(pán)0,這就改善了上述RAID 3中的奇偶盤(pán)瓶頸效應。圖5說(shuō)明了RAID 5的一種配置,圖中奇偶信息散布在子系統的每個(gè)硬盤(pán)上。利用每個(gè)硬盤(pán)的一部分來(lái)組成校驗盤(pán),寫(xiě)入硬盤(pán)的奇偶位信息將較均勻地分布在所有硬盤(pán)上。所以某個(gè)用戶(hù)可能把它的一個(gè)數據段寫(xiě)在硬盤(pán)A,而將奇偶信息寫(xiě)在硬盤(pán)B,第二個(gè)用戶(hù)可能把數據寫(xiě)在硬盤(pán)C,而奇偶信息寫(xiě)在硬盤(pán)D。從這里也可看出RAID 5的性能會(huì )得到提高。
這種方法將提高硬盤(pán)子系統的事務(wù)處理速度。所謂事務(wù)處理,是指處理從許多不同用戶(hù)來(lái)的多個(gè)硬盤(pán)I/O操作,由于可能同時(shí)有很多用戶(hù)與硬盤(pán)打交道,迅速向硬盤(pán)寫(xiě)入數據,有時(shí)幾乎是同時(shí)進(jìn)行的,這種情況下,用分布式奇偶盤(pán)的方式比起用專(zhuān)用奇偶盤(pán),瓶頸效應發(fā)生的可能性要小。
對硬盤(pán)操作來(lái)說(shuō),RAID 5的寫(xiě)性能比不上直接硬盤(pán)分段(指沒(méi)有校驗信息的RAID 0)。因為產(chǎn)生或存儲奇偶碼需要一些額外操作。例如,在修改一個(gè)硬盤(pán)上的數據時(shí),其它盤(pán)上對應段的數據(即使是無(wú)關(guān)的數據)也要讀入主機,以便產(chǎn)生必要的奇偶信息。奇偶段產(chǎn)生后(這要花一些時(shí)間),我們要將更新的數據段和奇偶段寫(xiě)入硬盤(pán),這通常稱(chēng)為讀-修改-寫(xiě)策略。因此,雖然RAID 5比RAID 0優(yōu)越,但就寫(xiě)性能來(lái)說(shuō),RAID 5不如RAID 0。
鏡像技術(shù)(RAID 1)和數據奇偶位分段(RAID 5)用于上述的硬盤(pán)子系統中時(shí),都產(chǎn)生冗余信息。但在RAID 1中,所有數據都被復制到第二個(gè)相同的硬盤(pán)上。在RAID 5,數據的XOR碼而不是數據本身被復制,因此可以用數據的非常緊湊的表現方式,來(lái)恢復由于某一硬盤(pán)故障而丟失的數據。
采用RAID 5時(shí),對于5個(gè)硬盤(pán)的數組,有大約20%的硬盤(pán)空間用于存放奇偶碼,而十個(gè)硬盤(pán)的數組只有約10%的空間存放奇偶碼。在可用空間總的格式化空間的意義上來(lái)說(shuō),硬盤(pán)系統中的硬盤(pán)越多該系統就越省錢(qián)。
總之,RAID 5把硬盤(pán)分段和奇偶冗余技術(shù)的優(yōu)點(diǎn)結合在一起,這樣的硬盤(pán)子系統特別適合于事務(wù)處理環(huán)境,例如民航售票處,汽車(chē)出租站,銷(xiāo)售系統的終端,等等。在某些場(chǎng)合,可優(yōu)先考慮RAID 1(在那些寫(xiě)數據比讀數據更頻繁的情況)。但許多情況,RAID 5提供了將高性能,低價(jià)格和數據安全性綜合在一起的解決辦法。
RAID Level 10

評論