大話存儲 3 - 七種磁盤RAID技術


RAID技術 Redundant Array of Independent Disks

由獨立的磁盤組成的具有冗余特性的陣列。

有兩個特性:

  1. 陣列:需要很多磁盤來組成
  2. 冗余:允許某塊磁盤損壞之后,數據仍然可用

目前,單塊磁盤容量只有幾T,對於現代應用程序來說遠遠不夠。為了提供容量更大的磁盤,發明了RAID技術。

 

1 七種RAID簡介

RAID 0

  • 4個磁盤組成一個陣列
  • 4個扇區組成的塊作為基本單元
  • 不同磁盤的相同偏移處的塊組合成Stripe
  • 數據寫入:數據被分成多塊寫入4個磁盤,而不是順序寫入一個磁盤,這就大大提高了速度 
  • 缺點:其中一塊磁盤廢掉,數據全部丟失。

RAID 1

  • 一個數據盤,一個影子盤
  • 每次寫,寫成功兩塊盤才算成功
  • 沒有提供讀副本的功能,只有數據出現損壞,才會讀第二副本
  • 缺點:短板效應,速度取決於最慢的盤,容量取決於最小的盤。

RAID 2

  • 兩塊數據盤,一塊校驗盤
  • 校驗算法使用漢明碼,可以校驗,並具有糾錯一位的能力。
  • 每個IO下發的數據被以位為單位平均打散在所有數據盤上。
  • 缺點:校驗盤數量太多,開銷太大,成本昂貴。

RAID 3

  • 使用邏輯運算“異或XOR”來進行計算校驗位
  • 將數據盤的每一位之間做XOR運算,然后將結果寫入校驗盤的對應位置。
  • 每次IO的大小:4KB,並要求所有數據盤主軸同步,不然就會等待最慢的那個數據盤完成。
  • 優點:校驗效率較高,成本減少
  • 缺點:不支持IO並發,無法糾正錯誤。對隨機小塊讀寫時,一個很小的IO會占用所有盤。

RAID 4

  • 為了解決RAID 3中小塊隨機讀寫問題,增大了“條帶深度”
  • 如果一個IO過來,這個IO塊小於條帶深度,那么這次IO就被完全禁錮在一塊磁盤上,只會用到一塊磁盤。
  • 缺點:校驗盤是瓶頸。

RAID 5

  • 目的是支持並發IO。
  • 校驗盤分割打散在數據盤上。
  • 連續性能不如RAID 3。
  • 隨機讀性能高。
  • 寫性能較差。寫過程:新數據過來->讀取待更新扇區的原數據->讀取校驗數據->計算新數據校驗數據->將新數據和新校驗數據寫到磁盤。

RAID 6

  • 目的是為了解決超過一塊盤損壞就丟數據的問題。
  • 增加了校驗碼,通過組成方程組求解多個未知數。
  • 缺點:因為要多讀出一個校驗數據,寫性能更差了。

 

2 關於幾個與IO相關的重要概念

IO可以分為讀寫IO、大小塊IO、連續/隨機IO、順序/並發IO、穩定/突發IO、持續/間斷IO和實虛IO。

下面我們來分別了解一下這幾種IO。

1 讀/寫IO

一次IO,就是發指令從磁盤讀寫某段序號連續的扇區內從。

指令一般是通知磁盤從某個扇區開始,並給出從這個初始扇區往后讀取的連續扇區個數,同時給出動作是讀還是寫。

一個IO索要提取的扇區段一定是連續的。

2 大/小塊IO

指控制器的指令中給出的連續讀取扇區數目的多少。如果數目很大,比如128、64等,就是大塊IO。如果很小,比如1、4、8等,就算小塊IO。

3 連續/隨機IO

連續和隨機是指本次IO給出的初始扇區地址和上一次IO的結束扇區地址是不是完全連續或者像個不多的。

如果是,則本次IO應該算是一個連續IO。

如果相差太大,則算一次隨機IO。

4 順序/並發IO

磁盤控制器如果可以同時對一個RAID系統中的多塊磁盤同時發送IO指令,並且這些最底層的IO數據包含了文件系統下發的一個IO的數據,則此時為順序IO。

5 持續/間斷IO

持續不斷地發送或者接受IO請求數據流,這種情況為持續IO。

6 穩定/突發IO

某存儲設備或者某程序在一段時間內接受或者發送的IOPS以及throughput保持響度穩定和恆定,則稱為穩定IO。

如果單位時間的IOPS或者throughput突然猛增,則為突發IO。

7 實/虛IO

讀寫實際文件或者磁盤扇區數據的,稱為實IO

對文件元數據操作的、或針對磁盤發送的非實體數據IO請求的控制性IO,稱為虛IO。

 

參考資料

《大話存儲2-存儲系統架構與底層原理極限剖析》 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM