RAID基本結構
【原創】版權所有。
【IDE硬盤接口】
IDE的英文全稱為“Integrated Drive Electronics”,即“電子集成驅動器”,它的本意是指把“硬盤控制器”與“盤體”集成在一起的硬盤驅動器。把盤體與控制器集成在一起的做法減少了硬盤接口的電纜數目與長度,數據傳輸的可靠性得到了增強,硬盤制造起來變得更容易,因此硬盤生產廠商不需要再擔心自己的硬盤是否與其它廠商生產的控制器兼容。
下圖就是IDE接口的硬盤。
IDE接口硬盤一般就是我們俗稱的並行規格的PATA硬盤,屬於Ultra-ATA的並行總線接口硬盤產品。
因為目前主流的PATA硬盤僅能支持ATA/100和ATA/133兩種數據傳輸規范,傳輸速率最高只能達到 每秒100或133MB,這僅可以滿足目前一般情況下的大容量硬盤數據傳輸。
注意:IDE接口總線是並行
【STAT接口硬盤】
SATA的全稱是Serial Advanced TechnologyAttachment(串行高級技術附件,一種基於行業標准的串行硬件驅動器接口)
SATA規范將硬盤的外部傳輸速率理論值提高到了150MB/s,比PATA標准ATA/100高出50%,比ATA/133也要高出約13%,而隨著未來後續版本的發展,SATA接口的速率還可擴展到2X和4X(300MB/s和600MB/s)。
注意:SATA接口總線是串行
那麼下列各種接口的設備讀寫文件的速度理論值為:
IDE:133Mbps
SATA1:300Mbps
SATA2:600Mbps
SATA3:6Gbps
USB3.0:480Mbps
SCSI:(Small Computer System Interface)小型計算機,這種接口的硬盤一般來說裡面都有個小型cpu用來幫助數據的存儲和管理,這種硬盤 的轉速都很快,一般都在10000轉/分鐘以上。
下圖就是SCSI接口的硬盤
對於服務器來說這些硬盤的讀寫速度都太慢,比如一個文件服務器,可能有3000個用戶同時過來訪問同一數據,每個用戶都來下載文件,並且都是並行下載。那麼用一個硬盤來提供下載速度是一定很慢的,因為一個硬盤的存儲,讀寫速度是固定的。為了解決這一困難,我們就要尋找一種能夠有著更大I/O能力(即讀寫速度更高)的設備。
一個設備的讀寫速度是固定的,如果我們能夠將多個設備組和起來並行工作,那麼讀寫速度就可以提高。
【RAID】(RedundantArrays of Independent Disks,RAID)獨立磁盤構成的具有冗余能力的陣列。是把相同的數據存儲在多個硬盤的不同的地方,以此來提高文件存儲和訪問速度的一種方法。
冗余:榮錯能力
RAID是有級別的,但級別僅代表磁盤的組合方式。
【RAID0】的存儲方法為:(條帶)
比如現在要存儲一個100G的數據,那麼為了提高文件的存儲速度,就用4個盤來存儲,那麼就將這100G的數據被調帶化切割成4份,分別存儲在4塊硬盤中,那麼在不能提高硬盤的存儲速度的情況下這樣就可以提高對單個文件到的存儲速度。那麼像這種將多個磁盤組合起來當做一個磁盤來使用去存儲的機制就叫RAID,向下圖這種存儲的方法叫做RAID0,實際上在這種存儲方法中每個數據都在每個磁盤的對應位置都是相同的,即統一條中。這種存儲方法也稱為條帶。如下圖:
在我們存儲數據中,不僅僅要考慮到數據的存儲速度,也同時要考慮數據出錯的概率,那麼像上面的RAID存儲方法中雖然提高了數據的存儲速度但,但同時提高了數據的出錯率。如果在這種存儲方式中,如果其中一個磁盤塊了,其他磁盤的數據也就沒有意義了。
【RAID1】存儲方式,也稱為磁盤鏡像
RAID1的存儲方式,就行將一個磁盤同時存儲在兩個硬盤中,這種方式沒有提高數據的存儲速度但提降低了數據的出錯率,即:如果其中任何一個磁盤壞了,該數據還是可以修復回來。這種方式也就是使用鏡像方式來保存數據的可用性
【RAID4】存儲方式:校驗碼技術
假如要存儲一個2G的數據,那麼就將這些數據平均分配到4-1=3快盤中。剩下的一塊盤就放這3份數據的校驗碼。即將這個2G的數據分別分為1,2,3。那麼前三塊磁盤分別存放1,2,3。最後一塊磁盤存放這個數據的校驗碼6。這樣如果其中任何一塊磁盤壞掉更具其他3塊磁盤的數據可以重新計算出剩下一塊磁盤的數據。那麼在這個存儲方式中浪費比例為1/n,並且這樣的存儲方式不能同時兩塊磁盤出錯,如果同時出錯,那麼這個其他盤中存儲的數據就無意義了。同時在這種存儲方式中校驗碼磁盤的訪問次數要多余其他磁盤的訪問次數。校驗碼盤的壓力也非常大
向這樣的RAID4的存儲方式中,如果一個磁盤數據出錯後,你替換一個磁盤重新修復數據,如果修復過程中數據又出錯了。那麼這些數據一樣是無效的。並且在這樣的數據修復過程中出錯的概率相當大。所以這種存儲方式看是非常不錯,但很少有企業使用。
【RAID5】輪換校驗碼技術
RAID5的存儲方式中只是相對於RAID4來說並沒有吧校驗碼全部存放在一個磁盤中,而是分別存放在不同磁盤中。這樣就可以平均的分配磁盤的訪問次數。
【RAID6】
RAID6也是在RAID5的基礎上使用校驗碼技術,但比RAID5要多一塊磁盤,多的那塊磁盤也是存儲校驗碼。這樣兩組校驗碼也是使用輪替的方式存儲。但這兩組校驗碼的校驗方式不同。那麼在這個系統中RAID6的比RAID5就多了一種優勢,就是能同時壞掉兩塊盤,
【RAID1+0】存儲方式即:1+0先利用鏡像再利用條帶。
在這種方式中,先將數據切割成3份,然後分別存儲在兩塊區域的磁盤中,其中一塊區域的磁盤作為另一塊區域磁盤的鏡像。
事實上,在這個存儲方式中第一區域的數據條帶的方式未必和第二個區域的吊帶方式一樣,所以這樣的存儲方式中,假如其中某一個磁盤損壞,那麼為了修復該數據這整個全局的數據都要參與計算。所以這樣的方式缺點,一個盤損壞影響全局。
【RAID0+1】存儲方式即0+1存儲方式。
這種方式先做條帶,後坐鏡像。這種方式即使其中一個磁盤損壞,只要用該組中相同編號的磁盤進行修復就行了,這樣的方法即使一個磁盤損壞,也不會影響整個存儲系統去修復。
所以在RAID0+1的存儲方式是要好於RAID1+0的存儲方式的。
【Jbod】存儲方式。
Jbod的效果就是將多個小磁盤疊加成一個大磁盤。對於應用程序開來,就像在一個磁盤中存儲文件一樣。Jbod的方式沒有提高磁盤的存儲速率,但真加了單個文件的最大大小。即:能存放的單個文件可以很大
那麼在按照上面的結束對於不同的結構可以得到以下結論
0:條帶
性能表現:讀,寫提升
冗余能力(榮錯能力):無
空間利用率:100%
至少2塊盤
1:鏡像
性能表現:寫性能下降,讀性能提升
冗余能力:有
空間利用率:1/2
至少2塊盤
2
3
4
5:輪替校驗碼
性能表現:讀,寫提升
冗余能力:有
空間利用率:(n-1)/n
至少需要3塊盤
1+0:
性能表現:讀寫提升
冗余能力:有
空間利用率:1/2
至少需要4塊
0+1:
性能表現:讀,寫提升
冗余能力:有
空間利用率:1/2
至少需要4塊
5+0:
性能表現:無提升
冗余能力:有
空間利用率:(n-2)/n
至少需要6塊
jbod:
性能表現:無提升
冗余;能力:無
空間利用率:100%
至少2塊盤
在上面這些結構中一般有錢的企業都使用RAID0+1方式存儲。向RAID5+0以及jbod方式的存儲方式還是很多的。