天天看點

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

概述

什麼是RAID? RAID ( Redundant Array of Independent Disks )即獨立磁盤備援陣列,通常簡稱為磁盤陣列。簡單地說, RAID 是由多個獨立的高性能磁盤驅動器組成的磁盤子系統,進而提供比單個磁盤更高的存儲性能和資料備援的技術。RAID 是一類多磁盤管理技術,其向主機環境提供了成本适中、資料可靠性高的高性能存儲。

RAID 中主要有三個關鍵概念和技術:鏡像( Mirroring )、資料條帶( Data Stripping ) 和 資料校驗( Data parity )。

鏡像:将資料複制到多個磁盤,一方面可以提高可靠性,另一方面可并發從兩個或多個副本讀取資料來提高讀性能。顯而易見,鏡像的寫性能要稍低, 確定資料正确地寫到多個磁盤需要更多的時間消耗。

資料條帶:将資料分片儲存在多個不同的磁盤,多個資料分片共同組成一個完整資料副本,這與鏡像的多個副本是不同的,它通常用于性能考慮。資料條帶具有更高的并發粒度,當通路資料時,可以同時對位于不同磁盤上資料進行讀寫操作, 進而獲得非常可觀的 I/O 性能提升 。

資料校驗:利用備援資料進行資料錯誤檢測和修複,備援資料通常采用海明碼、異或操作等算法來計算獲得。利用校驗功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯能力。不過,資料校驗需要從多處讀取資料并進行計算和對比,會影響系統性能。不同等級的 RAID 采用一個或多個以上的三種技術,來獲得不同的資料可靠性、可用性和 I/O 性能。

對于系統需要采用何種模式的 RAID ,需要在深入了解系統需求的前提下進行合理選擇,綜合評估可靠性、性能和成本來進行折中的選擇。

常見的RAID等級有:

  • 标準RAID RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、RAID6 七個等級定為标準的 RAID 等級
  • 混合RAID:RAID10、RAID50、RAID60...

下面我們分别介紹一下各種RAID級别并做個簡單對比。

RAID0

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

使用N塊磁盤進行組合實作性能翻N倍的效果,寫入資料會分成N部分進行,讀取資料會從磁盤中組合起來讀,這樣就實作了讀寫性能翻倍。

優點:使用RAID0 可以将磁盤空間使用率最大化,能達到100%;性能快,磁盤越多性能越強。

缺點:沒有資料保護,甚至比單盤的風險還大。任意壞了一塊磁盤都會導緻資料丢失。

RAID 1

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

RAID 1 中的磁盤互為鏡像,寫入的資料會存放N份,讀取的時候可以從任意一塊磁盤讀取。實作了讀性能翻倍,寫性能與單盤一樣的效果。

優點:安全性依照陣列中的實體硬碟數量倍數成長。

缺點:空間使用率低,是所有陣列中使用率最低的。

RAID 5

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

RAID5 既考慮了空間使用率又考慮了性能的提升,采用校驗碼的而非鏡像的方式組合而成,RAID5 陣列需要至少3塊磁盤。在上圖中使用了4塊磁盤組合而成,任意一份資料寫入會被分成三個資料塊+一個校驗塊分别放入4個盤,資料塊與校驗塊之間交叉分布,最終每個盤上既有資料塊又有校驗塊。讀資料時A時從Disk 0 ,1 ,2 分别讀取到A1,A2,A3然後組合成A;如果此時有一塊磁盤比如Disk2 損壞,則會通過讀取到的A1、A2+ 校驗碼算出A3,再組合生成資料A對外提供。RAID 5 可以容忍一塊盤的損壞。

優點:讀的情況下是單盤資料的三倍;有一定的安全性,可以容忍損壞一塊磁盤

缺點:由于每次寫資料都需要計算校驗塊,導緻寫性能下降;僅能容忍壞一塊磁盤損壞

RAID 6

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

RAID6可以靈活設計資料庫和校驗塊的比例,上圖中被設計成3個資料塊+2個校驗塊的組合,增加了資料可靠性。RAID 6在備份的資料場景使用較多,提供的資料可靠性比RAID 5要高很多。

優點:容錯硬碟數量比RAID5高

缺點:運算量比RAID5大、空間使用率比RAID5低

RAID 10

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

首先把兩塊盤做鏡像,再按照RAID0的方式組合,既實作了資料的備援又實作了性能翻倍的效果。RAID 1+0多适用于資料庫場景。

RAID 50

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

先做成RAID5的組再組合成RAID0,兼顧RAID5和RAID0的特性。

RAID 60

架構師不得不了解的硬體知識 - 磁盤陣列 RAID概述

image.png

先做成RAID6的組合再組合成RAID0,兼顧RAID6和RAID0的特性。

各種組合之間的對比

RAID級别 備援 空間使用率 讀性能 寫性能 最少磁盤數
100% *** 2
RAID1 50% **
RAID5 67-94% * 3
RAID6 50-88% 4
RAID10
RAID50 6
RAID60 8