磁盤陣列RAID技術知識

目前越來越多的知名廠家如微星等發佈了帶RAID功能的主板,越來越多的DIYer嘗試在自己的電腦上安裝了RAID。那麼RAID究竟是什麼意思,有什麼優點。本文既將闡述。

RAID就是“Redundant Array of Independent Disk”的縮寫,既:“獨立冗餘磁盤陣列”

一、功能
 增強了速度 ,服務器可以在同一時間從多個磁盤上讀取數據。
 提升I/O每秒的數量,增加可用運用時間,減少維護。
 增加資料安全性及穩定性, 大量資料快速及簡易管理。
 擴容了存儲能力,多個磁盤組成更大的空間提供給服務器使用。
 可高效恢復磁盤,RAID提供了相當高的數據冗餘功能,我們可以保證數據的完整無缺。

二、分類

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是具有提速和擴容的目的

1.jpg

 

 

在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

 

2.jpg

 

 

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

3.jpg

 

 

這種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的缺點:寫入性能很差,控制器的要求較高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章