架構師不得不瞭解的硬件知識 - 磁盤陣列 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

 

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

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

缺點:沒有數據保護,甚至比單盤的風險還大。任意壞了一塊磁盤都會導致數據丟失。

RAID 1

 

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

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

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

RAID 5

 

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

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

缺點:由於每次寫數據都需要計算校驗塊,導致寫性能下降;僅能容忍壞一塊磁盤損壞

RAID 6

 

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

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

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

RAID 10

 

首先把兩塊盤做鏡像,再按照RAID0的方式組合,既實現了數據的冗餘又實現了性能翻倍的效果。RAID 1+0多適用於數據庫場景。

RAID 50

 

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

RAID 60

image.png

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

各種組合之間的對比

RAID級別 冗餘 空間利用率 讀性能 寫性能 最少磁盤數
RAID0 100% *** *** 2
RAID1 50% ** ** 2
RAID5 67-94% *** * 3
RAID6 50-88% ** * 4
RAID10 50% ** ** 4
RAID50 67-94% *** * 6
RAID60 50-88% ** * 8

好了,各位朋友們,本期的內容到此就全部結束啦,能看到這裏的同學都是優秀的同學,下一個升職加薪的就是你了!
如果覺得這篇文章對你有所幫助的話請掃描下面二維碼加個關注。"轉發" 加 "在看",養成好習慣!咱們下期再見!

 

 

個人博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章