RAID
獨立磁盘冗餘陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗餘陣列(RAID, Redundant Array of Inexpensive Disks),簡稱硬碟陣列。其基本思想就是把多個相對便宜的硬碟組合起來,成為一個硬碟陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬碟。根據選擇的版本不同,RAID比單顆硬碟有以下一個或多個方面的好處:增強資料整合度,增強容錯功能,增加處理量或容量。另外,磁碟陣列對於電腦來說, 看起來就像一個單獨的硬碟或邏輯存儲單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50。
簡單來說,RAID把多個硬碟組合成為一個邏輯磁區,因此,作業系統只會把它當作一個硬碟。RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。由於硬碟價格的不斷下降與RAID功能更加有效地與主機板整合,它也成為了玩家的一個選擇,特別是需要大容量儲存空間的工作,如:視訊與音訊製作。
最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加資料可靠性以及增加存储器(群)读写效能。這些年來,出現了對於RAID觀念不同的應用。
目录 |
基本RAID分類 [编辑]
JBOD [编辑]
(JBOD, Just a Bunch Of Disks)在某些分類上,JBOD並不算是RAID的等級。只是將多個硬碟空間合併成一個大的邏輯硬碟,沒有錯誤備援機制。資料的存放機制是由第一顆硬碟開始依序往後存放,即作業系統看到的是一個大硬碟(由許多小硬碟組成的)。但如果硬碟損毀,則該顆硬碟上的所有数据將無法救回。若第一顆硬碟損壞,通常無法作救援(因為大部分檔案系統將磁碟分割表(partition table)存在磁碟前端,即第一顆),失去磁碟分割表即失去一切数据。
RAID 0 [编辑]
将多个磁碟合併成一个大的磁碟,不具有冗餘,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大磁盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失。
理論上越多的磁碟效能就等於「單一磁碟效能」×「磁碟數」,但實際上受限於匯流排I/O瓶頸及其它因素的影響,RAID效能會隨邊際遞減,也就是說,假設一個磁碟的效能是50MB每秒,兩個磁碟的RAID 0效能約96MB每秒,三個磁碟的RAID 0也許是130MB每秒而不是150MB每秒,所以兩個磁碟的RAID 0最能明顯感受到效能的提升。
但如果是以軟體方式來實作RAID,則磁碟的空間則不見得受限於此(例如Linux Software RAID),透過軟體實作可以經由不同的組合而善用所有的磁碟空間。
RAID 1 [编辑]
两组以上的N個磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,另外写入速度有微小的降低。除非擁有相同資料的主磁碟與鏡像同時損壞,否則只要一個磁盘正常即可维持运作,可靠性最高。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID上磁盘利用率最低的一個级别。
RAID 2 [编辑]
这是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些,RAID2最少要三台磁碟機方能運作。
RAID 3 [编辑]
采用Bit-interleaving(数据交错儲存)技術,它需要通过编码再将数据位元分割後分别存在硬盘中,而将同位元检查後单独存在一个硬盘中,但由于数据内的位元分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。
RAID 4 [编辑]
它与RAID 3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高。(Block interleaving)
RAID 5 [编辑]
RAID Level 5 是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。RAID 5 至少需要三顆硬碟, RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储於不同的磁盘上。当RAID5的一个磁盘数据发生损坏後,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比鏡像低而磁盘空间利用率要比鏡像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相當的慢,若使用「回寫快取」可以讓效能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
RAID 6 [编辑]
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实作方式使得RAID 6很少得到实际应用。
同一陣列中最多容許兩個磁盘损坏。更換新磁盘后,資料将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必須具備四個以上的磁盘才能生效。
可使用的容量为硬盘总数减去2的差,乘以最小容量,公式为Size=(N-2)*min(S1,S2,S3...Sn),同理,数据保护区域容量则为最小容量乘以2。
RAID 7 [编辑]
RAID 7並非公開的RAID標準,而是Storage Computer Corporation的專利硬體產品名稱,RAID 7是以RAID 3及RAID 4為基礎所發展,但是經過強化以解決原來的一些限制。另外,在實作中使用大量的快取記憶體以及用以實現非同步陣列管理的專用即时處理器,使得RAID 7可以同時處理大量的IO要求,所以效能甚至超越了許多其他RAID標準的實做產品。但也因為如此,在價格方面非常的高昂。[1]
RAID 10/01 [编辑]
RAID 10/01細分為RAID 1+0或RAID 0+1。
RAID 1+0是先鏡射再分割資料,再將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。
RAID 0+1則是跟RAID 1+0的程序相反,是先分割再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。
效能上,RAID 0+1比RAID 1+0有著更快的讀寫速度。
可靠性上,當RAID 1+0有一個硬碟受損,其餘三個硬碟會繼續運作。RAID 0+1 只要有一個硬碟受損,同組RAID 0的另一隻硬碟亦會停止運作,只剩下兩個硬碟運作,可靠性較低。
因此,RAID 10遠較RAID 01常用,零售主機板絕大部份支援RAID 0/1/5/10,但不支援RAID 01。
RAID 50 [编辑]
RAID50也被称为镜象阵列条带,由至少六块硬盘组成,像RAID0一样,数据被分割成条带,在同一时间内向多块磁盘写入;像RAID5一样,也是以数据的校验位来保证数据的安全,且校验条带均匀分布在各个磁盘上。其目的在于提高RAID5的读写性能。
RAID 53 [编辑]
它擁有一個鏡射條帶陣列,硬碟裡其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬碟陣列。
應用 [编辑]
RAID2、3、4較少實際應用,因為RAID5已經涵蓋了所需的功能,因此RAID2、3、4大多只在研究領域有實作,而實際應用上則以RAID5為主。
RAID4有應用在某些商用機器上,像是NetApp公司設計的NAS系統就是使用RAID4的設計概念
参考資料 [编辑]
外部連結 [编辑]




