RAID介紹 RAID RAID 實現的方式: RAID 0 RAID 1 RAID 5 RAID 6 RAID 10和RAID 01 RAID 50 RAID 60 RAID7和JBOD ...
RAID介紹
RAID
RAID,Redundant Arrays of Inexpensive(Independent)Disks,是多個磁碟合成一個“陣列”來提供更好的性能、冗餘,或者兩者都提供。
獨立磁碟冗餘陣列(RAID, Redundant Array of Independent Disks),在早期也稱為廉價磁碟冗餘陣列,簡稱為磁碟列。
Raid就是將兩個以上的物理磁碟在邏輯上捆綁在一起,數據以條帶式的形式順序保存在各個磁碟上,對外作為一個邏輯的設備提供服務。
磁碟陣列中可包含配置成Raid的磁碟和用於後備的磁碟。
簡單來說,RAID把多個物理硬碟組合成為一個邏輯磁碟,因此,操作系統只會把一個raid陣列當作一個硬碟。
RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。
由於硬碟價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了一個選擇,特別是需要大容量存儲空間的工作。
最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(集群)讀寫性能。
常見RAID級別分為RAID-0,RAID-1,RAID-5,RAID-6,RAID-1E,RAID-10,RAID-50,RAID-60。
Raid可以按照不同的標準進行分類,按照其實現方法分類可分為硬體Raid和軟體Raid。
硬體Raid的主要特點是其I/O處理有專門的IOP(IO處理器)來執行,軟體Raid的I/O指令從主機的CPU獲得。
根據不同的鏈接方式,Raid又可分為外接式和內置式。
RAID可提高I/O 能力,由磁碟並行讀寫來實現。
RAID可提高耐用性,由磁碟冗餘來實現。
RAID的級別是由多塊磁碟組織在一起的工作方式的不同來決定的。
RAID 實現的方式:
外接式磁碟陣列:
通過擴展卡提供適配能力
內接式RAID :
主板集成RAID 控制器,安裝OS前在BIOS里配置
軟體RAID :
通過OS實現
RAID-0
1)
將多個磁碟合併成一個大的磁碟,不具有冗餘,並行I/O,速度最快,RAID-0亦稱為帶區集,它是將多個磁碟併列起來,成為一個大磁碟。
在存放數據時,其將數據按磁碟的個數來進行分段,然後同時將這些數據寫進這些盤中,所以在所有的級別中,RAID-0的速度是最快的。
但是RAID 0沒有冗餘功能,如果一個磁碟(物理)損壞,則所有的數據都會丟失,危險程度與JBOD相當。
理論上越多的磁碟性能就等於“單一磁碟性能”ד磁碟數”,但實際上受限於匯流排I/O瓶頸及其它因素的影響,RAID性能會隨邊際遞減。
也就是說,假設一個磁碟的性能是50MB每秒,兩個磁碟的RAID-0性能約96MB每秒,三個磁碟的RAID 0也許是130MB每秒而不是150MB每秒。
可使用容量是硬碟總數乘以單塊硬碟的最小容量:Size=(N)*min(S1,S2,S3…Sn).
2)
RAID-0:
讀、寫性能提升;
可用空間:N*min(S1,S2,...)
無容錯能力
最少磁碟數:2, 2
兩塊磁碟都用作讀寫,壞一塊RAID就壞了。
RAID-1
1)
RAID-1是將一個兩塊硬碟所構成RAID磁碟陣列,其容量僅等於一塊硬碟的容量,因為另一塊只是當作數據“鏡像”。
RAID-1磁碟陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的數據備份。
它的性能自然沒有RAID-0磁碟陣列那樣好,但其數據讀取確實較單一硬碟來的快,因為數據會從兩塊硬碟中較快的一塊中讀出。
RAID-1磁碟陣列的寫入速度通常較慢,因為數據得分別寫入兩塊硬碟中並做比較。
RAID-1磁碟陣列一般支持“熱交換”,就是說陣列中硬碟的移除或替換可以在系統運行時進行,無須中斷退出系統。
RAID-1磁碟陣列是十分安全的,不過也是較貴一種RAID磁碟陣列解決方案,因為兩塊硬碟僅能提供一塊硬碟的容量。
RAID-1磁碟陣列主要用在數據安全性很高,而且要求能夠快速恢復被破壞的數據的場合。
2)
RAID-1:
讀性能提升、寫性能略有下降;
可用空間:1*min(S1,S2,...)
有冗餘能力
最少磁碟數:2, 2N
兩塊或兩塊的倍數,用一半作為讀寫,一半作為備用校驗,同時壞了主備兩個RAID就壞了。
RAID-5
1)
RAID-5是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案,它使用的是Disk Striping技術。
RAID-5至少需要三顆硬碟,它不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID-5的各個磁碟上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁碟上。
當RAID-5的一個磁碟數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID-5可以理解為是RAID-0和RAID-1的折衷方案。
RAID-5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁碟空間利用率要比鏡像高。
RAID-5具有和RAID-0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬碟的速度略慢,若使用“回寫高速緩存”可以讓性能改善不少。
同時由於多個數據對應一個奇偶校驗信息,RAID-5的磁碟空間利用率要比RAID=1高,存儲成本相對較便宜。
可使用的容量為硬碟總數減去1的差,乘以單塊硬碟的最小容量,公式為Size=(N-1)*min(S1,S2,S3…Sn)。
2)
RAID-5:
讀、寫性能提升
可用空間:(N-1)*min(S1,S2,...)
有容錯能力:允許最多1塊磁碟損壞,帶奇偶校驗的條帶機
最少磁碟數:3, 3+
其他的同RAID4一樣,唯一不同的是校驗位不是放在一個盤上,每個盤都是校驗盤,允許最多壞一塊硬碟。
RAID-6
1)
與RAID-5相比,RAID-6增加了第二個獨立的奇偶校驗信息塊。
兩個獨立的奇偶系統使用不同的演算法,數據的可靠性非常高,即使兩塊磁碟同時失效也不會影響數據的使用。
但RAID-6需要分配給奇偶校驗信息更大的磁碟空間,相對於RAID-5有更大的“寫損失”,因此“寫性能”非常差。
較差的性能和複雜的實作方式使得RAID-6很少得到實際應用,同一數組中最多容許兩個磁碟損壞。
更換新磁碟後,數據將會重新算出並寫入新的磁碟中,依照設計理論,RAID-6必須具備四個以上的磁碟才能生效。
可使用的容量為硬碟總數減去2的差,乘以單塊硬碟的最小容量,公式為Size=(N-2)*min(S1,S2,S3…Sn)。
2)
RAID-6:
讀、寫性能提升
可用空間:(N-2)*min(S1,S2,...)
有容錯能力:允許最多2塊磁碟損壞
最少磁碟數:4, 4+
有兩個校驗位,且又添加了一塊備用硬碟,允許最多2塊硬碟損壞
RAID-10和RAID-01
1)
RAID-10是RAID-1與RAID-0的組合,先作RAID-1,再作RAID-0,也就是對多組RAID-1彼此構成Stripe訪問。
由於RAID-10是以RAID-1為基礎,而RAID-1至少需要2塊硬碟,因此要以多組RAID-1構成RAID-10,至少需要4塊硬碟。
以RAID-10最小的4台硬碟組態為例,先把4台硬碟分為2組,每組2台構成RAID-1,如此就得到兩組RAID-1,然後再把兩組RAID-1構成RAID-0。
RAID-10在底層的任一組或多組RAID-1中出現1台硬碟損壞時,仍能維持運作,不過如果任一組RAID-1中的兩塊硬碟損毀,整組RAID-10就會失效。
RAID-10由於在上層把多組RAID-1構成Stripe,容量利用率是50%,例如:4塊硬碟做的raid10的總容量是兩塊硬碟的容量。
先是RAID-1,然後集合同配為RAID-0,某個RAID-1壞了,整體就壞了。
2)
RAID-01是RAID-0與RAID-1的結合,先是RAID-0,然後集合同配為RAID-1,同時壞2個RAID-0,整體就壞了。
RAID-01的特點使其特別適用於既有大量數據需要存取,同時又對數據安全性要求嚴格的領域。
RAID-01是存儲性能和數據安全兼顧的方案,它在提供與RAID 1一樣的數據安全保障的同時,也提供了與RAID 0近似的存儲性能。
RAID-50
RAID-5與RAID-0的組合,先作RAID-5,再作RAID-0,也就是對多組RAID-5彼此構成Stripe訪問。
由於RAID-50是以RAID-5為基礎,而RAID-5至少需要3台硬碟,因此要以多組RAID-5構成RAID-50,至少需要6台硬碟。
以RAID-50最小的6台硬碟組態為例,先把6台硬碟分為2組,每組3台構成RAID-5,如此就得到兩組RAID-5,然後再把兩組RAID-5構成RAID-0。
RAID-50在底層的任一組或多組RAID-5中出現1台硬碟損壞時,仍能維持運作,不過如果任一組RAID-5中出現2台或兩台以上硬碟損毀,整組RAID-50就會失效。
RAID-50由於在上層把多組RAID-5構成Stripe,性能比起單純的RAID-5高,容量利用率比RAID-5要低。
比如同樣9塊硬碟,RAID-50則3個RAID-5組成RAID-0,每個RAID-5會損失一塊硬碟的容量,利用率為(1-3/9),RAID-5則為(1-1/9)。
RAID-60
RAID-6與RAID-0的組合,先作RAID-6,再作RAID-0。
換句話說,就是對兩組以上的RAID-6作Stripe訪問。
RAID-6至少需具備4塊硬碟,所以RAID-60的最小需求是8塊硬碟。
由於底層是以RAID-6組成,所以RAID-60可以容許任一組RAID-6中損毀最多2塊硬碟,而系統仍能維持運作。
不過只要底層任一組RAID-6中損毀3塊硬碟,整組RAID-60就會失效,當然這種情況的機率相當低。
比起單純的RAID-6,RAID-60的上層通過結合多組RAID-6構成Stripe訪問,因此性能較高。
不過使用門檻高,而且容量利用率低是較大的問題
RAID7和JBOD
RAID7
可以理解為一個獨立存儲電腦,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID 模式。
JBOD :Just a Bunch Of Disks
功能是將多塊磁碟的空間合併一個大的連續空間使用
可用空間:sum(S1,S2,...)