1. 程式人生 > >raid技術簡介

raid技術簡介

raid raid級別   磁盤陣列

Raid是什麽?



獨立磁盤冗余陣列(RAID,Redundant Array of Independent Disks),在早期也稱為廉價磁盤冗余陣列,簡稱為磁盤陣列。Raid就是將兩個以上的物理磁盤在邏輯上捆綁在一起,數據以條帶式的形式順序保存在各個磁盤上,對外作為一個邏輯的設備提供服務。磁盤陣列中可包含配置成Raid的磁盤和用於後備的磁盤。

簡單來說,RAID把多個物理硬盤組合成為一個邏輯磁盤,因此,操作系統只會把一個raid陣列當作一個硬盤。RAID常被用在服務器計算機上,並且常使用完全相同的硬盤作為組合。由於硬盤價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了玩家的一個選擇,特別是需要大容量存儲空間的工作。

最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(集群)讀寫性能。常見RAID級別分為RAID-0RAID-1RAID-5RAID-6RAID-1ERAID-10RAID-50RAID-60.

Raid可以按照不同的標準進行分類。按照其實現方法分類可分為硬件Raid和軟件Raid。硬件Raid的主要特點是其I/O處理有專門的IOP(IO處理器)來執行;軟件RaidI/O指令從主機的CPU獲得。根據不同的鏈接方式,Raid又可分為外接式和內置式。

Raid級別簡介



Raid0

技術分享

將多個磁盤合並成一個大的磁盤,不具有冗余,並行I/O,速度最快。RAID 0亦稱為帶區集。它是將多個磁盤並列起來,成為一個大磁盤。在存放數據時,其將數據按磁盤的個數來進行分段,然後同時將這些數據寫進這些盤中,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗余功能,如果一個磁盤(物理)損壞,則所有的數據都會丟失,危險程度與JBOD相當。

理論上越多的磁盤性能就等於單一磁盤性能”ד磁盤數,但實際上受限於總線I/O瓶頸及其它因素的影響,RAID性能會隨邊際遞減,也就是說,假設一個磁盤的性能是50MB每秒,兩個磁盤的RAID 0性能約96MB每秒,三個磁盤的RAID 0也許是

130MB每秒而不是150MB每秒。可使用容量是硬盤總數乘以單塊硬盤的最小容量:Size=N*minS1S2S3...Sn

Raid 1

技術分享

RAID1是將一個兩塊硬盤所構成RAID磁盤陣列,其容量僅等於一塊硬盤的容量,因為另一塊只是當作數據鏡像RAID 1磁盤陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的數據備份。它的性能自然沒有RAID 0磁盤陣列那樣好,但其數據讀取確實較單一硬盤來的快,因為數據會從兩塊硬盤中較快的一塊中讀出。RAID 1磁盤陣列的寫入速度通常較慢,因為數據得分別寫入兩塊硬盤中並做比較。RAID 1磁盤陣列一般支持熱交換,就是說陣列中硬盤的移除或替換可以在系統運行時進行,無須中斷退出系統。RAID 1磁盤陣列是十分安全的,不過也是較貴一種RAID磁盤陣列解決方案,因為兩塊硬盤僅能提供一塊硬盤的容量。RAID 1磁盤陣列主要用在數據安全性很高,而且要求能夠快速恢復被破壞的數據的場合。

Raid 5

技術分享

RAID Level 5是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案。它使用的是Disk Striping技術。RAID 5至少需要三顆硬盤,RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

RAID 5可以理解為是RAID 0RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬盤的速度略慢,若使用回寫高速緩存可以讓性能改善不少。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較便宜。

可使用的容量為硬盤總數減去1的差,乘以單塊硬盤的最小容量,公式為Size=N-1*minS1S2S3...Sn

Raid 6

技術分享

RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對於RAID 5有更大的寫損失,因此寫性能非常差。較差的性能和復雜的實作方式使得RAID 6很少得到實際應用。

同一數組中最多容許兩個磁盤損壞。更換新磁盤後,數據將會重新算出並寫入新的磁盤中。依照設計理論,RAID 6必須具備四個以上的磁盤才能生效。

可使用的容量為硬盤總數減去2的差,乘以單塊硬盤的最小容量,公式為Size=N-2*minS1S2S3...Sn

Raid 10

技術分享

RAID 1RAID 0的組合,先作RAID 1,再作RAID 0,也就是對多組RAID 1彼此構成Stripe訪問。由於RAID 10是以RAID 1為基礎,而RAID 1至少需要2塊硬盤,因此要以多組RAID1構成RAID 10,至少需要4塊硬盤。以RAID 10最小的4臺硬盤組態為例,先把4臺硬盤分為2組,每組2臺構成RAID 1,如此就得到兩組RAID 1,然後再把兩組RAID 1構成RAID 0

RAID10在底層的任一組或多組RAID 1中出現1臺硬盤損壞時,仍能維持運作,不過如果任一組RAID 1中的兩塊硬盤損毀,整組RAID10就會失效。

RAID10由於在上層把多組RAID 1構成Stripe,容量利用率是50%,例如:4塊硬盤做的raid10的總容量是兩塊硬盤的容量。

Raid1E

技術分享

RAID-1E:(也叫做混合型或者增強型RAID1)以鏡像的方式將數據分條帶分布存儲於各硬盤上。由IBM公司提出的一種私有RAID級別,沒有成為國際標準。它並不是我們通常所說的RAID 0+1的組合。RAID 1E的工作原理與RAID1基本上是一樣的,只是RAID 1E的數據恢復能力更強,但由於RAID 1E寫一份數據至少要兩次,因此,RAID處理器的負載被增強,從而造成磁盤讀寫能力的下降。RAID 1E至少需要3塊硬盤才能實現。RAID1E整合了鏡象和數據條帶。該陣列級別的數據條帶及數據備份貫穿在邏輯盤中所有的硬盤當中。跟RAID1一樣,數據是鏡象的,邏輯盤的容量是硬盤總容量的一半。RAID1ERAID1類似,它能提供數據冗余及高的性能,但存儲容量減少。然而,RAID1E允許使用更多的物理硬盤。

Raid 50

技術分享

RAID 5RAID 0的組合,先作RAID 5,再作RAID 0,也就是對多組RAID 5彼此構成Stripe訪問。由於RAID 50是以RAID 5為基礎,而RAID 5至少需要3臺硬盤,因此要以多組RAID5構成RAID 50,至少需要6臺硬盤。以RAID 50最小的6臺硬盤組態為例,先把6臺硬盤分為2組,每組3臺構成RAID 5,如此就得到兩組RAID 5,然後再把兩組RAID 5構成RAID 0

RAID50在底層的任一組或多組RAID 5中出現1臺硬盤損壞時,仍能維持運作,不過如果任一組RAID 5中出現2臺或兩臺以上硬盤損毀,整組RAID 50就會失效。

RAID50由於在上層把多組RAID 5構成Stripe,性能比起單純的RAID 5高,容量利用率比RAID5要低。比如同樣9塊硬盤,RAID 503RAID 5組成RAID 0,每個RAID 5會損失一塊硬盤的容量,利用率為(1-3/9)RAID 5則為(1-1/9)

Raid 60

技術分享

RAID 6RAID 0的組合:先作RAID 6,再作RAID 0。換句話說,就是對兩組以上的RAID 6Stripe訪問。RAID 6至少需具備4塊硬盤,所以RAID 60的最小需求是8塊硬盤。

由於底層是以RAID 6組成,所以RAID 60可以容許任一組RAID 6中損毀最多2塊硬盤,而系統仍能維持運作;不過只要底層任一組RAID 6中損毀3塊硬盤,整組RAID 60就會失效,當然這種情況的機率相當低。

比起單純的RAID 6RAID 60的上層通過結合多組RAID6構成Stripe訪問,因此性能較高。不過使用門檻高,而且容量利用率低是較大的問題


本文出自 “Keep simple keep stupid” 博客,請務必保留此出處http://yangzhiheng.blog.51cto.com/11586378/1966452

raid技術簡介