RAID 2.0+是把相同的數據存儲在多個硬碟的不同的地方(因此,冗餘地)的技術,也稱塊級虛擬化技術。
傳統RAID,RAID2.0,定義,技術優點,
傳統RAID
獨立磁碟冗餘陣列(RAID,redundant array of independent disks)是把相同的數據存儲在多個硬碟的不同的地方(因此,冗餘地)的方法。通過把數據放在多個硬碟上,輸入輸出操作能以平衡的方式交疊,改良性能,同時增加了平均故障間隔時間(MTBF)。在大多存儲系統中,RAID都是以物理硬碟為單元,故其故障恢復機制如圖1所示:
圖1:RAID系統故障恢復機制
但對於傳統RAID系統而言,重構過程中數據沒有可靠性保障,如果在重構完成前出現壞盤就將造成數據丟失,且不可恢復。所以對於一個存儲系統而言,其可靠性的最重要標誌就是其RAID重構時間越小越好,從而降低重構完成前再次壞盤的機率。早期存儲系統大多使用FC糟且容量僅為幾十個G,因此重構時間較短,重構中再次壞盤的機率低。但隨著硬碟容量的快速增長,硬碟讀寫速度受磁碟轉速等多方面影響增長緩慢,已無法滿足系統對重構時間的要求。以一塊2TB 7.2K rpm盤為例,重構時平均寫入速度為30M/s左右,完成重構時間長達18個小時,因此重構過程中出現新的壞盤機率到大大增加,數據丟失的風險也大大增加。因此傳統RAID技術已無法滿足在系統中使用現代大容量硬碟的要求。在過去的幾年裡,許多存儲領域的創新型初創公司如HUAWEI、3PAR等公司已經將磁碟陣列從基於磁碟的RAID發展成更為靈活的RAID 2.0及RAID 2.0+技術,不但整合了數據保護和跨磁碟規劃數據分布的功能,而且充分滿足虛擬機環境下對存儲的套用需求。
RAID2.0
RAID 2.0(獨立磁碟冗餘數組2.0, Redundant Array of Independent Disks Version 2.0),為增強型RAID技術,有效解決了機械硬碟容量越來越大,重構一塊機械硬碟所需時間越來越長,傳統RAID組重構視窗越來越大而導致重構期間又故障一塊硬碟而徹底丟失數據風險的問題。其基本思想就是把大容量機械硬碟先按照固定的容量切割成多個更小的分塊(Chunk,通常為64MB),RAID組建立在這些小分塊上,而不是某些硬碟上,我們稱為分塊組(Chunk Group)。此時硬碟間不再組成傳統的RAID關係,而是組成更大硬碟數量的硬碟組(建議最大硬碟數量為96-120,不建議超過120塊盤),每個硬碟上不同的分塊可與此硬碟組上不同硬碟上的分塊組成不同RAID類型的分塊組,這樣一個硬碟上的分塊可以屬於多個RAID類型的多個分塊組。以這樣的組織形式,基於RAID2.0技術的存儲系統能夠做到在一塊硬碟故障後,在硬碟組上的所有硬碟上並發進行重構,而不再是傳統RAID的單個熱備盤上進行重構,從而大大降低重構時間,減少重構視窗擴大導致的數據丟失風險,在硬碟容量大幅增加的同時確保存儲系統的性能和可靠性。RAID2.0並沒有改變傳統的各種RAID類型的算法,而是把RAID範圍縮小到分塊組上。因此,RAID2.0技術具備以下技術特徵:
- 幾個、幾十個甚至上百個機械硬碟組成硬碟組;
- 硬碟組中的硬碟被分割成幾十兆、上百兆的分塊,不同硬碟上的分塊組成的分塊組(Chunk Group);
- RAID計算在分塊組(Chunk Group)內進行,系統不再有熱備盤,而是被同一分塊組內保留的熱備塊所代替。
圖2:基於傳統RAID技術的存儲陣列故障恢復機制
圖3:基於RAID 2.0技術的存儲陣列故障恢復機制
由於RAID 2.0系統中一塊硬碟故障後,重構可以在同一硬碟組內其他所有硬碟保留的熱備空間上並發進行,使用RAID 2.0技術的存儲系統具備以下優勢:
- 快速重構:存儲池內所有硬碟參與重構,相對於傳統RAID重構速度大幅提;
- 自動負載均衡:RAID 2.0使得各硬碟均衡分擔負載,不再有熱點硬碟,提升了系統的性能和硬碟可靠性;
- 系統性能提升:LUN基於分塊組創建,可以不受傳統RAID硬碟數量的限制分布在更多的物理硬碟上,因而系統性能隨硬碟IO頻寬增加得以有效提升;
- 自癒合:當出現硬碟預警時,無需熱備盤,無需立即更換故障盤,系統可快速重構,實現自癒合。
定義
RAID2.0+(獨立磁碟冗餘數組2.0, Redundant Array of Independent Disks Version 2.0+)在RAID 2.0的基礎上提供了更細粒度(可以達幾十KB粒度)的資源顆粒,形成存儲資源的標準分配及回收單位,類似計算虛擬化中的虛擬機,我們稱之為虛擬塊。這些容量單位一致的虛擬塊構成了一個統一的存儲資源池,所有套用、中間件、虛擬機、作業系統所需的資源可以在這個資源池中按需分配及回收。相對傳統RAID系統,RAID2.0+技術實現了存儲資源的虛擬化及預配置,存儲資源的申請及釋放完全自動化的通過存儲池實現,而不再需要傳統RAID陣列的RAID組創建,LUN創建,LUN格式化等耗時而容易出錯的手工配置過程。因此,RAID 2.0+技術解決了虛擬機環境下,存儲資源必須動態按需分配及釋放的問題。在RAID 2.0基礎上,RAID2.0+技術具備以下技術特徵:
- 在RAID 2.0基礎上,分塊組(Chunk Group)被切分為容量從256KB到64MB的虛擬化存儲顆粒(Extent);
- 存儲資源以以上顆粒為單位自動分配及釋放;
- 可以以以上顆粒度為單位在存儲池內或不同存儲池間進行細粒度分級存儲;
- 在系統通過擴展控制器擴展性能或容量後,可以通過自動化的遷移這些標準顆粒來達到負載均衡的目的。
圖4:基於RAID 2.0+技術的存儲陣列
技術優點
RAID2.0+技術主要用於實現系統資源的智慧型分配,滿足虛擬機環境對存儲的需求:
- 存儲資源按需自動化分配及釋放,滿足了虛擬機對存儲最本質的需求;
圖5:基於RAID 2.0+技術的存儲容量虛擬化
- 可根據業務實時情況,將不同數據分級存儲,通過靈活調配SSD等高性能存儲資源滿足高性能業務需求;
圖6:基於RAID 2.0+技術的實時資源調配
- 根據業務特點自動遷移數據,提高存儲利用效率;
圖7:基於RAID 2.0+技術的自動數據遷移