天天看點

獨立磁盤備援陣列 Raid

0、磁盤陣列

這裡目錄标題

    • 0、磁盤陣列
      • 0.1. Raid簡介
      • 0.2. 條帶化
      • 0.3. Raid0
      • 0.4. Raid1
      • 0.5. Raid2
      • 0.6. Raid3
      • 0.7. Raid4
      • 0.8. Raid5
      • 0.9. Raid6
      • 0.10. Raid 選擇

0.1. Raid簡介

  • Redundant Arrays of Independent Disks( 獨立磁盤備援陣列 )
  • 将資料存放在多塊磁盤肯定能解決IO瓶頸的問題
磁盤陣列是由很多塊獨立的磁盤,組合成一個容量巨大的磁盤組,利用個别磁盤提供資料所産生加成效果
提升整個磁盤系統效能。利用這項技術,将資料切割成許多區段,分别存放在各個硬碟上。

磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任意一個硬碟故障時,仍可讀出資料,
在資料重構時,将資料經計算後重新置入新硬碟中。
           
獨立磁盤備援陣列 Raid

0.2. 條帶化

  • 問題
    • 大多數磁盤系統都對通路次數(每秒的 I/O 操作,IOPS)和資料傳輸率(每秒傳輸的資料量,TPS)有限制。
    • 當達到這些限制時,後面需要通路磁盤的程序就需要等待,這時就是所謂的磁盤沖突。
  • 解決方案
    • 條帶化技術就是将一塊連續的資料分成很多小部分并把他們分别存儲到不同磁盤上去。
    • 這就能使多個程序同時通路資料的多個不同部分而不會造成磁盤沖突;
    • 在對這種資料進行順序通路的時候可以獲得最大程度上的 I/O 并行能力,進而獲得非常好的性能。
獨立磁盤備援陣列 Raid

0.3. Raid0

  • RAID0 具有低成本、高讀寫性能、 100% 的高存儲空間使用率等優點,但是它不提供資料備援保護,一旦資料損壞,将無法恢複。
  • RAID0 一般适用于對性能要求嚴格但對資料安全性和可靠性不高的應用,如視訊、音頻存儲、臨時資料緩存空間等
  • 獨立磁盤備援陣列 Raid

0.4. Raid1

  • RAID1 稱為鏡像,它将資料完全一緻地分别寫到工作磁盤和鏡像磁盤,它的磁盤空間使用率為50%
  • RAID1 在資料寫入時,響應時間會有所影響,但是讀資料的時候沒有影響
  • RAID1 提供了最佳的資料保護,一旦工作磁盤發生故障,系統自動從鏡像磁盤讀取資料,不會影響使用者工作
  • 獨立磁盤備援陣列 Raid

0.5. Raid2

  • RAID2 稱為糾錯海明碼磁盤陣列,其設計思想是利用海明碼實作資料校驗備援。
  • 海明碼是一種在原始資料中加入若幹校驗碼來進行錯誤檢測和糾正的編碼技術,其中第 2n 位( 1,2, 4, 8, … )是校驗碼,其他位置是資料碼
  • 海明碼寬度和校驗碼計算
    • 如果是 4 位資料寬度需要 4 塊資料磁盤和 3 塊校驗磁盤
    • 如果是 64 位資料寬度需要 64 塊 資料磁盤和 7 塊校驗磁盤。
  • 海明碼的資料備援開銷太大,而且 RAID2 的資料輸出性能受陣列中最慢磁盤驅動器的限制。再者,海明碼是按位運算, RAID2 資料重建非常耗時。
獨立磁盤備援陣列 Raid

0.6. Raid3

  • RAID3 是使用專用校驗盤的并行通路陣列,它采用一個專用的磁盤作為校驗盤,其餘磁盤作為資料盤,資料按位可位元組的方式交叉存儲到各個資料盤中
  • RAID3 至少需要三塊磁盤,不同磁盤上同一帶區的資料作 XOR 校驗,校驗值寫入校驗盤中
  • RAID3 完好時讀性能與 RAID0 完全一緻,并行從多個磁盤條帶讀取資料,性能非常高,同時還提供了資料容錯能力。
  • RAID3 寫入資料時,必須計算與所有同條帶的校驗值,并将新校驗值寫入校驗盤中。
  • 一次寫操作包含了寫資料塊、讀取同條帶的資料塊、計算校驗值、寫入校驗值等多個操作,校驗盤系統開銷非常大,性能較低。
  • 如果 RAID3 中某一磁盤出現故障,不會影響資料讀取,可以借助校驗資料和其他完好資料來重建資料。
獨立磁盤備援陣列 Raid

0.7. Raid4

  • RAID4 與 RAID3 的原理大緻相同,差別在于條帶化的方式不同。
  • RAID4 按照塊的方式來組織資料,寫操作隻涉及目前資料盤和校驗盤兩個盤,多個 I/O 請求可以同時得到處理,提高了系統性能。
  • RAID4 按塊存儲可以保證單塊的完整性,可以避免受到其他磁盤上同條帶産生的不利影響。
  • RAID4 提供了非常好的讀性能,但單一的校驗盤往往成為系統性能的瓶頸。
  • 資料塊
    • 資料塊也稱為存儲塊,它包含為檔案系統配置設定的其餘空間。這些資料塊的大小是在建立檔案系統時确定的。
    • 預設情況下,為資料塊配置設定以下兩種大小:8 KB 的邏輯塊大小和 1 KB 的段大小 (fragmentsize)。
獨立磁盤備援陣列 Raid

0.8. Raid5

  • RAID5 應該是目前最常見的 RAID 等級,它的校驗資料分布在陣列中的所有磁盤上,而沒有采用專門的校驗磁盤。
  • 對于資料和校驗資料,它們的寫操作可以同時發生在完全不同的磁盤上。
  • RAID5 還具備很好的擴充性。當陣列磁盤 數量增加時,并行操作量的能力也随之增長
  • RAID5 當一個資料盤損壞時,系統可以根據同一條帶的其他資料塊和對應的校驗資料來重建損壞的資料
  • 重建資料時, RAID5 的性能會受到較大的影響。
獨立磁盤備援陣列 Raid

0.9. Raid6

  • RAID6 引入雙重校驗的概念,它可以保護陣列中同時出現兩個磁盤失效時,陣列仍能夠繼續工作,不會發生資料丢失。
  • RAID6 不僅要支援資料的恢複,還要支援校驗資料的恢複,是以實作代價很高,控制器的設計也比其他等級更複雜、更昂貴。
  • RAID6 思想最常見的實作方式是采用兩個獨立的校驗算法,假設稱為 P 和 Q ,校驗資料可以分别存儲在兩個不同的校驗盤上,或者分散存儲在所有成員磁盤中。
  • RAID6 具有快速的讀取性能、更高的容錯能力。但是,它的成本要高于 RAID5 許多,寫性能也較差,并有設計和實施非常複雜。
獨立磁盤備援陣列 Raid

0.10. Raid 選擇

獨立磁盤備援陣列 Raid

繼續閱讀