一.簡介
Raid全稱" 獨立磁盤冗余陣列", 有時也簡稱磁盤陣列(Disk Array)。
RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份技術。組成磁盤陣列的不同方式成為RAID級別。
Raid的級別:
Raid 0,Raid 1,Raid 0+1(也稱Raid 10),Raid 2,Raid 3,Raid 5,Raid 6,Raid 7,Raid 53.
原理分析
我們為什么需要磁盤陣列?
目前人們逐漸認識了磁盤陣列技術。磁盤陣列技術可以詳細地劃分若干個級別0-5RAID技術,并且又發展了所謂的RAID Level 10,30,50的新的級別。RAID是廉價冗余磁盤陣列(Redundant Array of Inexpensive Disk)的簡稱。用RAID的好處簡單的說就是:安全性高,速度快,數據容量超大。
某些級別的RAID技術可以把速度提高到單個硬盤驅動器的400%。磁盤陣列把多個硬盤驅動器連接在一起協同工作,大大提高了速度,同時把硬盤系統的可靠性提高到接近無錯的境界。這些"容錯"系統速度極快,同時可靠性極高。
本文將討論這些新技術,以及不同級別RAID的優缺點。
硬盤數據跨盤(Spanning)
數據跨盤技術使多個硬盤像一個硬盤那樣工作,這使用戶通過組合已有的資源或增加一些資源來廉價地突破現有的硬盤空間限制。
常用的是下面的幾種RAID形式
(1) RAID 0
RAID 0又稱為Stripe(條帶化)或Striping,它代表了所有RAID級別中最高的存儲性能。RAID 0提高存儲性能的原理是把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。
RAID 0結構圖解
如圖所示:系統向四個磁盤組成的邏輯硬盤(RADI 0 磁盤組)發出的I/O數據請求被轉化為4項操作,其中的每一項操作都對應于一塊物理硬盤。我們從圖中可以清楚地看到通過建立RAID 0,原先順序的數據請求被分散到所有的兩塊硬盤中同時執行。從理論上講,四塊硬盤的并行操作使同一時間內磁盤讀寫速度提升了4倍。
但由于總線帶寬等多種因素的影響,實際的提升速率肯定會低于理論值,但是,大量數據并行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0的缺點是不提供數據冗余,因此一旦用戶數據損壞,損壞的數據將無法得到恢復。RAID 0具有的特點,使其特別適用于對性能要求較高,而對數據安全不太在乎的領域,如圖形工作站等。對于個人用戶,RAID 0也是提高硬盤存儲性能的絕佳選擇。
(2) RAID 1
RAID 1又稱為Mirror或Mirroring(鏡像),它的宗旨是最大限度的保證用戶數據的可用性和可修復性。RAID 1的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。
RAID 1結構圖解
如圖所示:當讀取數據時,系統先從RAID 0的源盤讀取數據,如果讀取數據成功,則系統不去管備份盤上的數據;如果讀取源盤數據失敗,則系統自動轉而讀取備份盤上的數據,不會造成用戶工作任務的中斷。當然,我們應當及時地更換損壞的硬盤并利用備份數據重新建立Mirror,避免備份盤在發生損壞時,造成不可挽回的數據損失。
由于對存儲的數據進行百分之百的備份,在所有RAID級別中,RAID 1提供最高的數據安全保障。同樣,由于數據的百分之百備份,備份數據占了總存儲空間的一半,因而Mirror(鏡像)的磁盤空間利用率低,存儲成本高。Mirror雖不能提高存儲性能,但由于其具有的高數據安全性,使其尤其適用于存放重要數據,如服務器和數據庫存儲等領域.
(3) RAID 0+1
正如其名字一樣RAID 0+1是RAID 0和RAID 1的組合形式,也稱為RAID 10。
以四個磁盤組成的RAID 0+1為例,其數據存儲方式如圖所示:RAID 0+1是存儲性能和數據安全兼顧的方案。它在提供與RAID 1一樣的數據安全保障的同時,也提供了與RAID 0近似的存儲性能。
由于RAID 0+1也通過數據的100%備份功能提供數據安全保障,因此RAID 0+1的磁盤空間利用率與RAID 1相同,存儲成本高。
RAID-10結構圖解
RAID 0+1的特點使其特別適用于既有大量數據需要存取,同時又對數據安全性要求嚴格的領域,如銀行、金融、商業超市、倉儲庫房、各種檔案管理等。
(4) RAID 3
RAID 3是把數據分成多個"塊",按照一定的容錯算法,存放在N+1個硬盤上,實際數據占用的有效空間為N個硬盤的空間總和,而第N+1個硬盤上存儲的數據是校驗容錯信息,當這N+1個硬盤中的其中一個硬盤出現故障時,從其它N個硬盤中的數據也可以恢復原始數據,這樣,僅使用這N個硬盤也可以帶傷繼續工作(如采集和回放素材),當更換一個新硬盤后,系統可以重新恢復完整的校驗容錯信息。由于在一個硬盤陣列中,多于一個硬盤同時出現故障率的幾率很小,所以一般情況下,使用RAID3,安全性是可以得到保障的。
RAID 3結構圖解
與RAID0相比,RAID3在讀寫速度方面相對較慢。使用的容錯算法和分塊大小決定RAID使用的應用場合,在通常情況下,RAID3比較適合大文件類型且安全性要求較高的應用,如視頻編輯、硬盤播出機、大型數據庫等.
(5) RAID 5
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。
以四個硬盤組成的RAID 5為例,其數據存儲方式如圖4所示:圖中,P0為D0,D1和D2的奇偶校驗信息,其它以此類推。由圖中可以看出,RAID 5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID5的一個磁盤數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID 5結構圖解
RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。
(6) RAID 6
RAID 6等級是在RAID 5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID 5等級。與RAID 5的不同之處于除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的,具體形式見圖。
這樣一來,等于每個數據塊有了兩個校驗保護屏障(一個分層校驗,一個是總體校驗),因此RAID 6的數據冗余性能相當好。但是,由于增加了一個校驗,所以寫入的效率較RAID 5還差,而且控制系統的設計也更為復雜,第二塊的校驗區也減少了有效存儲空間。由于RAID 6相對于RAID 5在校驗方面的微弱優勢和在性能與性價比方面的較大劣勢,RAID 6等級基本沒有實際應用過,只是對更高級的數據的冗余進行的一種技術與思路上的嘗試
RAID-6結構圖解
(7) RAID 7
RAID 7等級是至今為止,理論上性能最高的RAID模式,因為它從組建方式上就已經和以往的方式有了重大的不同。基本成形式見圖,你會發現在,以往一個硬盤是一個組成陣列的"柱子",而在RAID 7中,多個硬盤組成一個"柱子",它們都有各自的通道,也正因為如此,你可以把這個圖分解成一個個硬盤連接在主通道上,只是比以前的等級更為細分了。這樣做的好處就是在讀/寫某一區域的數據時,可以迅速定位,而不會因為以往因單個硬盤的限制同一時間只能訪問該數據區的一部分,在RAID 7中,以前的單個硬盤相當于分割成多個獨立的硬盤,有自己的讀寫通道,效率也就不言自明了。
然而,RAID 7的設計與相應的組成規模注定了它是一攬子承包計劃。總體上說,RAID 7是一個整體的系統,有自己的操作系統,有自己的處理器,有自己的總線,而不是通過簡單的插卡就可以實現的。歸納起來,RAID 7的主要特性如下:
所有的I/O傳輸都是異步的,因為它有自己獨立的控制器和帶有Cache的接口,與系統時鐘并不同步所有的讀與寫的操作都將通過一個帶有中心Cache的高速系統總線,我們稱之為X-Bus專用的校驗硬盤可以用于任何通道帶有完整功能的即時操作系統內嵌于陣列控制微處理器,這是RAID 7的心臟,它負責各通道的通信以及Cache的管理,這也是它與其他等級最大不同之一
連通性:可增至12個主機接口
擴展性:線性容量可增至48個硬盤
開放式系統,運用標準的SCSI硬盤、標準的PC總線、主板以及SIMM內存
高速的,集成Cache的數據總線(就是上文提到的X-bus)
在Cache內部完成校驗生成工作
多重的附加驅動可以隨時熱機待命,提高冗余率和靈活性易管理性:SNMP(Simple Network Management Protocol,簡單網絡管理協議) 可以讓管理員遠程監視并實現系統控制按照RAID 7設計者的說法,這種陣列將比其他RAID等級提高150-600%寫入時的I/O性能,雖然這引起了不小的爭議。
RAID-7結構圖解
(8) RAID 53
與RAID 10一樣,RAID 53也是一種組合RAID 等級,但不要拿RAID 10的觀點套用,認為它是RAID 5和RAID 3的組合,事實上,RAID 53應該稱為RAID 30或RAID 03(也可以說是RAID 0+3),即RAID 3與RAID 0的組合,具體形式見圖:與圖1相對比,可以發現,RAID 53中將備份等級由RAID 0變為了RAID 3,也就是說把原來的鏡像陣列變成了分割式(Segments)存儲陣列。但它不是對每個RAID 0硬盤都用一個RAID 3系統進行,而是用RAID 3對所有數據進行冗余存儲(或者說是校驗),而且讀寫與ECC效率比RAID 0要高不少。
值得注意的是,RAID 3在RAID 53的數據傳輸中占有相當重要的位置。在介紹RAID 3時,曾說過它有很高的讀寫傳輸率。因此,在進行大數據量吞吐時,由于RAID 3的傳輸率高的緣故,RAID 53的性能要比RAID 10好(因為冗余備份的時間縮短)。而且,借助于RAID 0,其I/O帶寬并沒有降低。不過,從它的配置形式上就可以看出來,它的存儲空間利用率要比RAID 10低,為40%。
評論
查看更多