EAB

EAB,全稱是EmbeddedArrayBlock,即嵌入式陣列塊。RAID可分為級別0到級別6,通常稱為:RAID0,RAID1,RAID2,RAID3,raid4,RAID5,RAID6。

EmbeddedArrayBlock

EmbeddedArrayBlock--嵌入式陣列塊

一、功能

嵌入式系統,linux,存儲

1對磁碟高速存取(提速):RAID將普通硬碟組成一個磁碟陣列,在主機寫入數據,RAID控制器把主機要寫入的數據分解為多個數據塊,然後並行寫入磁碟陣列;主機讀取數據時,RAID控制器並行讀取分散在磁碟陣列中各個硬碟上的數據,把它們重新組合後提供給主機。由於採用並行讀寫操作,從而提高了存儲系統的存取系統的存取速度。
2擴容

3數據冗餘

二、分類

RAID可分為級別0到級別6,通常稱為:RAID0,RAID1,RAID2,RAID3,raid4,RAID5,RAID6。

RAID0:RAID0並不是真正的RAID結構,沒有數據冗餘,RAID0連續地分割數據並並行地讀/寫於多個磁碟上。因此具有很高的數據傳輸率,但RAID0在提高性能的同時,並沒有提供數據可靠性,如果一個磁碟失效,將影響整個數據。因此RAID0不可套用於需要數據高可用性的關鍵套用。

RAID1:RAID1通過數據鏡像實現數據冗餘,在兩對分離的磁碟上產生互為備份的數據。RAID1可以提高讀的性能,當原始數據繁忙時,可直接從鏡像中讀取數據。RAID1是磁碟陣列中費用最高的,但提供了最高的數據可用率。當一個磁碟失效,系統可以自動地交換到鏡像磁碟上,而不需要重組失效的數據。

RAID2:從概念上講,RAID2同RAID3類似,兩者都是將數據條塊化分布於不同的硬碟上,條塊單位為位或位元組。然而RAID2使用稱為“加重平均糾錯碼”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁碟存放檢查及恢覆信息,使得RAID2技術實施更複雜。因此,在商業環境中很少使用。

RAID3:不同於RAID2,RAID3使用單塊磁碟存放奇偶校驗信息。如果一塊磁碟失效,奇偶盤及其他數據盤可以重新產生數據。如果奇偶盤失效,則不影響數據使用。RAID3對於大量的連續數據可提供很好的傳輸率,但對於隨機數據,奇偶盤會成為寫操作的瓶頸。

RAID4:同RAID2和RAID3一樣,RAID4和RAID5也同樣將數據條塊化並分布於不同的磁碟上,但條塊單位為塊或記錄。RAID4使用一塊磁碟作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,成為寫操作的瓶頸。在商業套用中很少使用。

RAID5:RAID5沒有單獨指定的奇偶盤,而是交叉地存取數據及奇偶校驗信息於所有磁碟上。在RAID5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID5更適合於小數據塊,隨機讀寫的數據。RAID3與RAID5相比,重要的區別在於RAID3每進行一次數據傳輸,需涉及到所有的陣列盤。而對於RAID5來說,大部分數據傳輸只對一塊磁碟操作,可進行並行操作。在RAID5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。

RAID6:RAID6與RAID5相比,增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高。即使兩塊磁碟同時失效,也不會影響數據的使用。但需要分配給奇偶校驗信息更大的磁碟空間,相對於RAID5有更大的“寫損失”。RAID6的寫性能非常差,較差的性能和複雜的實施使得RAID6很少使用。

三、詳細介紹

RAID0是具有提速和擴容的目的

在RAID0模式中,數據被分割為一定數量的數據塊(Chunk)交叉寫在多個硬碟上,一般的來說在RAID0系統中數據被分割的數量同RAID陣列所使用的硬碟的數量是有關的,比如RAID0中採用了3塊硬碟,那么數據將會被分為三份依次的寫入三個硬碟,通俗的說這種模式其實就是利用RAID技術讓系統認為三塊硬碟組成一個容量更大的硬碟,因為這個過程沒有數據校驗所以這種RAID模式是讀寫速度最快的一種。

RAID0並沒有從安全性角度考慮,實際上,如果RAID0當中的一塊硬碟壞了,所有數據都會損壞,並且沒有辦法恢復。這使得RAID0的安全性能非常差,所以很多用戶出於安全考慮沒有使用RAID0模式。雖然如此,RAID0畢竟是所有RAID方式當中速度最快的一種模式,如果RAID0模式當中有兩塊硬碟的話,那么RAID0的存儲讀取數據的速度會是單個硬碟雙倍。,如果使用6塊硬碟的話,那么理論速率就是單個硬碟的6倍。如果在RAID0模式當中使用不同的硬碟會造成兩方面的問題,首先,RAID0的有效硬碟容量會是最小的硬碟的容量乘上硬碟的個數,這是因為如果容量的最小的硬碟存滿了之後,RAID0依然會將檔案平均分配到各個硬碟當中,此時便不能完成存儲任務了;其次,如果RAID0當中的硬碟速度不同,那么整體的速度會是速度最慢的硬碟的速度乘上硬碟的個數,這是因為RAID0模式是需要將上一部的存儲任務完成之後才能進行下一步的進程,這樣,其它的速度快的硬碟會停下來等待速度慢的硬碟完成存儲或者讀取任務,使得整體性能有所下降。所以,在這裡建議使用RAID0模式的用戶最好選擇容量和速度相同的硬碟,最好是同一品牌的同種產品。

因此RAID0在嚴格意義上說不是“冗餘獨立磁碟陣列”。RAID0模式一般用於需要快速處理數據但是對於數據的安全性要求不高的場合。這種RAID模式的特點是簡單,而且並不需要複雜和昂貴的控制器。採用RAID0模式至少需要2塊硬碟,最終得到的存儲容量也是這兩塊硬碟的和。

RAID0的隨機讀取性能:很好
RAID0的隨機寫入性能:很好
RAID0的持續讀取性能:很好
RAID0的持續寫入性能:很好

RAID0的優點:最快的讀寫性能,如果每塊硬碟擁有獨立的控制器性能將會更好。

RAID0的缺點:任何一塊硬碟出現故障所有的數據都會丟失,大部分的控制器都是通過軟體實現的,所以效能並不好。

RAID1

RAID1模式是讓組成RAID1模式的硬碟互為鏡像,當你向硬碟中寫入數據的時候,兩個硬碟同時存儲相同的數據,這樣即使其中一個硬碟出現了故障,系統利用另外一個硬碟一樣可以正常運行。RAID1相對於單塊硬碟來說它的數據讀取性能會更好一些,因為當一塊硬碟處於忙的狀態時,RAID控制器可以去讀取另一塊硬碟中同樣的數據,但是寫入數據性能不但沒有增長而且可能會有輕微下降。當其中一塊硬碟出現故障之後,新的數據可以寫入仍然能夠正常工作的硬碟,當使用新的硬碟替換掉原來的硬碟之後,RAID控制器會自動的把數據複製到新的硬碟上。RAID1模式的最大特點就是冗餘性高,但是由於大部分的功能是利用軟體來實現的,所以它會增加處理器的負擔。這種RAID模式非常適合對數據的安全性有極高要求的人。

在RAID1模式當中,所使用的硬碟最好是相同的,否則會出現浪費硬碟空間的情況。由於RAID1模式是將相同的信息寫入到不同的硬碟當中,所以RAID1模式的有效硬碟容量是陣列當中容量最小的硬碟的容量。舉例來說,如果RAID1模式中有一塊容量為20GB的硬碟和一塊容量為30GB的硬碟,那么總體的RAID1的有效容量是20GB,從此那塊30GB硬碟上剩下的10GB容量就會被浪費。同時,如果兩塊硬碟的速度不同的話,那么速度較快的那塊硬碟依然會停下來等待速度較慢的那塊硬碟完成任務之後再進行下一步行動。

RAID1的隨機讀取性能:好
RAID1的隨機寫入性能:好
RAID1的持續讀取性能:一般
RAID1的持續寫入性能:好

RAID1的優點:數據高可靠性,易於實現,設計簡單。

RAID1的缺點:比RAID0相比速度較慢,特別是寫入速度,另外就是我們僅僅能使用一半的硬碟容量。

RAID0+1

這種RAID模式其實是RAID0和RAID1模式的組合,至少需要4塊硬碟。其中任何兩塊組成一個RAID0磁碟陣列,然後兩個RAID0磁碟陣列可以看成兩個容量更大、速度更快的硬碟,它們再組成一個RAID1磁碟陣列。這樣的系統保證了較高的磁碟性能和較高的數據安全性。當然缺點也是顯而易見的就是成本較高,構造比較複雜。RAID0+1在容錯性能方面僅次於RAID5,一般用於檔案伺服器等方面。

RAID0+1的隨機讀取性能:很好
RAID0+1的隨機寫入性能:好
RAID0+1的持續讀取性能:很好
RAID0+1的持續寫入性能:好

RAID0+1的優點:相對於單塊硬碟具有更高的讀寫性能,而且大大提高了數據的安全性。

RAID0+1的缺點:成本較高,至少需要4塊硬碟。

RAID2

RAID2模式也相當的複雜,用於存儲數據的硬碟以RAID0的模式來組合,加上專門存放海明ECC校驗碼的硬碟,當然為了提高校驗碼數據的安全,校驗碼硬碟至少是兩個組成RAID1模式。這樣即使存儲數據的其中一個硬碟損壞,RAID控制器可以通過海明碼來恢複數據到新的硬碟上。RAID2一般針對大數據量操作和超級計算機套用等方面,但是並不適於普通用戶。因為要在數據存儲的過程中生成校驗碼,所以這種磁碟陣列的性能並不高。由於各種原因這種磁碟陣列模式並沒有投入到實際的商業套用中去。因為價格不菲,當然也不會為普通用戶所接受了。

RAID2的隨機讀取性能:一般
RAID2的隨機寫入性能:差,主要因為所有的操作都要經過ECC運算
RAID2的持續讀取性能:很好
RAID2的持續寫入性能:一般

RAID2的優點:數據安全性高,只要存放校驗碼的硬碟沒有故障就能恢複數據。

RAID2的缺點:昂貴、需要專門的硬碟存放校驗碼、效率不高、沒有商業套用的支持。

RAID3

同RAID2模式一樣,RAID3的數據也是被分成數據塊依次存儲到多個硬碟上的。只是RAID3把數據以bit為單位來分割並且存儲到各個硬碟上。它的優點就是具有高速的讀寫能力,當然寫入性能因為在寫入過程中需要生成奇偶校驗碼所以速度會受到一定的影響——它也需要一個專用的硬碟來存儲奇偶校驗碼。當其中一個存儲數據的硬碟出現故障之後,系統依然能夠正常運行,但是性能會受到影響,如果在更換壞硬碟之前又有一塊硬碟出現故障,那么這個磁碟陣列的數據將會全部丟失,無法恢復。在這種磁碟陣列模式下,要求所有硬碟的轉速要同步,這個要求在實際套用中難度不小。RAID3至少需要3塊硬碟,其中一塊用於存放奇偶校驗碼——奇偶校驗碼是通過異或運算得到的。

這種RAID模式如果使用軟體控制器來實現將會明顯的影響性能,因為這種組合比較複雜,不過同RAID0+1模式相比它最少只要3個硬碟就可以實現——所以成本有所下降,總的來說這種磁碟陣列比較適合視頻處理和編輯等方面的套用。

RAID3的隨機讀取性能:好
RAID3的隨機寫入性能:很差
RAID3的持續讀取性能:很好
RAID3的持續寫入性能:一般

RAID3的優點:比較適合視頻編輯等需要大數據量調用的場合。

RAID3的缺點:實現各個驅動器的轉速同步非常困難(目前大部分的硬碟都不支持這個功能),需要複雜的控制器。

RAID4

RAID4模式同RAID3幾乎是一樣的,數據都是分成小的數據塊依次存儲在多個硬碟之上,奇偶校驗碼存放在獨立的奇偶校驗盤上。唯一不同的是,在數據分割上RAID3是以bit為單位而RAID4是以Byte為單位。這樣可以使得RAID4同RAID3具有一樣的讀取速度,當然寫入性能因為需要在寫入過程中產生校驗碼並且存儲到校驗盤而受到了影響。

這種模式的最大好處就是不需要各個硬碟之間在轉速上保持同步,這就使得控制器不需要那么複雜。它的寫入性能是所有RAID模式中最差的。同RAID3模式一樣,當其中一塊硬碟損壞,數據並不會丟失,如果在故障盤被替換之前,第二塊硬碟也發盤故障將會導致所有的數據都丟失。相對其它的RAID模式,恢復故障硬碟中的數據的效率相當低。

這種磁碟陣列模式也是至少需要3塊硬碟才能搭建而成。奇偶校驗碼是通過異或運算來得到的。它適於一般的應用程式,包括視頻處理等套用。它的造價也不算高,因為只要一塊硬碟作為校驗碼磁碟就可以了。

RAID4的隨機讀取性能:很好
RAID4的隨機寫入性能:一般,主要因為要向奇偶校驗磁碟寫入校驗碼
RAID4的持續讀取性能:好
RAID4的持續寫入性能:一般

RAID4的優點:除了RAID3的優點之外,它並不需要同步驅動器轉速。

RAID4的缺點:寫入性能很差,控制器的要求較高。

RAID5

RAID5使用至少三塊硬碟來實現陣列,它既能實現RAID0的加速功能也能實現RAID1的備份數據功能,在陣列當中有三塊硬碟的時候,它將會把所需要的存儲的數據按照用戶定義的分割大小分割成檔案碎片存儲到兩塊硬碟當中,此時,陣列當中的第三塊硬碟不接收檔案碎片,它接收到的是用來校驗存儲在另外兩塊硬碟當中數據的一部分數據,這部分校驗數據是通過一定的算法產生的,可以通過這部分數據來恢復存儲在另外兩個硬碟上的數據。另外,這三塊硬碟的任務並不是一成不變的,也就是說在這次存儲當中可能是1號硬碟和2號硬碟用來存儲分割後的檔案碎片,那么在下次存儲的時候可能就是2號硬碟和3號硬碟來完成這個任務了。可以說,在每次存儲操作當中,每塊硬碟的任務是隨機分配的,不過,肯定是兩塊硬碟用來存儲分割後的檔案碎片另一塊硬碟用來存儲校驗信息。

這個校驗信息一般是通過RAID控制器運算得出的,通常這些信息是需要一個RAID控制器上有一個單獨的晶片來運算並決定將此信息傳送到哪塊硬碟存儲。RAID5同時會實現RAID0的高速存儲讀取並且也會實現RAID1的數據恢復功能,也就是說在上面所說的情況下,RAID5能夠利用三塊硬碟同時實現RAID0的速度加倍功能也會實現RAID1的數據備份功能,並且當RAID5當中的一塊硬碟損壞之後,加入一塊新的硬碟同樣可以實現數據的還原。

RAID5是截止到目前我們所介紹的幾款RAID模式中控制器設計最複雜的一種。RAID5可以套用在大部分的領域中,比如多用戶和多任務環境中。目前的很多Web伺服器和其它的Internet伺服器都是採用這種形式的磁碟陣列,比如最近推出的QuantumSnap伺服器就採用了外置式的RAID5磁碟陣列的設計。奇偶校驗一般會占據大約33%的磁碟空間的容量,所以對於一個總容量為120GB的RAID5磁碟陣列而言,可用的空間將是80GB左右。不過這種磁碟陣列模式在一般的主機板進程的RAID控制器中都不提供支持,比如AbitKR7A-RAID主機板僅僅支持RAID0、RAID1、RAID0+1。當然只要採用校驗碼的方式,就會一定程度上影響寫入性能,因此很多磁碟陣列廠商都在磁碟陣列中加入了寫快取來提高寫入性能。

RAID5模式並不是一切都好,如果陣列當中某塊硬碟上的信息發生了改變的話,那么就需要重新計算檔案分割碎片,並且,校驗信息也需要重新計算,這時,三個硬碟都需要重新調用。同樣,如果要做RAID5陣列的話,最好使用相同容量相同速度的硬碟,RAID5模式的有效容量是陣列中容量最小的硬碟容量乘上陣列中硬碟的數目減去一後的數,這裡硬碟數目要減去一是因為其中有一塊硬碟用來存放校驗信息。

RAID5的隨機讀取性能:非常好(當使用大數據塊時)
RAID5的隨機寫入性能:一般,但是優於RAID3或都RAID4
RAID5的持續讀取性能:好(當使用小數據塊時)
RAID5的持續寫入性能:一般

RAID5的優點:不需要專門的校驗碼磁碟,讀取速度快,而且解決了寫入速度相對較慢的問題。

RAID5的缺點:寫入性能依然不盡如人意。

RAID6

RAID6是RAID家族中的新技術,是在RAID5基礎上擴展而來的。所以同RAID5一樣,數據和校驗碼都是被分成數據塊然後分別存儲到磁碟陣列的各個硬碟上。RAID6加入了一個獨立的校驗磁碟,它把分布在各個磁碟上的校驗碼都備份在一起,這樣RAID6磁碟陣列就允許多個磁碟同時出現故障,這對於數據安全要求很高的套用場合是非常必要的。這樣搭建一個RAID6磁碟陣列最少需要4塊硬碟。但是RAID6並沒有改善RAID5寫入性能不佳的情況,寫入快取的套用僅僅能對於這個缺點進行一定程度的彌補但是並不能從根本上解決問題。因為RAID5和RAID6都可以根據應用程式來更改數據塊的大小,所以它的實際性能還會受到這個因素的影響。

在實際套用中RAID6的套用範圍並沒有其它的RAID模式那么廣泛。如果實現這個功能一般需要設計更加複雜、造價更昂貴的RAID控制器,所以它一般也不會集成在主機板上。

RAID6的隨機讀取性能:很好(當使用大數據塊時)
RAID6的隨機寫入性能:差,因為不但要在每硬碟上寫入校驗數據而且要在專門的校驗硬碟上寫入數據
RAID6的持續讀取性能:好(當使用小數據塊時)
RAID6的持續寫入性能:一般

RAID6的優點:快速的讀取性能,更高的容錯能力。

RAID6的缺點:很慢的寫入速度,RAID控制器在設計上更加複雜,成本更高。

熱交換和熱冗餘

在RAID系統中一般都具有熱交換熱冗餘能力。熱交換允許在不關閉系統或電源的前提下更換故障硬碟,當然更換上的新硬碟也可以被系統動態的識別出來並且正確的配置和添加,而這些都不需要重新啟動計算機。這樣做的好處是勿庸置疑的,對於維護人員來說非常的簡單,而對於很多套用場合,比如Web伺服器等,用戶並不希望伺服器停機,這樣造成的損失將是不可估量的。很多HP/DELL伺服器產品和RAID磁碟陣列都具有熱交換的能力。

熱冗餘一般用於不適於熱交換的場合。這種設計一般是在故障出現之前就在計算機中配置了額外的硬碟,當有硬碟出現故障的時候,這塊冗餘的就可以自動替代故障的硬碟的位置,對於這樣的系統在系統關閉之前是不能把損壞的硬碟拔下來的。熱冗餘雖然不如熱交換方便,但是總比沒有好一些。

小結

其實磁碟陣列的種類非常多,我們今天介紹的是部分基本的套用模式,在實際套用為了達到足夠的性能和穩定,可以把各種RAID模式搭配使用,當然這樣對於RAID控制器的要求會更高,磁碟陣列系統的成本也就更高。

伺服器所採用的RAID一般是基於SCSI的,所以這樣RAID系統的成本將會更加高昂。其實這個功能對於我們個人的套用還具有一定的距離,即使你擁有了一張整合了RAID控制器的主機板,也需要至少2塊硬碟(一般的要求這兩塊硬碟在容量、品牌、轉速上都是一樣的),對於個人用戶來說這是一筆不小的開支。當然如果你有特殊的需要,比如需要假設一個工作站或者Web伺服器,但是又不想花費太多的資金,那么IDERAID還是一個不錯的選擇。這裡需要提醒大家的是,一般的板載IDERAID的處理器占用率較高,並且IDERAID在部分套用中還不如SCSI硬碟

相關詞條

相關搜尋

熱門詞條

聯絡我們