有了CRAID 3.0 妈妈再也不担心我数据存储能力了!

 
  作为一种成熟、可靠的硬盘系统数据保护标准,RAID技术自诞生以来一直作为存储系统的基础技术而存在。但是随着近年数据呈现爆炸式增长趋势,传统RAID逐渐暴露出越来越多的问题。

  硬盘故障导致数据丢失时,RAID重构的进程会占用系统的资源,导致应用系统整体性能下降,同时重构的时间漫长,会出现故障或错误,极大地增加数据丢失的风险。另一方面,传统RAID受限于硬盘数量,无法满足企业对资源统一灵活调配的需求,同时数据重构时影响数据的读写性能,那么怎么来提供数据的读写性能呢?

  作为国内为数不多的能够在技术上跟国外存储厂商并驾齐驱的厂商,宏杉科技针对传统RAID的以上问题,提出了全新的CRAID算法。
 
 一.独具匠心的CRAID3.0

  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技术优势的前提下,以数据块为单元管理数据,提升数据读写性能和减少重建时间。

图1 CRAID 3.0

 
  二.CRAID 3.0是这样“炼成”的!

  2.1 CRAID3.0基本原理

  宏杉科技CRAID3.0采用底层硬盘管理和上层资源管理两层虚拟化进行管理的模式,每个硬盘空间被划分成一个个小粒度的数据块,在这些数据块的基础上来构建RAID组,使得数据均匀地分布到存储池的所有硬盘上,同时,以数据块为单元来进行资源管理,大大提高了资源管理的效率。

  1) 每个硬盘被切分成固定大小的数据块(Chunk,也叫CK)。存储系统将不同硬盘的Chunk(CK)按照RAID算法组成Chunk Group(DCG);

图2 Chunk和DCG

  2)DCG被划分为固定大小的存储单元Cell, Cell是构成LUN的基本单位。一个存储池基于指定的一个硬盘域创建,可以从该硬盘域上动态的分配Chunk(CK)资源,并按照每个存储层的"RAID策略"组成DCG向应用提供具有RAID保护的存储资源。

图3 CRAID 3.0技术原理图

 
3)支持RAID 0、1、5、6、10等RAID级别,但是必须是相同的RAID建立一个存储池。
 
  2.2 CRAID 3.0实现框架

  CRAID 3.0的实现框架如下图所示:

  存储系统层由同一类型硬盘组成,不同层级支持不同类型的硬盘:构成高性能层的SSD硬盘,构成性能层的SAS硬盘和构成容量层的SATA硬盘。
 
  每一个存储层的Chunk按照用户设置的"RAID策略"来组成Chunk Group(DCG),用户可以为存储池(Storage Pool)中的每一个存储层分别设置"RAID策略"。
 
  存储系统会将Chunk Group(DCG)切分为更小的Cell。Cell作为数据迁移的最小粒度和构成LUN的基本单位。
 
  若干Cell组成对外体现为主机访问的LUN。在处理用户的读写请求以及进行数据迁移时,LUN向存储系统申请空间、释放空间、迁移数据都是以Cell为单位进行的。
 
  三、看看CRAID 3.0优势都有啥?
 
  相比传统RAID技术,CRAID技术在数据安全、系统性能和空间利用率方面都有了明显提高,主要体现如下几方面:
 
  允许任意三块盘故障:CRAID技术不拘泥于传统,采用全新的算法和三重数据校验机制,提供更高的数据安全机制,允许在同一个硬盘组中任意三块硬盘同时发生完全物理故障,数据不丢失,业务不中断。在更换三块新硬盘后,支持并行重建。
 

RAID类型 硬盘物理故障 说 明
RAID1/10/01 坏指定硬盘的1/2 镜像对硬盘不能同时故障,不能坏任意两块盘
RAID5 坏一块盘 不能同时坏两块物理盘
RAID6 坏两块盘 不能同时坏三块物理盘
CRAID 坏任意三块盘 同时可任意坏三块物理盘,数据不丢失

 

       性能负载分摊:CRAID技术采用分散数据块技术,前端主机上的逻辑卷来自于硬盘组中所有硬盘,数据的IO读写压力在硬盘组中实现了所有硬盘均衡分摊,不存在硬盘热点,大幅提升IO读写性能。
  空间利用率高:传统的RAID5/6技术仅含1/2块校验盘。RAID1/10技术通过镜像原理,可允许RAID组中一半硬盘发生故障,数据不丢失,但硬盘空间利用率只有50%。CRAID技术采用N+1/2/3模式,用户可自由指定校验盘的数量,在提升了数据安全的同时,也提高了硬盘空间利用率。
 
  快速重建:针对小块数据的损坏,直接利用资源池中预留的空白Chunk进行快速重建。当预留的空白Chunk使用完以后,仍有数据块发生故障,系统将发生故障的Cell数据直接替换到预留的空白Cell单元上,瞬间完成Cell的替换,保障数据不丢失。同时,基于分散数据块技术,当硬盘组中一块硬盘发生故障,硬盘组中所有硬盘参与并发重建,重建数据流的写带宽不再是性能瓶颈,重建速度进一步提升。
 
  局部重建:不采用热备盘顶替,只对原盘发生变化的部分进行重建。这适用于硬盘未损坏,但发生过闪断或人为误操作造成的短暂硬盘失效。比如硬盘在短时间内被拔出又插回,可只重建硬盘不在位时所变化的数据,重建时间短。这种方式,相比于传统RAID机制,极大降低RAID组性能受影响程度。
 
  优化重建:仅重建被LUN使用的Cell,未使用的Cell不重建。重建调度时,优先重建存在介质错误的Cell,然后再使用拷贝的方式重建其他Cell,以尽可能的避免该Cell所处的其它硬盘发生故障导致的Cell损坏。支持多重重建,可同时重建多个故障硬盘,提高重建总体效率。