作为一种成熟、可靠的硬盘系统数据保护标准,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技术在数据安全、系统性能和空间利用率方面都有了明显提高,主要体现如下几方面: