RAID通过为数据提供校验的方式提高了可用性,在如今各类存储系统中,RAID已经成为不可或缺的重要组成部分,为保护数据发挥重要作用。
RAID的形式是多种多样的,它们都是高可用性和高性能存储的骨干力量。RAID设备的最初应用可以追溯到上世纪80年代末,而在今天,RAID已经成为我们IT生活中一个应用广泛且非常重要部分,以至于很多人已经忘记RAID这个缩写到底是什么意思。
RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。
RAID 的优点
RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。
RAID通过同时使用多个磁盘,提高了传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
通过数据校验,RAID可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。
多种RAID级别
多年来,RAID定义了许多级别,多数都只是昙花一现,转瞬即逝。其中最著名的定义包括如下几种。
- RAID 0—-以间隔分布的方式将数据分配到磁盘上,可提供更快的访问速度,但并不能为数据提供更好的保护。
- RAID 1—-对数据进行复制,并以镜像方式存在于不同的磁盘中,从而为提供良好的容错能力。
- RAID 3—-以间隔分布的方式将数据分配到不同的磁盘上,并且以并行方式访问数据,从而提高数据的读写速度。该模式将校验位存储在独立的专用磁盘上,因而可以提供较好的容错性能。
- RAID 5—-将数据和校验位都以间隔分布的方式存储在所有的磁盘上,从而取得更好的负载平衡。该模式在增加数据读取速度的同时还可以有效地提高数据保护性能。
所有这些RAID层都是由一家行业组织—-RAID顾问委员会制订的。当然,除此之外还有一些其他的RAID实施方式。RAID 2 和4 就是由RAID社团定义的,但它们的实际应用极为罕见(事实上,我们只了解到有一家总部设在美国马萨诸塞州公司实施过商用RAID 2技术,数据中的位以间隔分布方式存储在不同的磁盘上,以获得更高的速度)。此外,目前比较常见的是将不同层的RAID组合使用的方式,例如RAID 1 和0 (通常写作1+0)及RAID 0 和1 (通常写作0+1)。1+0 就是镜像式的间隔存储,而0+1则是间隔存储的镜像,虽然两者都是同样两种RAID级别的组合,但它们组合的结果却是完全不同的。
RAID 6值得关注
另外还有两种被称为RAID 6和RAID 7的私有解决方案,它们是由一些厂商推出的。虽然从技术的角度来说这两种实施方式都取得了成功,但由于这两种解决方案在本质上是私有标准,因而在市场中并没有获得广泛采用。RAID 7是Storage Computer公司的私有标准,该公司总部设在美国新罕布什尔州,目前已经处于破产的边缘。
RAID 6与RAID 5有很多相似之处,但前者将校验码写入到两个驱动器中,后者只写入一个驱动器。由于RAID 6要执行两次不同的校验计算,而非一次,因此它的容错性能更好,可以应付两个驱动器同时发生的故障。
由于需要进行额外的计算并将校验码写入第二个磁盘,RAID 6的速度要比RAID 5低一些,它并没有在市场上取得成功,主要是因为没有可以与之配合的行业标准。也就是说,到现在为止,这种实施方式仍然是一种私有标准。
目前,业内的多家机构已经开始合作实现RAID 6的标准化,并且可望使该技术在年底前成为一项标准建议。如果真是这样,由于有了Intel的支持,它将很有可能成为一项行业标准。而RAID 6将有可能成为读取密集型应用,视频点播和其他固定内容实施中的首选技术。当前参与到该标准制订工作中的企业包括Adaptec、富士通、HP、IBM、Intel、LSI Logic和Promise Technology。
RAID-6的全称是“Independent Data disks with two independent distributed parity schemes(带有两个独立分布式校验方案的独立数据磁盘)”。RAID 6与RAID 5的不同之处于除了每个磁盘上都有同级数据校验区外,还有一个针对每个数据块的校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。
这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验)。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,此外第二块的校验区也减少了有效存储空间。
由于RAID 6相对于RAID 5在校验方面的微弱优势和在性能与性价比方面的较大劣势,因此有观点认为,RAID 6只是对更高级的数据的冗余进行的一种技术与思路上的尝试。但是, HDS最近新发布的AMS与WMS产品中支持RAID 6技术,可以保证在单个RAID 组中同时出现两个磁盘故障时的数据可用,从而提高可用性,并相应地减少了磁盘故障时进行 RAID组重建的时间。
其他类似RAID 6方案
HP在服务器与存储产品中也提供一种类似RAID 6的技术—-RAID ADG(Advance Data Guarding)技术,能够为惠普ProLiant服务器提供可靠的数据保护。RAID ADG可译为先进的数据保护技术,是惠普RAID容错方案,将能解决企业的数据损失的问题。RAID ADG技术最大特点是部署了两个奇偶校验集,并提供了2个硬盘(但不是独立的2个校验硬盘)的容量存储这些奇偶校验信息,能同时容忍两块硬盘出现故障,提高企业数据的可靠性。在RAID容量超过2TB和单个RAID卷的总磁盘驱动器达56个的时候,该技术实现了错误保护等级的突破。
两年前,Network Appliance宣布将其RAID-DP(double-disk parity,双磁盘奇偶校验)整合到其全线企业级存储系统中,以便在发生多个与存储相关的磁盘出现故障或错误时为用户提供更强的数据保护。RAID-DP在异构环境中对企业数据故障恢复提供更高的可靠性。与众不同的是,NetApp公司称,其RAID-DP并不会对性能造成很大影响,与RAID 4相比,有些应用的性能下降最多不超过3%。