作為一種成熟、可靠的硬盤系統數據保護標準,RAID技術自誕生以來一直作為存儲系統的基礎技術而存在。但是隨著近年數據呈現爆炸式增長趨勢,傳統RAID逐漸暴露出越來越多的問題。
硬盤故障導致數據丟失時,RAID重構的進程會占用系統的資源,導致應用系統整體性能下降,同時重構的時間漫長,會出現故障或錯誤,極大地增加數據丟失的風險。另一方面,傳統RAID受限于硬盤數量,無法滿足企業對資源統一靈活調配的需求,同時數據重構時影響數據的讀寫性能,那么怎么來提供數據的讀寫性能呢?
作為國內為數不多的能夠在技術上跟國外存儲廠商并駕齊驅的廠商,宏杉科技針對傳統RAID的以上問題,提出了全新的CRAID算法。
CRAID技術是宏杉科技針對傳統RAID的缺陷,在傳統RAID技術之上的革新。CRAID1.0提升了故障硬盤的重建效率;CRAID2.0允許RAID組中任意壞三塊盤,數據不丟失;CRAID3.0提升了數據讀寫性能和減少了重建時間。
CRAID1.0技術,主要是將組建好的RAID組分割為數千甚至上萬個小單元進行精細化管理(也即是Cell),提升了故障硬盤的重建效率,提高了系統可靠性。在此基礎上,宏杉科技又推出了CRAID2.0技術,采用全新的RAID算法和三重校驗機制,可以在一個RAID組中任意壞三塊盤的情況下保證數據的不丟失,業務不中斷。
2015年,宏杉科技又獨具匠心在CRAID1.0和CRAID2.0的基礎上,推出了最新的RAID概念–CRAID3.0技術。將CRAID1.0和CRAID2.0一層虛擬化管理的模式變為兩層虛擬化管理模式,在具備前二種CRAID技術優勢的前提下,以數據塊為單元管理數據,提升數據讀寫性能和減少重建時間。
宏杉科技CRAID3.0采用底層硬盤管理和上層資源管理兩層虛擬化進行管理的模式,每個硬盤空間被劃分成一個個小粒度的數據塊,在這些數據塊的基礎上來構建RAID組,使得數據均勻地分布到存儲池的所有硬盤上,同時,以數據塊為單元來進行資源管理,大大提高了資源管理的效率。
1) 每個硬盤被切分成固定大小的數據塊(Chunk,也叫CK)。存儲系統將不同硬盤的Chunk(CK)按照RAID算法組成Chunk Group(DCG);
2)DCG被劃分為固定大小的存儲單元Cell, Cell是構成LUN的基本單位。一個存儲池基于指定的一個硬盤域創建,可以從該硬盤域上動態的分配Chunk(CK)資源,并按照每個存儲層的“RAID策略”組成DCG向應用提供具有RAID保護的存儲資源。
3)支持RAID 0、1、5、6、10等RAID級別,但是必須是相同的RAID建立一個存儲池。
CRAID 3.0的實現框架如下圖所示:
存儲系統層由同一類型硬盤組成,不同層級支持不同類型的硬盤:構成高性能層的SSD硬盤,構成性能層的SAS硬盤和構成容量層的SATA硬盤。
每一個存儲層的Chunk按照用戶設置的“RAID策略”來組成Chunk Group(DCG),用戶可以為存儲池(Storage Pool)中的每一個存儲層分別設置“RAID策略”。
存儲系統會將Chunk Group(DCG)切分為更小的Cell。Cell作為數據遷移的最小粒度和構成LUN的基本單位。
若干Cell組成對外體現為主機訪問的LUN。在處理用戶的讀寫請求以及進行數據遷移時,LUN向存儲系統申請空間、釋放空間、遷移數據都是以Cell為單位進行的。
相比傳統RAID技術,CRAID技術在數據安全、系統性能和空間利用率方面都有了明顯提高,主要體現如下幾方面: