几种常见的RAID技术简介

整机外设

  RAID的概念

  RAID是Redundant Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。总的来看,RAID其实是一种磁盘的容错方法,通过将大量磁盘在逻辑上串联起来提供高水平的可用性和冗余度。简单地说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供更安全的数据冗余的技术。组成磁盘阵列的不同方式被称为RAID级别(RAID levels)。 而数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。

  RAID的优点

  1. 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。而RAID最后成功了。

  2. 可以提供容错功能,这是大多数使用RAID的第二个原因。因为,普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它可以提供更高的安全性。

  3. RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。

  RAID的标准

  RAID技术是一种工业标准,各厂商对RAID级别的定义也不尽相同。目前对RAID级别的定义可以获得业界广泛认同的有4种,RAID 0、RAID 1、RAID 0+1和RAID 5。

  RAID 0

  从严格意义上说,RAID 0不是RAID,因为它没有数据冗余和校验。RAID 0技术只是实现了带区组。在实现过程中,RAID 0只是连续地分割数据并行地读/写于多个磁盘上。由于数据块被并行地保存在不同的磁盘上,因此RAID 0具有很高的数据传输率(见图1)。另外,由于组成RAID 0的所有硬盘空间都可以用来保存数据,因此RAID 0的存储空间利用率也是最高的 。但RAID 0只适用于类似Video/Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用。由于没有任何的数据冗余,所以安全性极低,只要RAID里的任何一块磁盘损坏,都会发生所有数据丢失的毁灭性的情况。换句话说,RAID里的硬盘个数越多,安全性越低。

  RAID 1

  RAID 1通常被称为RAID镜像(见图2)。RAID 1主要是通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据,因此RAID 1具有很高的安全性,它甚至可以保证在一半数量的磁盘出现问题时还能不间断地工作,但是整个系统的处理能力会受到影响。不过,RAID 1的缺点也相当突出。由于 RAID 1需要通过两次读写来实现磁盘镜像,这样虽然保证了镜像磁盘随时与原磁盘上的数据完全一致,但是磁盘控制器的负载相当大。另外,RAID 1的数据空间浪费极其严重,是RAID各种等级中成本最高的一种。它只有一半的磁盘空间利用率,只有当系统需要极高的可靠性时,人们才会选择使用RAID 1。

  RAID 0+1

  RAID 0+1 (见图3)至少需要四块硬盘才可以实现,不过它综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。它的读写性能出色,安全性也较高。但是,构建RAID 0+1阵列的成本投入大,数据空间利用率只有50%,还不能称之为经济高效的方案。

  RAID 5

  RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率也非常高。而且任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛。但不足之处是,如果1块硬盘出现故障以后,整个系统的性能将大大降低。

  RAID 1、RAID 0+1、RAID 5阵列配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现高可用系统具有重要的意义。

  编后

  现在很多厂商推出了带有RIAD功能的主板,如升技的BD7 Ⅱ-RAID(Intel 845E)和K7T-RAID(KT333),技嘉8PE667 Ultra(Intel 845PE),捷波J-I402R(Intel 845D)等。虽然不敢说以后的主板都会加入RAID的功能,因为RAID对于一般用户还是有些多余的。但它一定会成为各大主板厂商的一个卖点,使他们在激烈的竞争中取得一些优势。他们的这一做法势必会对那些制造RAID卡之类产品的厂商形成冲击,使RAID卡(IDE)的市场会逐步萎缩。相信以后即使在主板中加入RAID功能不会成为主板制造业的一种趋势,但这种主板也会越来越多的。