新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 磁盤陣列技術(shù)原理學(xué)習(xí)

磁盤陣列技術(shù)原理學(xué)習(xí)

作者: 時(shí)間:2011-09-12 來源:網(wǎng)絡(luò) 收藏

硬盤鏡像(RAID 1)

硬盤鏡像(RAID 1)是容錯(cuò)最傳統(tǒng)的一種形式,在工業(yè)界中相對地最被了解,它最重要的優(yōu)點(diǎn)是百分之百的數(shù)據(jù)冗余。RAID 0通過簡單地將一個(gè)盤上的所有數(shù)據(jù)拷貝到第二個(gè)盤上(或等價(jià)的存儲(chǔ)設(shè)備上)來實(shí)現(xiàn)數(shù)據(jù)冗余,這種方法雖然簡單且實(shí)現(xiàn)起來相對較容易,但它的缺點(diǎn)是要比單個(gè)無冗余硬盤貴一倍,因?yàn)楸仨氋徺I另一個(gè)硬盤用作第一個(gè)硬盤的鏡像。

  

請?zhí)砑用枋? src=



硬盤鏡像最簡單的形式,是通過把二個(gè)硬盤連結(jié)在一個(gè)控制器上來實(shí)現(xiàn)的。圖4說明了硬盤鏡像。數(shù)據(jù)寫在某一硬盤上時(shí),它同時(shí)被寫在相應(yīng)的鏡像盤上。當(dāng)一個(gè)盤驅(qū)動(dòng)器發(fā)生故障,計(jì)算器系統(tǒng)仍能正常工作,因?yàn)樗梢栽谑O碌哪菈K好盤上操作數(shù)據(jù)。
 
因?yàn)槎€(gè)盤互為鏡像,哪個(gè)盤出故障都無關(guān)緊要,二是盤在任何時(shí)間都包含相同的數(shù)據(jù),任何一個(gè)都可以當(dāng)作工作盤。在硬盤鏡像這個(gè)簡單的RAID方式中,仍能采用一些優(yōu)化速度的方法,例如平衡讀請求負(fù)荷。當(dāng)多個(gè)用戶同時(shí)請求得到數(shù)據(jù)時(shí),可以將讀數(shù)據(jù)的請示分散到二個(gè)硬盤中去,使讀負(fù)荷平均地分布在二個(gè)硬盤上。這種方法可觀地提高了讀數(shù)據(jù)的性能,因?yàn)槎€(gè)硬盤在同一時(shí)刻讀取不同的數(shù)據(jù)片。但是硬盤鏡像不能改善寫數(shù)據(jù)的性能。被“鏡像”的硬盤也可被鏡像到其它存儲(chǔ)設(shè)備上,例如可擦寫光盤驅(qū)動(dòng)器,雖然以光盤作鏡像盤沒有用硬盤的速度快,但這種方法比沒有使用鏡像盤畢竟減少了丟失數(shù)據(jù)的危險(xiǎn)性。
 
總之,鏡像系統(tǒng)容錯(cuò)性能非常好,并可以提高讀數(shù)據(jù)的速度;它的缺點(diǎn)是需要雙份硬盤,因此價(jià)格較高。

硬盤分段和數(shù)據(jù)冗余(RAID2~5)

硬盤分段改善了硬盤子系統(tǒng)的性能,因?yàn)橄蛴脖P讀寫數(shù)據(jù)的速度與硬盤子系統(tǒng)中硬盤數(shù)目成正比地增加,但它的缺點(diǎn)是硬盤子系統(tǒng)中任一硬盤的故障都會(huì)導(dǎo)致整個(gè)計(jì)算器系統(tǒng)失敗。整個(gè)分段的硬盤子系統(tǒng)部能作鏡像,如果已經(jīng)用了4個(gè)硬盤進(jìn)行分段,我們可以再增加4個(gè)分段的硬盤作為原來4個(gè)硬盤的鏡像。很明顯這是昂貴的(雖然可能比鏡像一個(gè)昂貴的大硬盤來得便宜)??梢圆挥苗R像而用其它數(shù)據(jù)冗余的方法來提供高容錯(cuò)性能??梢赃x擇一神奇偶碼模式來實(shí)現(xiàn)上述方法,可以外加一個(gè)專作奇偶校驗(yàn)用的硬盤(如在RAID 3中),或者可把奇偶校驗(yàn)數(shù)據(jù)分散分布在的全部硬盤中。分布式奇偶校驗(yàn)數(shù)據(jù)(RAID 5)的例子示于圖5中。

  

請?zhí)砑用枋? src=



不管用何種級別的RAID,總是用異或(XOR)操作來產(chǎn)生奇偶數(shù)據(jù),當(dāng)子系統(tǒng)中有一個(gè)硬盤發(fā)生故障時(shí),也是用異或操作重建數(shù)據(jù)。下列簡單分析了XOR是怎樣工作的。

硬盤 A B C 奇偶盤 (A, B, C 異或的結(jié)果)

  數(shù)據(jù) 1 0 1 0

首先記住在XOR操作中,2個(gè)數(shù)異或的結(jié)果是真(即“1”)時(shí),這二個(gè)數(shù)中有且一個(gè)數(shù)為1(另一個(gè)為0)。我們假設(shè)A, B, C中B盤故障,此時(shí)可將A, C和奇偶數(shù)據(jù)XOR起來,得到B盤失去的數(shù)據(jù)0;同樣如C盤故障,我們可將A, B盤和奇偶盤的數(shù)據(jù)XOR,得到C盤原先的數(shù)據(jù)1。

如果推廣到7個(gè)盤的硬盤子系統(tǒng):

硬盤 A B C D E F 奇偶位

  數(shù)據(jù) 0 0 0 1 0 1 0

如果丟失B盤數(shù)據(jù),我們可以XOR A, C, D, E, F和奇偶位來得到失去的B盤數(shù)據(jù)0。而XOR A, B, C, D, E, F和奇偶位可恢復(fù)D盤的數(shù)據(jù)1。

采用專用的奇偶校驗(yàn)盤(如上所述,即RAID 3),當(dāng)同時(shí)產(chǎn)生多個(gè)寫操作時(shí),每次操作都要對奇偶盤進(jìn)行寫入。這將產(chǎn)生I/O瓶頸效應(yīng)。

RAID 5把奇偶位信息分散分布在硬盤子系統(tǒng)的所有硬盤上(而不是使用專用的校驗(yàn)盤0,這就改善了上述RAID 3中的奇偶盤瓶頸效應(yīng)。圖5說明了RAID 5的一種配置,圖中奇偶信息散布在子系統(tǒng)的每個(gè)硬盤上。利用每個(gè)硬盤的一部分來組成校驗(yàn)盤,寫入硬盤的奇偶位信息將較均勻地分布在所有硬盤上。所以某個(gè)用戶可能把它的一個(gè)數(shù)據(jù)段寫在硬盤A,而將奇偶信息寫在硬盤B,第二個(gè)用戶可能把數(shù)據(jù)寫在硬盤C,而奇偶信息寫在硬盤D。從這里也可看出RAID 5的性能會(huì)得到提高。

這種方法將提高硬盤子系統(tǒng)的事務(wù)處理速度。所謂事務(wù)處理,是指處理從許多不同用戶來的多個(gè)硬盤I/O操作,由于可能同時(shí)有很多用戶與硬盤打交道,迅速向硬盤寫入數(shù)據(jù),有時(shí)幾乎是同時(shí)進(jìn)行的,這種情況下,用分布式奇偶盤的方式比起用專用奇偶盤,瓶頸效應(yīng)發(fā)生的可能性要小。

對硬盤操作來說,RAID 5的寫性能比不上直接硬盤分段(指沒有校驗(yàn)信息的RAID 0)。因?yàn)楫a(chǎn)生或存儲(chǔ)奇偶碼需要一些額外操作。例如,在修改一個(gè)硬盤上的數(shù)據(jù)時(shí),其它盤上對應(yīng)段的數(shù)據(jù)(即使是無關(guān)的數(shù)據(jù))也要讀入主機(jī),以便產(chǎn)生必要的奇偶信息。奇偶段產(chǎn)生后(這要花一些時(shí)間),我們要將更新的數(shù)據(jù)段和奇偶段寫入硬盤,這通常稱為讀-修改-寫策略。因此,雖然RAID 5比RAID 0優(yōu)越,但就寫性能來說,RAID 5不如RAID 0。

鏡像(RAID 1)和數(shù)據(jù)奇偶位分段(RAID 5)用于上述的硬盤子系統(tǒng)中時(shí),都產(chǎn)生冗余信息。但在RAID 1中,所有數(shù)據(jù)都被復(fù)制到第二個(gè)相同的硬盤上。在RAID 5,數(shù)據(jù)的XOR碼而不是數(shù)據(jù)本身被復(fù)制,因此可以用數(shù)據(jù)的非常緊湊的表現(xiàn)方式,來恢復(fù)由于某一硬盤故障而丟失的數(shù)據(jù)。

采用RAID 5時(shí),對于5個(gè)硬盤的數(shù)組,有大約20%的硬盤空間用于存放奇偶碼,而十個(gè)硬盤的數(shù)組只有約10%的空間存放奇偶碼。在可用空間總的格式化空間的意義上來說,硬盤系統(tǒng)中的硬盤越多該系統(tǒng)就越省錢。

總之,RAID 5把硬盤分段和奇偶冗余的優(yōu)點(diǎn)結(jié)合在一起,這樣的硬盤子系統(tǒng)特別適合于事務(wù)處理環(huán)境,例如民航售票處,汽車出租站,銷售系統(tǒng)的終端,等等。在某些場合,可優(yōu)先考慮RAID 1(在那些寫數(shù)據(jù)比讀數(shù)據(jù)更頻繁的情況)。但許多情況,RAID 5提供了將高性能,低價(jià)格和數(shù)據(jù)安全性綜合在一起的解決辦法。

RAID Level 10

  

請?zhí)砑用枋? src=



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉