概述

大家知道随着磁盘容量的增大,数据在RAID级别的存储可靠性受到了极大的威胁。其最为突出的问题是磁盘重构时间大为增加,对于RAID6而言三块盘坏的几率也大为增加,与此同时,应用性能在磁盘重构时也大为降低。这就是目前传统RAID所遇到的最棘手的问题,很多存储厂商都在想办法解决目前RAID所遇到的问题。针对RAID所遇到的问题,我想基本有两种解决方案,一种就是像当年从RAID5过渡到RAID6一样,为数据增加冗余信息,从而可以增强坏盘数量的容错能力。另一种方法是要改变现有RAID架构,使得RAID架构更加灵活,从而减少RAID的数据重构时间,降低RAID失效的可能性。在此,我对市场上的几种新型RAID进行了调研,在此总结一下。

中科蓝鲸的Smart RAID

×××计算技术研究所存储中心是国内做存储技术的核心团队,其产业化公司是中科蓝鲸。前一段时间推出了一种比较新颖的磁盘阵列,专门应用于视频监控领域,这种RAID被称之为smart RAID。该RAID的示意图如下图所示:

新型RAID技术_第1张图片

从这张图中我们可以看出,该RAID的核心思想是将一个大RAID分解成若干个小RAID,当一个小RAID中发现错误块的时候,仅仅重构这个小RAID,而无需将整个磁盘上的数据全部重构一遍。这种做法显然带来了一个最大的好处,减少了重构时间。其实,这种方法是有理论根据的。人们发现绝大部分的磁盘坏不是整块磁盘损坏,绝大部分情况是部分磁盘上的块出现了问题。基于这种发现,我们可以采用部分重构的方法替代整块磁盘重构,所以,这种解决方案原有的RAID分成了若干个小RAID。看似这种解决方案比较完美,但是,还是存在一些问题,如果整块磁盘损坏了怎么办?如果预留的空闲区域不够用怎么办?如果空闲区域存在坏块怎么办?如果同时有几个小RAID在做数据重构,性能会怎么样?所以,个人以为这种方案灵活性还是不够。由于中科蓝鲸的磁盘阵列是在视频监控领域应用,对数据的可靠性要求不一定很高,但是对持续数据流写性能有很高的要求,因此,这种方案比传统的RAID5更能满足视频监控的应用需求。

Quantum Dynamic Disk Pool

Quantum有一种和传统RAID有所不同的RAID技术,这种技术被称之为Dynamic Disk Pool。其核心思想可以采用下图进行描述。

新型RAID技术_第2张图片

图中,不同颜色的酷块组成了一个小RAID,这个和中科蓝鲸的优点类似,即采用局部块构建传统RAID。这种思想都是基于新型坏盘模型提出来的。所不同的是,每个小RAID都会有自己的Spare D-Piece,并且针对不同的小RAID,这些Spare D-Piece会分布在不同的磁盘上,也就是分布式空闲块的思想。这种做法的好处是显而易见的,如果有多个小RAID在同时重构数据的时候,所有重构数据将会分布到多个磁盘上,而不会集中在几个固定的磁盘上。这种解决方案不仅利用了局部重构的思想,并且将空闲块分布式,获取最大的重构性能,从而减少重构时间。

这种解决方案的问题是,一旦一个磁盘被剔除RAID,一个新盘被加入之后,空闲快将会集中在新加入的盘上,分布式的空闲空间随着磁盘的替换而变得不存在。如下图所示,前图是替换之前的数据分布,后图是数据重构之后,新盘加入之后的情景。

新型RAID技术_第3张图片

为了解决上述问题,有些解决方案为了获取分布式空闲空间带来的好处,会考虑进行一些数据迁移操作,但是会影响系统性能。

NetApp DDP

NetApp的新RAID技术也被称之为Dynamic Disk Pool,并且在很多术语上面和Quantum的相同。但是,从NetApp的技术白皮书上来看,NetAppDDPQuantumDDP还是有很大差别的。QuantumDDP从数据布局的角度来讲还是比较固定的,这点和中科蓝鲸的解决方案是一致的。从NetApp的技术描述来看,磁盘上的数据布局是不固定的,是灵活的。下图是NetApp DDP在遇到整块磁盘损坏时数据恢复的示意图。

新型RAID技术_第4张图片

从这张图中我们可以体会到一旦磁盘损坏之后,故障磁盘上的数据将会被重构到其他运行良好的磁盘上。这种磁盘的选择应该是有算法的,据说是采用了伪随机磁盘选择算法。从白皮书简短的描述中,我可以体会到NetApp应该采用了类似存储虚拟化的技术。如果这样,整个架构将会变得十分灵活,数据可靠性将会比现有RAID提高很多。

IBM Declustered RAID

IBMDeclustered RAID技术是在其GPFS中应用的一种非传统RAID技术。下图是采用declustered RAID技术之后磁盘上的数据分布。从图中可以看出,RAID是在基于磁盘块的,而不是在整块磁盘上构建的。这是和传统RAID一个很重要的区别。另外,数据在磁盘上的分布式随机的,不知道是否采用了虚拟化的技术?通过虚拟化的技术对磁盘物理数据块进行管理,然后通过资源分配的方式获取物理块,并且在这些物理块的基础上构建RAID

新型RAID技术_第5张图片

IBMDeclustered RAID可以使得空闲资源分布化,从而提高数据重构性能,可以降低数据重构的时间。

Panasas Object Store

PanasasObject Store的核心思想是在文件系统层实现RAID的语义。这种方法对文件系统的几个存储对象(比如块)计算校验信息,然后将这几个存储对象写入到不同的存储设备(可以是普通磁盘)中。一旦其中的一个存储设备出现了问题,那么可以通过存储对象的冗余信息恢复丢失的数据。采用这种方法可以完全避免整块磁盘的数据恢复工作。另外,由于在文件系统级别实现RAID,所以,最坏情况下也只需要恢复所有的文件,而不是整个磁盘,这就是data aware的数据重构方式,可以减少数据重构时间。

小结

上面分析了几种比较有价值的RAID新技术,可以看出这些RAID新技术有一个相同的特征,那就是在块级别构建RAID,而不是在整块磁盘上创建RAID。磁盘局部损坏基本在行业已成共识,因此,大家都以此为基础,对RAID架构进行了优化。未来RAID技术走向何方?个人认为类似于IBMdeclustered RAID以及NetAppDDP会是一个重要方向。另外,在文件系统构建Object Store方式的RAID也会是一种趋势。两种方式看似差别甚远,其实,从技术的角度上看,这两者本质上是相同的。从应用角度上看,文件系统RAIDDDP会是一种很好的互补。