Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1657563
  • 博文数量: 292
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 2479
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-20 21:06
文章分类

全部博文(292)

文章存档

2011年(31)

2010年(261)

分类:

2010-06-03 16:49:26

在計算機術語中,RAID(Redundant Array of Independent 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

Just a Bunch ODisks)在某些分類上,JBOD並不算是RAID的等級。只是將多個磁碟空間合併成一個大的邏輯磁碟,不具有錯誤備援機制。資料的存放機制是由第一顆磁碟開始依序往後存放,即作業系統看到的是一個大磁碟(由許多小磁碟組成)。但如果磁碟損毀,則該顆硬碟上的所有資料將無法救回。若第一顆硬碟損壞,通常無法作救援(因大部分檔案系統將檔案表存在磁碟前端,即第一顆),失去檔案表即失去一切資料。

\begin{align}Size & = sum  of  all  disk\end{align}

[编辑]RAID 0

将多个磁碟合并成一个大的磁碟,不具有冗餘,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大磁盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。 所以,在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失。

理論上越多的磁碟效能就等於[單一磁碟效能]x[磁碟數],但實際上受限於匯流排I/O瓶頸及其它因素的影響,RAID 效能會隨邊際遞減,也就是說,假設一個磁碟的效能是50MB/秒,兩個磁碟的RAID 0效能約96MB/秒,三個磁碟的RAID 0也許是130MB/秒而不是150MB/秒。所以,兩個磁碟的RAID 0最能明顯感受到效能的提升。

\begin{align}Size & = 2 \times \min \left(S_1, S_2\right)\end{align}

但如果是以軟體方式來實作RAID,則磁碟的空間則不見得受限於此(例如Linux Software RAID),透過軟體實作可以經由不同的組合而善用所有的磁碟空間。

\begin{align}Size & = sum  of  all  disk\end{align}

[编辑]RAID 1

两组以上的N個磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,另外写入速度有微小的降低。除非擁有相同資料的主磁碟與鏡像同時損壞,否則最高可壞剩N個磁盘,可靠性最高。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID上磁盘利用率最低的一個级别。

\begin{align}Size & = \min \left(S_1, S_2\right)\end{align}

[编辑]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高,存储成本相对较便宜。

\begin{align}Size & = (N - 1) \times \min \left(S_1, S_2, \dots, S_N\right)\end{align}

[编辑]RAID 6

与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。

同一陣列中容許兩個硬碟同時失效(或是當一個失效後還來不及更換便有第二個失效)後。更換新硬碟時再由另兩個正常硬碟將備份的資料建立在新的硬碟中。所以至少必須具備四或四個以上硬碟才能生效。

[编辑]RAID 7

這是一種新的RAID標準,其自身帶有智慧化即時操作系統和用於存儲管理的軟體工具,可完全獨立於主機運行,不佔用主機CPU資源。RAID 7可以看作是一種存儲電腦(Storage Computer),它與其他RAID標準有明顯區別。

[编辑]RAID 10/01

RAID 10/01其實可細分為RAID 1+0或RAID 0+1。

RAID 1+0是先鏡射再分割資料。是將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。RAID 1+0有著不錯的讀取速度,而且擁有比RAID 0更高的資料保護性。

RAID 0+1則是跟RAID 1+0的程序相反,是先分割再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。RAID 0+1比起RAID 1+0有著更快的讀寫速度,不過也多了一些會讓整個硬碟組停止運轉的機率;因為只要同一組的硬碟全部損毀,RAID 0+1就會停止運作,而RAID 1+0則可以在犧牲RAID 0的優勢下正常運作。

RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保護兩種特性,不過它的缺點是需要的硬碟數較多,因為至少必須擁有四個以上的偶數硬碟才能使用。

[编辑]RAID 50

RAID50也被称为镜象阵列条带,由至少六块硬盘组成,像RAID0一样,数据被分割成条带,在同一时间内向多块磁盘写入;象RAID5一样,也是以数据的校验位来保证数据的安全,且校验条带均匀分布在各个磁盘上。其目的在于提高RAID5的读写性能。

[编辑]RAID 53

它擁有一個鏡射條帶陣列,硬碟裡其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬碟陣列。


[编辑]應用

在實際的應用上,RAID2~4並不存在。因為RAID5已經涵蓋了所需的功能,因此RAID2~4目前只有在研究領域有實作,而在實際應用上則以RAID5或RAID6為主。[來源請求]

RAID4有應用在某些商用機器上,像是NetApp公司設計的NAS系統就是使用RAID4的設計概念

[编辑]外部連結

阅读(1057) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~