fbpx
维基百科

RAID

独立硬盘冗余阵列RAID, Redundant Array of Independent Disks),舊稱廉价磁盘冗余阵列Redundant Array of Inexpensive Disks),簡稱磁盘阵列。利用虛擬化儲存技術把多個硬碟組合起來,成為一個或多個硬碟陣列組,目的為提升效能或資料冗餘,或是兩者同時提升。

RAID」的各地常用別名
中国大陸独立硬盘冗余阵列
臺灣容錯式磁碟陣列
港澳獨立磁碟冗餘陣列

在運作中,取決於 RAID 層級不同,資料會以多種模式分散於各個硬碟,RAID 層級的命名會以 RAID 開頭並帶數字,例如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加資料可靠性以及增加存储器(群)读写效能。

簡單來說,RAID把多個硬碟組合成為一個邏輯硬碟,因此,作業系統只會把它當作一個實體硬碟。RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。由於硬碟價格的不斷下降與RAID功能更加有效地與主機板整合,它也成為普通用户的一個選擇,特別是需要大容量儲存空間的工作,如:視訊與音訊製作。

磁碟陣列比較表 编辑

RAID等級 最少硬碟 最大容錯 可用容量 讀取效能 寫入效能 安全性 目的 應用產業
單一硬碟 (參考) 0 1 1 1
JBOD 1 0 n 1 1 無(同RAID 0) 增加容量 個人(暫時)儲存備份
0 2 0 n n n 一個硬碟異常,全部硬碟都會異常 追求最大容量、速度 影片剪接快取用途
1 2 n-1 1 n 1 高,一個正常即可 追求最大安全性 個人、企業備份
5 3 1 n-1 n-1 n-1 中下至中 追求最大容量、最小預算 個人、小型企業備份
6 4 2 n-2 n-2 n-2 中至中高,僅安全性較RAID 5高 同RAID 5,但較安全 個人、企業備份
10 4 綜合RAID 0/1優點,理論速度較快 大型資料庫、伺服器
50 6 提升資料安全
60 8 提升資料安全

1. n代表硬碟總數
2. JBOD(Just a Bunch Of Disks)指將數個物理硬碟,在操作系統中合併成一個邏輯硬碟,以直接增加容量
3.依不同 RAID 廠商實作演算法對於效能表現會有不同,效能公式僅供參考
4.RAID 10、50、60 依實作 Parity 不同公式也不同

标准RAID 编辑

RAID 0 编辑

 
RAID 0

RAID 0亦称为带区。它將兩个以上的磁盘並联起来,成为一个大容量的磁盘。在存放数据时,分段后分散儲存在这些磁盘中,因為讀寫時都可以并行處理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具備容錯能力,如果一个磁盘(物理)损坏,所有数据都会丢失,危險程度與JBOD相當。

RAID 1 编辑

 
RAID 1

两组以上的N個磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理論上读取速度等於硬盘數量的倍數,与RAID 0相同。另外写入速度有微小的降低。只要一個磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID中磁盘利用率最低的一個级别。

如果用兩個不同大小的磁碟建RAID 1,可用空間為較小的那個磁碟,較大的磁碟多出來的空間也可以分割成一個區來使用,不會造成浪費。

 

RAID 1没有校验机制。用两个磁盘组成RAID 1阵列,如果两个硬盘上的数据出現差異,RAID 1會不知道該相信哪一个硬盘,這種情形稱作大脑分裂英语Split-brain (computing)。事实上,RAID 1的磁盘数量越多,越有可能其中某个磁盘的数据变得不一致(但仍然工作),RAID 1只会从第一个工作的硬盘里提供数据,没有办法检测到底哪个硬盘的数据不对。[1]

RAID 2 编辑

 
RAID 2

这是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些。

RAID 2最少要三台磁碟機方能運作。

RAID 3 编辑

 
RAID 3

採用Bit-interleaving(数据交错儲存)技術,它需要通过编码再将数据位元分割後分别存在硬盘中,而将相同位元检查後单独存在一个硬盘中,但由于数据内的位元分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。

RAID 4 编辑

 
RAID 4

采用块交织技术(Block interleaving)。它与RAID 3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高。

RAID 5 编辑

 
RAID 5

RAID 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。

RAID 5使用“奇偶校验位”。与 RAID 4 一样,有效大小是 N-1 个磁盘的大小。 然而,由于奇偶校验信息也在 N 个驱动器之间均匀分布,因此避免了每次写入都必须更新奇偶校验磁盘的瓶颈。防止单个磁盘故障,而且访问速度快[2]

RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储於不同的磁盘上。当RAID 5的一个磁盘数据发生损坏後,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比鏡像低而磁盘空间利用率要比鏡像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用「回寫快取」可以讓效能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

冗余磁盘阵列在最可能发生的单个磁盘故障情况下提供保护,在这种情况下,单个磁盘只是停止工作。这消除了构建大型 EIDE(增强型IDE) 磁盘阵列的主要障碍。

RAID-5 并不能完全防止其他类型的磁盘故障。 RAID-5 将在单个磁盘停止工作但导致整个 EIDE 总线发生故障(或整个 EIDE 控制器卡发生故障)但只是暂时停止运行的情况下提供有限的保护。这将暂时禁用整个 RAID-5 阵列。如果更换坏盘解决了问题,即故障没有永久损坏其他磁盘上的数据,那么 RAID-5 阵列将正常恢复。 相似的如果只是控制器卡损坏,则更换它将使 RAID-5 阵列正常恢复。 但是,如果不止一个磁盘损坏,尤其是文件或目录结构信息损坏,整个 RAID-5 阵列就会损坏。 剩余的故障模式是磁盘正在传送损坏的数据。 RAID-5 没有对此固有的保护;但是,可以在事件标头中内置对数据的纵向奇偶校验,例如校验和记录计数 (CRC),以标记问题。

 

RAID 6 编辑

 
RAID 6

与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于RAID 5有更大的IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID 6通常不会通过软件方式来实现,而更可能通过硬件方式实现。

同一陣列中最多容許兩個磁盘损坏。更換新磁盘后,資料将会重新算出并写入新的磁盘中。

依照设计理论,RAID 6必須具備四個以上的磁盘才能生效。可使用的容量为硬盘总数减去2的差,乘以最小容量,公式为:

 

同理,数据保护区域容量则为最小容量乘以2。

RAID 6在硬體磁碟陣列卡的功能中,也是最常見的磁碟陣列等級。

实现 编辑

Storage Networking Industry Association (SNIA)对于RAID 6的定义是:"在任意两块磁盘同时失效的情况下,仍然能够对RAID中的所有虚拟磁盘执行讀写操作的RAID实现。迄今已经有:(奇偶里德-所罗门)双校验、正交双奇偶校验和对角奇偶校验等若干方法用于实现RAID 6。"[3]

为了达到容忍任意两块磁盘失效的目的,需要计算两种不同的综合解码。其中之一是P,可以象RAID 5那样经过简单的异或计算获得,而另一个不同的综合编码则比较复杂,需要利用域论来解决。

要解决这个问题,需要引入一个 伽罗瓦域,对于一个合适的k次不可约多项式  。一块数据可以二进制形式记作 ,其中 是 0 或者 1,对应着伽罗瓦域中的元素 。令 对应磁盘条带中的数据,以这种方式编码成域中的元素(实际上可能会切分成字节大小的块)。如果 是域的某个生成元,且   表示域中的加法、并列表示域中的乘法的话,则   的计算可以表示为(  表示数据磁盘的编号):

 
 

对于计算机科学知识背景的人士,比较容易理解的方法是把   看作是异或运算、把   看作对一块数据进行线性反馈移位寄存器操作的结果。于是上述公式[4]P的计算就是对每个条带进行异或。这是因为对于任何二阶有限域而言,加法其实就是异或。Q的计算则是对每个条带进行移位运算之后的结果进行异或。

如果一块数据磁盘失效了,数据可以同 RAID 5 一样重新计算出来。如果两块数据磁盘或者一块数据磁盘和一块包含P的磁盘失效了,数据可以通过PQ(或者仅通过 Q)通过更加复杂的过程重新计算出来,计算的过程需要用到域论,非常复杂。而如果    ( ) 两块数据盘丢失了,使用   的其他信息可以求出    ,而   

 
 

  的等式的两端同时乘以  ,并加到前面的等式中就可以得到  ,就可以求出  , 进一步就可以求出 

与计算 P 相比,对 Q 的计算要更加消耗CPU。所以软件方式实现的 RAID 6 对于系统性能会有明显的影响,而硬件方案则相对复杂。

混合RAID 编辑

JBOD 编辑

 
JBOD

JBOD(Just a Bunch Of Disks)在分類上,JBOD並不是RAID的等級。由於並沒有規範,市場上有兩類主流的做法

  1. 使用單獨的連結端口如SATA、USB或1394同時控制多個各別獨立的硬碟,使用這種模式通常是較高階的設備,還具備有RAID的功能,不需要依靠JBOD達到合併邏輯磁區的目的。
  2. 只是將多個硬碟空間合併成一個大的邏輯硬碟,沒有錯誤備援機制。

資料的存放機制是由第一顆硬碟開始依序往後存放,即作業系統看到的是一個大硬碟(由許多小硬碟組成的)。但如果硬碟損毀,則該顆硬碟上的所有数据將無法救回。若第一顆硬碟損壞,通常無法作救援(因為大部分檔案系統將磁碟分割表(partition table)存在磁碟前端,即第一顆),失去磁碟分割表即失去一切数据,若遭遇磁碟陣列資料或硬碟出錯的狀況,危險程度較RAID 0更劇。它的好處是不會像RAID 0,每次存取都要讀寫全部硬碟。但在部分的JBOD數據恢復實踐中,可以恢復未損毀之硬碟上的數據。同時,因為每次讀寫操作只作用於單一硬碟,JBOD的傳輸速率與I/O表現均與單顆硬碟無異。

 

RAID 7 编辑

RAID 7並非公開的RAID標準,而是Storage Computer Corporation的專利硬體產品名稱,RAID 7是以RAID 3及RAID 4為基礎所發展,但是經過強化以解決原來的一些限制。另外,在實作中使用大量的快取記憶體以及用以實現非同步陣列管理的專用即时處理器,使得RAID 7可以同時處理大量的IO要求,所以效能甚至超越了許多其他RAID標準的實作產品。但也因為如此,在價格方面非常的高昂。[5]

RAID 10/01 编辑

 
 

RAID 10是先做镜像卷RAID 1 將所有硬碟分為兩組,再做RAID 0 执行条带化操作分割数据 ,視為以RAID 1作为最低組合,然後將每组RAID 1视为一个“硬盘”组合为RAID 0運作。

RAID 01則是跟RAID 10的程序相反,是先將数据分割。再做镜像卷RAID 1 它將所有的硬碟分為兩組,每组各自构成为RAID 0作为最低組合,而將兩組硬碟组合为RAID 1運作。

當RAID 10有一個硬碟受損,其餘硬碟會繼續運作。RAID 01只要有一個硬碟受損,同組RAID 0的所有硬碟都會停止運作,只剩下其他組的硬碟運作,可靠性較低。如果以六個硬碟建RAID 01,鏡像再用三個建RAID 0,那麼壞一個硬碟便會有三個硬碟離線。因此,RAID 10遠較RAID 01常用,零售主機板絕大部份支援RAID 0/1/5/10,但不支援RAID 01。

RAID 50 编辑

 
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顆或2顆以上硬碟損毀,整組RAID 50就會失效。

RAID 50由於在上層把多組RAID 5構成Stripe,效能比起單純的RAID 5高,容量利用率比RAID5要低。比如同樣使用9顆硬碟,由各3顆RAID 5再組成RAID 0的RAID 50,每組RAID 5浪費一顆硬碟,利用率為(1-3/9),RAID 5則為(1-1/9)。

RAID 53 编辑

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

RAID 60 编辑

 
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存取,因此效能較高。不過使用門檻高,而且容量利用率低是較大的問題。

應用 编辑

RAID2、3、4較少實際應用,因為RAID0、RAID1、RAID5、RAID6和混合RAID已經涵蓋所需的功能,因此RAID2、3、4大多只在研究領域有實作,而實際應用上則以RAID0、RAID1、RAID5、RAID6和混合RAID為主。

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

種類 编辑

根据实现模式,分为软件和硬件两种:[6]

軟體磁碟陣列(Software RAID):
主要由CPU處理陣列儲存作業,缺點為耗損較多CPU資源運算RAID,優點則是價格偏低。分類有3種:
  • 基於主機板的磁碟陣列:只需要主機板支援即可(通常是晶片組內建的RAID功能,如Intel Matrix RAID,Intel Rapid Storage Technology),不需要任何磁碟陣列卡。若主機板損壞,可能難以購買同款主機板重建RAID。
  • 硬體輔助磁碟陣列(Hardware-Assisted RAID):需要一張基於Fake RAID的RAID卡,以及廠商所提供的驅動程式,但此類RAID卡仍然通過CPU進行運算。這款RAID較易遷移到其他電腦。RAID功能靠執行於作業系統的廠商驅動程式和CPU運算提供。
  • 作業系統的RAID功能:如LinuxFreeBSDWindows Server等作業系統內建RAID功能。
硬體磁碟陣列(Hardware RAID)
RAID卡上內建處理器,不需要伺服器的CPU運算。優點是讀寫效能最快,不佔用伺服器資源,可用於任何作業系統,也能在系統斷電後,透過備份電池模組(BBU, Backup Battery Unit)以及非揮發性記憶體(NVRAM)將硬碟讀寫日誌(Journal)包含的剩餘讀寫作業先記錄在記憶體中,等待電力供應復原後,再由NVRAM取回日誌資料,接著再完成讀寫作業,將剩餘讀寫作業安全完成以確保讀寫完整性。備份電池模組通常會配合陣列卡的Write-Back快取模式,藉由此記憶體快取讀寫作業以得到更高的讀寫效能;但是沒有備份電池模組的硬體磁碟陣列卡,切勿使用Write-Back快取模式以免遭遇斷電情形導致讀寫資料流失。此外,因為硬體磁碟陣列卡搭載內建處理器,所以可以與作業系統分離出來,對硬碟進行各種作業,還原作業的速度也比軟體磁碟陣列快。缺點是其售價很高。

磁碟陣列相關客戶類型 编辑

参考文献 编辑

  1. ^ . 2010-08-04 [2022-01-26]. (原始内容存档于2022-01-26). 
  2. ^ . [2022-03-20]. (原始内容存档于2022-03-20). 
  3. ^ . SNIA.org. Storage Networking Industry Association. [2007-11-24]. (原始内容存档于2007-12-02). 
  4. ^ Anvin, H. Peter. The Mathematics of RAID-6 (PDF). Kernel.org. Linux Kernel Organization. May 21, 2009 [November 4, 2009]. (原始内容 (PDF)于2015-05-30). 
  5. ^ RAID Level 7. [2010-07-29]. (原始内容于2010-06-21). 
  6. ^ Hardware RAID vs. Software RAID: Which Implementation is Best for my Application? [軟體磁碟陣列與硬體磁碟陣列:哪種實作更好?] (PDF). Adaptec公司. [2019-03-17]. (原始内容 (PDF)于2019-03-15). 

外部連結 编辑

raid, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目可参照英語維基百科相應條目来扩充, 2020年7月28日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签,. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目可参照英語維基百科相應條目来扩充 2020年7月28日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 此條目需要补充更多来源 2022年10月18日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而被移除 致使用者 请搜索一下条目的标题 来源搜索 RAID 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 关于与 RAID 標題相近或相同的条目 請見 RAID 消歧義 独立硬盘冗余阵列 RAID Redundant Array of Independent Disks 舊稱廉价磁盘冗余阵列 Redundant Array of Inexpensive Disks 簡稱磁盘阵列 利用虛擬化儲存技術把多個硬碟組合起來 成為一個或多個硬碟陣列組 目的為提升效能或資料冗餘 或是兩者同時提升 RAID 的各地常用別名中国大陸独立硬盘冗余阵列臺灣容錯式磁碟陣列港澳獨立磁碟冗餘陣列在運作中 取決於 RAID 層級不同 資料會以多種模式分散於各個硬碟 RAID 層級的命名會以 RAID 開頭並帶數字 例如 RAID 0 RAID 1 RAID 5 RAID 6 RAID 7 RAID 01 RAID 10 RAID 50 RAID 60 每種等級都有其理論上的優缺點 不同的等級在兩個目標間取得平衡 分別是增加資料可靠性以及增加存储器 群 读写效能 簡單來說 RAID把多個硬碟組合成為一個邏輯硬碟 因此 作業系統只會把它當作一個實體硬碟 RAID常被用在伺服器電腦上 並且常使用完全相同的硬碟作為組合 由於硬碟價格的不斷下降與RAID功能更加有效地與主機板整合 它也成為普通用户的一個選擇 特別是需要大容量儲存空間的工作 如 視訊與音訊製作 目录 1 磁碟陣列比較表 2 标准RAID 2 1 RAID 0 2 2 RAID 1 2 3 RAID 2 2 4 RAID 3 2 5 RAID 4 2 6 RAID 5 2 7 RAID 6 2 7 1 实现 3 混合RAID 3 1 JBOD 3 2 RAID 7 3 3 RAID 10 01 3 4 RAID 50 3 5 RAID 53 3 6 RAID 60 4 應用 5 種類 6 磁碟陣列相關客戶類型 7 参考文献 8 外部連結磁碟陣列比較表 编辑RAID等級 最少硬碟 最大容錯 可用容量 讀取效能 寫入效能 安全性 目的 應用產業單一硬碟 參考 0 1 1 1 無JBOD 1 0 n 1 1 無 同RAID 0 增加容量 個人 暫時 儲存備份0 2 0 n n n 一個硬碟異常 全部硬碟都會異常 追求最大容量 速度 影片剪接快取用途1 2 n 1 1 n 1 高 一個正常即可 追求最大安全性 個人 企業備份5 3 1 n 1 n 1 n 1 中下至中 追求最大容量 最小預算 個人 小型企業備份6 4 2 n 2 n 2 n 2 中至中高 僅安全性較RAID 5高 同RAID 5 但較安全 個人 企業備份10 4 高 綜合RAID 0 1優點 理論速度較快 大型資料庫 伺服器50 6 高 提升資料安全60 8 高 提升資料安全1 n代表硬碟總數 2 JBOD Just a Bunch Of Disks 指將數個物理硬碟 在操作系統中合併成一個邏輯硬碟 以直接增加容量 3 依不同 RAID 廠商實作演算法對於效能表現會有不同 效能公式僅供參考 4 RAID 10 50 60 依實作 Parity 不同公式也不同标准RAID 编辑RAID 0 编辑 nbsp RAID 0RAID 0亦称为带区卷 它將兩个以上的磁盘並联起来 成为一个大容量的磁盘 在存放数据时 分段后分散儲存在这些磁盘中 因為讀寫時都可以并行處理 所以在所有的级别中 RAID 0的速度是最快的 但是RAID 0既没有冗余功能 也不具備容錯能力 如果一个磁盘 物理 损坏 所有数据都会丢失 危險程度與JBOD相當 RAID 1 编辑 nbsp RAID 1两组以上的N個磁盘相互作镜像 在一些多线程操作系统中能有很好的读取速度 理論上读取速度等於硬盘數量的倍數 与RAID 0相同 另外写入速度有微小的降低 只要一個磁盘正常即可维持运作 可靠性最高 其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据 当主硬盘 物理 损坏时 镜像硬盘则代替主硬盘的工作 因为有镜像硬盘做数据备份 所以RAID 1的数据安全性在所有的RAID级别上来说是最好的 但無論用多少磁碟做RAID 1 僅算一個磁碟的容量 是所有RAID中磁盘利用率最低的一個级别 如果用兩個不同大小的磁碟建RAID 1 可用空間為較小的那個磁碟 較大的磁碟多出來的空間也可以分割成一個區來使用 不會造成浪費 S i z e min S 1 S 2 S 3 displaystyle begin aligned Size amp min left S 1 S 2 S 3 dots right end aligned nbsp RAID 1没有校验机制 用两个磁盘组成RAID 1阵列 如果两个硬盘上的数据出現差異 RAID 1會不知道該相信哪一个硬盘 這種情形稱作大脑分裂 英语 Split brain computing 事实上 RAID 1的磁盘数量越多 越有可能其中某个磁盘的数据变得不一致 但仍然工作 RAID 1只会从第一个工作的硬盘里提供数据 没有办法检测到底哪个硬盘的数据不对 1 RAID 2 编辑 nbsp RAID 2这是RAID 0的改良版 以汉明码 Hamming Code 的方式将数据进行编码后分割为独立的位元 并将数据分别写入硬盘中 因为在数据中加入错误修正码 ECC Error Correction Code 所以数据整体的容量会比原始数据大一些 RAID 2最少要三台磁碟機方能運作 RAID 3 编辑 nbsp RAID 3採用Bit interleaving 数据交错儲存 技術 它需要通过编码再将数据位元分割後分别存在硬盘中 而将相同位元检查後单独存在一个硬盘中 但由于数据内的位元分散在不同的硬盘上 因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作 所以这种规格比较适于读取大量数据时使用 RAID 4 编辑 nbsp RAID 4采用块交织技术 Block interleaving 它与RAID 3不同的是它在分割时是以区块为单位分别存在硬盘中 但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对 由于过于频繁的使用 所以对硬盘的损耗可能会提高 RAID 5 编辑 此章节的準確性有爭議 nbsp RAID 5RAID 5是一种储存性能 数据安全和存储成本兼顾的存储解决方案 它使用的是Disk Striping 硬盘分割 技术 RAID 5使用 奇偶校验位 与 RAID 4 一样 有效大小是 N 1 个磁盘的大小 然而 由于奇偶校验信息也在 N 个驱动器之间均匀分布 因此避免了每次写入都必须更新奇偶校验磁盘的瓶颈 防止单个磁盘故障 而且访问速度快 2 RAID 5不是对存储的数据进行备份 而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上 并且奇偶校验信息和相对应的数据分别存储於不同的磁盘上 当RAID 5的一个磁盘数据发生损坏後 可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据 RAID 5可以理解为是RAID 0和RAID 1的折衷方案 RAID 5可以为系统提供数据安全保障 但保障程度要比鏡像低而磁盘空间利用率要比鏡像高 RAID 5具有和RAID 0相近似的数据读取速度 只是因为多了一个奇偶校验信息 写入数据的速度相对单独写入一块硬盘的速度略慢 若使用 回寫快取 可以讓效能改善不少 同时由于多个数据对应一个奇偶校验信息 RAID 5的磁盘空间利用率要比RAID 1高 存储成本相对较便宜 冗余磁盘阵列在最可能发生的单个磁盘故障情况下提供保护 在这种情况下 单个磁盘只是停止工作 这消除了构建大型 EIDE 增强型IDE 磁盘阵列的主要障碍 RAID 5 并不能完全防止其他类型的磁盘故障 RAID 5 将在单个磁盘停止工作但导致整个 EIDE 总线发生故障 或整个 EIDE 控制器卡发生故障 但只是暂时停止运行的情况下提供有限的保护 这将暂时禁用整个 RAID 5 阵列 如果更换坏盘解决了问题 即故障没有永久损坏其他磁盘上的数据 那么 RAID 5 阵列将正常恢复 相似的如果只是控制器卡损坏 则更换它将使 RAID 5 阵列正常恢复 但是 如果不止一个磁盘损坏 尤其是文件或目录结构信息损坏 整个 RAID 5 阵列就会损坏 剩余的故障模式是磁盘正在传送损坏的数据 RAID 5 没有对此固有的保护 但是 可以在事件标头中内置对数据的纵向奇偶校验 例如校验和记录计数 CRC 以标记问题 S i z e N 1 min S 1 S 2 S N displaystyle begin aligned Size amp N 1 times min left S 1 S 2 dots S N right end aligned nbsp RAID 6 编辑 nbsp RAID 6与RAID 5相比 RAID 6增加第二个独立的奇偶校验信息块 两个独立的奇偶系统使用不同的算法 数据的可靠性非常高 任意两块磁盘同时失效时不会影响数据完整性 RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算 相对于RAID 5有更大的IO操作量和计算量 其 写性能 强烈取决于具体的实现方案 因此RAID 6通常不会通过软件方式来实现 而更可能通过硬件方式实现 同一陣列中最多容許兩個磁盘损坏 更換新磁盘后 資料将会重新算出并写入新的磁盘中 依照设计理论 RAID 6必須具備四個以上的磁盘才能生效 可使用的容量为硬盘总数减去2的差 乘以最小容量 公式为 S i z e N 2 min S 1 S 2 S 3 S N displaystyle begin aligned Size amp N 2 times min left S 1 S 2 S 3 dots S N right end aligned nbsp 同理 数据保护区域容量则为最小容量乘以2 RAID 6在硬體磁碟陣列卡的功能中 也是最常見的磁碟陣列等級 实现 编辑 Storage Networking Industry Association SNIA 对于RAID 6的定义是 在任意两块磁盘同时失效的情况下 仍然能够对RAID中的所有虚拟磁盘执行讀写操作的RAID实现 迄今已经有 奇偶和里德 所罗门 双校验 正交双奇偶校验和对角奇偶校验等若干方法用于实现RAID 6 3 为了达到容忍任意两块磁盘失效的目的 需要计算两种不同的综合解码 其中之一是P 可以象RAID 5那样经过简单的异或计算获得 而另一个不同的综合编码则比较复杂 需要利用域论来解决 要解决这个问题 需要引入一个m 2 k displaystyle m 2 k nbsp 的伽罗瓦域 对于一个合适的k次不可约多项式p x displaystyle p x nbsp G F m F 2 x p x displaystyle GF m cong F 2 x p x nbsp 一块数据可以二进制形式记作d k 1 d k 2 d 0 displaystyle d k 1 d k 2 d 0 nbsp 其中d i displaystyle d i nbsp 是 0 或者 1 对应着伽罗瓦域中的元素d k 1 x k 1 d k 2 x k 2 d 1 x d 0 displaystyle d k 1 x k 1 d k 2 x k 2 d 1 x d 0 nbsp 令D 0 D n 1 G F m displaystyle D 0 D n 1 in GF m nbsp 对应磁盘条带中的数据 以这种方式编码成域中的元素 实际上可能会切分成字节大小的块 如果g displaystyle g nbsp 是域的某个生成元 且 displaystyle oplus nbsp 表示域中的加法 并列表示域中的乘法的话 则 P displaystyle mathbf P nbsp 和 Q displaystyle mathbf Q nbsp 的计算可以表示为 n displaystyle n nbsp 表示数据磁盘的编号 P i D i D 0 D 1 D 2 D n 1 displaystyle mathbf P bigoplus i D i mathbf D 0 oplus mathbf D 1 oplus mathbf D 2 oplus oplus mathbf D n 1 nbsp Q i g i D i g 0 D 0 g 1 D 1 g 2 D 2 g n 1 D n 1 displaystyle mathbf Q bigoplus i g i D i g 0 mathbf D 0 oplus g 1 mathbf D 1 oplus g 2 mathbf D 2 oplus oplus g n 1 mathbf D n 1 nbsp 对于计算机科学知识背景的人士 比较容易理解的方法是把 displaystyle oplus nbsp 看作是异或运算 把 g i displaystyle g i nbsp 看作对一块数据进行线性反馈移位寄存器操作的结果 于是上述公式 4 中P的计算就是对每个条带进行异或 这是因为对于任何二阶有限域而言 加法其实就是异或 Q的计算则是对每个条带进行移位运算之后的结果进行异或 如果一块数据磁盘失效了 数据可以同 RAID 5 一样重新计算出来 如果两块数据磁盘或者一块数据磁盘和一块包含P的磁盘失效了 数据可以通过P 和 Q 或者仅通过 Q 通过更加复杂的过程重新计算出来 计算的过程需要用到域论 非常复杂 而如果 D i displaystyle D i nbsp 和 D j displaystyle D j nbsp i j displaystyle i neq j nbsp 两块数据盘丢失了 使用 D displaystyle D nbsp 的其他信息可以求出 A displaystyle A nbsp 和 B displaystyle B nbsp 而 D i D j A displaystyle D i oplus D j A nbsp 和 g i D i g j D j B displaystyle g i D i oplus g j D j B nbsp A ℓ ℓ i a n d ℓ j D ℓ P D 0 D 1 D i 1 D i 1 D j 1 D j 1 D n 1 displaystyle A bigoplus ell ell not i mathrm and ell not j D ell mathbf P oplus mathbf D 0 oplus mathbf D 1 oplus dots oplus mathbf D i 1 oplus mathbf D i 1 oplus dots oplus mathbf D j 1 oplus mathbf D j 1 oplus dots oplus mathbf D n 1 nbsp B ℓ ℓ i a n d ℓ j g ℓ D ℓ Q g 0 D 0 g 1 D 1 g i 1 D i 1 g i 1 D i 1 g j 1 D j 1 g j 1 D j 1 g n 1 D n 1 displaystyle B bigoplus ell ell not i mathrm and ell not j g ell D ell mathbf Q oplus g 0 mathbf D 0 oplus g 1 mathbf D 1 oplus dots oplus g i 1 mathbf D i 1 oplus g i 1 mathbf D i 1 oplus dots oplus g j 1 mathbf D j 1 oplus g j 1 mathbf D j 1 oplus dots oplus g n 1 mathbf D n 1 nbsp 把 B displaystyle B nbsp 的等式的两端同时乘以 g n i displaystyle g n i nbsp 并加到前面的等式中就可以得到 g n i j 1 D j g n i B A displaystyle g n i j oplus 1 D j g n i B oplus A nbsp 就可以求出 D j displaystyle D j nbsp 进一步就可以求出D i displaystyle D i nbsp 与计算 P 相比 对 Q 的计算要更加消耗CPU 所以软件方式实现的 RAID 6 对于系统性能会有明显的影响 而硬件方案则相对复杂 混合RAID 编辑JBOD 编辑 nbsp JBODJBOD Just a Bunch Of Disks 在分類上 JBOD並不是RAID的等級 由於並沒有規範 市場上有兩類主流的做法 使用單獨的連結端口如SATA USB或1394同時控制多個各別獨立的硬碟 使用這種模式通常是較高階的設備 還具備有RAID的功能 不需要依靠JBOD達到合併邏輯磁區的目的 只是將多個硬碟空間合併成一個大的邏輯硬碟 沒有錯誤備援機制 資料的存放機制是由第一顆硬碟開始依序往後存放 即作業系統看到的是一個大硬碟 由許多小硬碟組成的 但如果硬碟損毀 則該顆硬碟上的所有数据將無法救回 若第一顆硬碟損壞 通常無法作救援 因為大部分檔案系統將磁碟分割表 partition table 存在磁碟前端 即第一顆 失去磁碟分割表即失去一切数据 若遭遇磁碟陣列資料或硬碟出錯的狀況 危險程度較RAID 0更劇 它的好處是不會像RAID 0 每次存取都要讀寫全部硬碟 但在部分的JBOD數據恢復實踐中 可以恢復未損毀之硬碟上的數據 同時 因為每次讀寫操作只作用於單一硬碟 JBOD的傳輸速率與I O表現均與單顆硬碟無異 Size sum of all discs displaystyle begin aligned text Size amp text sum of all discs end aligned nbsp RAID 7 编辑 RAID 7並非公開的RAID標準 而是Storage Computer Corporation的專利硬體產品名稱 RAID 7是以RAID 3及RAID 4為基礎所發展 但是經過強化以解決原來的一些限制 另外 在實作中使用大量的快取記憶體以及用以實現非同步陣列管理的專用即时處理器 使得RAID 7可以同時處理大量的IO要求 所以效能甚至超越了許多其他RAID標準的實作產品 但也因為如此 在價格方面非常的高昂 5 RAID 10 01 编辑 nbsp nbsp RAID 10是先做镜像卷RAID 1 將所有硬碟分為兩組 再做RAID 0 执行条带化操作分割数据 視為以RAID 1作为最低組合 然後將每组RAID 1视为一个 硬盘 组合为RAID 0運作 RAID 01則是跟RAID 10的程序相反 是先將数据分割 再做镜像卷RAID 1 它將所有的硬碟分為兩組 每组各自构成为RAID 0作为最低組合 而將兩組硬碟组合为RAID 1運作 當RAID 10有一個硬碟受損 其餘硬碟會繼續運作 RAID 01只要有一個硬碟受損 同組RAID 0的所有硬碟都會停止運作 只剩下其他組的硬碟運作 可靠性較低 如果以六個硬碟建RAID 01 鏡像再用三個建RAID 0 那麼壞一個硬碟便會有三個硬碟離線 因此 RAID 10遠較RAID 01常用 零售主機板絕大部份支援RAID 0 1 5 10 但不支援RAID 01 RAID 50 编辑 nbsp RAID 50RAID 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顆或2顆以上硬碟損毀 整組RAID 50就會失效 RAID 50由於在上層把多組RAID 5構成Stripe 效能比起單純的RAID 5高 容量利用率比RAID5要低 比如同樣使用9顆硬碟 由各3顆RAID 5再組成RAID 0的RAID 50 每組RAID 5浪費一顆硬碟 利用率為 1 3 9 RAID 5則為 1 1 9 RAID 53 编辑 它擁有一個鏡像條帶陣列 硬碟裡其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬碟陣列 RAID 60 编辑 nbsp raid 60RAID 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存取 因此效能較高 不過使用門檻高 而且容量利用率低是較大的問題 應用 编辑RAID2 3 4較少實際應用 因為RAID0 RAID1 RAID5 RAID6和混合RAID已經涵蓋所需的功能 因此RAID2 3 4大多只在研究領域有實作 而實際應用上則以RAID0 RAID1 RAID5 RAID6和混合RAID為主 RAID4有應用在某些商用機器上 像是NetApp公司設計的NAS系統就是使用RAID4的設計概念 種類 编辑根据实现模式 分为软件和硬件两种 6 軟體磁碟陣列 Software RAID 主要由CPU處理陣列儲存作業 缺點為耗損較多CPU資源運算RAID 優點則是價格偏低 分類有3種 基於主機板的磁碟陣列 只需要主機板支援即可 通常是晶片組內建的RAID功能 如Intel Matrix RAID Intel Rapid Storage Technology 不需要任何磁碟陣列卡 若主機板損壞 可能難以購買同款主機板重建RAID 硬體輔助磁碟陣列 Hardware Assisted RAID 需要一張基於Fake RAID的RAID卡 以及廠商所提供的驅動程式 但此類RAID卡仍然通過CPU進行運算 這款RAID較易遷移到其他電腦 RAID功能靠執行於作業系統的廠商驅動程式和CPU運算提供 作業系統的RAID功能 如Linux FreeBSD Windows Server等作業系統內建RAID功能 硬體磁碟陣列 Hardware RAID RAID卡上內建處理器 不需要伺服器的CPU運算 優點是讀寫效能最快 不佔用伺服器資源 可用於任何作業系統 也能在系統斷電後 透過備份電池模組 BBU Backup Battery Unit 以及非揮發性記憶體 NVRAM 將硬碟讀寫日誌 Journal 包含的剩餘讀寫作業先記錄在記憶體中 等待電力供應復原後 再由NVRAM取回日誌資料 接著再完成讀寫作業 將剩餘讀寫作業安全完成以確保讀寫完整性 備份電池模組通常會配合陣列卡的Write Back快取模式 藉由此記憶體快取讀寫作業以得到更高的讀寫效能 但是沒有備份電池模組的硬體磁碟陣列卡 切勿使用Write Back快取模式以免遭遇斷電情形導致讀寫資料流失 此外 因為硬體磁碟陣列卡搭載內建處理器 所以可以與作業系統分離出來 對硬碟進行各種作業 還原作業的速度也比軟體磁碟陣列快 缺點是其售價很高 磁碟陣列相關客戶類型 编辑企業資源計畫 ERP 系統 網路附加儲存 NAS 系統 影音多媒體數位內容創作公司 個人影音剪輯數位內容工作室 攝影工作室 攝影公司 電視台 廣播電台及線上內容提供者等傳統媒體及新媒體 數位監控系統 DVR 網路監控系統 NVR 等等需要大量儲存影片的監控系統業者 軍方 賭場因為需要大量監控系統也是常見使用磁碟陣列的客戶 證券 銀行等金融行業保管重要客戶資料 参考文献 编辑 High availability with the Distributed Replicated Block Device 2010 08 04 2022 01 26 原始内容存档于2022 01 26 Terabyte IDE RAID 5 Disk Arrays 2022 03 20 原始内容存档于2022 03 20 Dictionary R SNIA org Storage Networking Industry Association 2007 11 24 原始内容存档于2007 12 02 Anvin H Peter The Mathematics of RAID 6 PDF Kernel org Linux Kernel Organization May 21 2009 November 4 2009 原始内容存档 PDF 于2015 05 30 RAID Level 7 2010 07 29 原始内容存档于2010 06 21 Hardware RAID vs Software RAID Which Implementation is Best for my Application 軟體磁碟陣列與硬體磁碟陣列 哪種實作更好 PDF Adaptec公司 2019 03 17 原始内容存档 PDF 于2019 03 15 外部連結 编辑Raid System Raid 页面存档备份 存于互联网档案馆 RAID 容量計算器 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title RAID amp oldid 78580132 JBOD, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。