RAID技术入门
RAID技术入门
计算机技术的发展,已使的CPU的速度进入GHz 时代。而计算机的内存也有66MHz发展到 100MHz 甚至133MHz。显卡的速度也日新月异。 计算机制造商们全面打起了提速战。 作为计算机最重要的外部存储设备,硬盘当然也不甘落后,也相继推出了ATA66和ATA100 硬盘。即便如此,硬盘存储仍然摆脱不了系统性能瓶颈的角色,甚至由于其它计算机部件幅度大得多的性能提升,使得硬盘速度虽有提升,但依旧陷入了更为尴尬的境地。而且由于硬盘速度很大程度上依赖于机械部分,因此基于现在的硬盘技术,要想大副提速非常困难。
不仅如此, 硬盘存储在数据安全上也是问题多多。现在人们的工作已无法摆脱计算机, 这一方面使得人们的工作效率大大提高, 但潜在的危险也是明摆着的: 一旦硬盘的数据损坏,人们长时间的工作就可能毁于一旦。
那么,有没有基于现在的硬盘提升存储性能和数据安全的技术呢?有,它就是RAID技术。
什么是RAID?
RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。
数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且可以提供数据冗余。
Independent还是Inexpensive?
细心的读者可以注意到,一部分文章把RAID 解释为 Redundant Array of Inexpensive Disks,即廉价磁盘冗余阵列。那么,到底是Independent 还是Inexpensive呢? 说到这里,我们要看一看RAID的历史了。
1988年,由加州大学Berkeley 分校的David A. Patterson等人在原有技术的基础上进行了扩充,提出几种新的磁盘组织方式,目的是用多个用于个人电脑上的廉价磁盘替代当时数据中心系统普遍采用的价格昂贵的SLEDs磁盘(Single Large Expensive Disks)。根据这一目的,David A. Patterson 等人首次使用了Redundant Array of Inexpensive Disks这一名称。RAID被提出后,引起了人们的极大兴趣,并获得了成功。
但是随着存储技术的发展,SLEDs磁盘已经成为过去。现在普遍采用的磁盘在价格和性能上相差不多,因此如果再用廉价(Inexpensive)来形容组成RAID的磁盘就不合适了。 为了适应技术的发展,委员会开始普遍把RAID解释为Redundant Array of Independent Disks。
RAID级别:
RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 6 七种基本的RAID 级别。另外,还有一些基本RAID级别的组合形式,如RAID 10(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。
不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。下面就针对一些最为常用的 RAID级别做简单介绍。
RAID 0 :
RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
示图 1
如图1所示:系统向三个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。我们从图中可以清楚的看到通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID 0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
RAID 1:
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。如图2所示:
示图 2
当读取数据时,系统先从RAID 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 0+1:
正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。
以四个磁盘组成的RAID 0+1为例,其数据存储方式如图3所示:
示图 3
RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
RAID 5:
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:
示图 4
图中,P0为D0,D1和D2的奇偶校验信息,其它以此类推。
由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
JBOD:
JBOD(Just Bundle Of Disks)译成中文可以是"简单磁盘捆绑",通常又称为Span。 JBOD 不是标准的RAID级别,它只是在近几年才被一些厂家提出,并被广泛采用。三个硬盘组成的Span为例,其数据存储方式如图5所示:
示图 5
Span是在逻辑上把几个物理磁盘一个接一个串联到一起,从而提供一个大的逻辑磁盘。Span上的数据简单的从第一个磁盘开始存储, 当第一个磁盘的存储空间用完后, 再依次从后面的磁盘开始存储数据。
Span存取性能完全等同于对单一磁盘的存取操作。Span也不提供数据安全保障。它只是简单的提供一种利用磁盘空间的方法,Span的存储容量等于组成Span的所有磁盘的容量的总和。
IDE RAID与SCSI RAID
IDE和SCSI是计算机的两种不同的接口,前者普遍用于PC计算机,而后者一般用于Apple Macintosh系统和UNIX操作系统。
RAID技术问世时是基于SCSI接口,因其成本高,因此主要面向服务器等高端应用。普通用户根本无缘拥有RAID。
随着计算机的大众化,由此带动PC计算机的空前繁荣。相应的,在市场的带动下,用于PC计算机的IDE接口设备价格大幅降低,同时性能大幅提高。以30G 容量硬盘为例,IDE接口的硬盘现在只需1000元左右,而SCSI接口的硬盘则需5000到6000元,而它们的性能则相差无几。
但是,RAID技术仍只基于SCSI接口,普通的PC用户在羡慕RAID技术的好处的同时,却无法拥有RAID。
可喜的是,近来一些厂商看到了 RAID 在低端用户中的巨大市场,开始把RAID技术移植到IDE 接口上,推出了基于IDE接口的RAID应用,称为IDE RAID。而基于SCSI接口的RAID应用则相应称为SCSI RAID。
与SCSI RAID相比,IDE RAID具有极低的价格,和一点也不逊色的性能表现,相应的,IDE RAID 解决方案就具有SCSI RAID无法比拟的高性价比。因此 IDE RAID自推出后,受到普通PC用户和普通商业应用的普遍欢迎。RAID对于普通的用户来说,再也不是什么奢侈的技术了。
评论已关闭