在计算机发展的早期,“大容量”硬盘的价格还是相当高的。解决数据存储安全问题的主要方法是使用磁带机等设备进行备份。这种方式虽然可以保证数据的安全性,但是查阅和备份的工作相当复杂。1987年,
帕特森、吉布森和卡茨三位工程师在加州大学伯克利分校发表了题为《A Case of Redundant Array of Inexpensive Disks(廉价磁盘冗余阵列方案)》的论文。基本思路是将多个容量小、价格相对较低的硬盘有机结合。
使其性能超过昂贵的大硬盘。这个设计理念很快被接受。此后,RAID技术被广泛应用,数据存储进入了更快、更安全、更便宜的新时代。
磁盘阵列对PC用户来说还是陌生而神秘的。印象中的磁盘阵列似乎还保留着这样一个场景:宽阔的大厅里,摆放着许多磁盘柜,几个表情阴郁、头发早秃的工程师徘徊在其中,不断从里面拉出沉甸甸的硬盘。
然后插入一块看起来比较重的硬盘.最后,随着大容量硬盘价格的不断降低和个人电脑性能的不断提升,IDE-RAID作为最廉价的提高磁盘性能的解决方案开始进入普通用户的电脑系统。
一、RAID技术规范介绍
RAID技术主要包括RAID 0~RAID 7等几个规范,侧重点不同。常见规格如下:
RAID 0:RAID 0以位或字节为单位连续划分数据,并行读写多个磁盘上的数据,因此数据传输率高,但没有数据冗余,不能算是真正的RAID结构。RAID 0只是提高了性能,
数据的可靠性没有保证,一个磁盘的故障会影响所有数据。所以RAID 0不能用在数据安全性要求高的场合。
RAID 1:通过磁盘数据镜像实现数据冗余,在配对的独立磁盘上生成备份数据。当原始数据繁忙时,可以直接从镜像副本读取数据,因此RAID 1可以提高读取性能。
RAID 1是磁盘阵列中单位成本最高的,但它提供了高数据安全性和可用性。当磁盘出现故障时,系统可以自动切换到镜像磁盘进行读写,而无需重新组织故障数据。
RAID 0 1:又称RAID 10标准,实际上是RAID 0和RAID 1标准结合的产物。它连续地按位或字节对数据进行分区,并并行读取/写入多个磁盘,同时镜像每个磁盘以实现冗余。
它的优点是既有RAID 0的非凡速度,又有RAID 1数据的高可靠性,但CPU占用率也更高,磁盘利用率更低。
RAID 2:将数据分块分布在不同的硬盘上,块单位为比特或字节,使用一种叫做“加权平均纠错码(汉明码)”的编码技术来提供错误检查和恢复。这种编码技术需要多个磁盘来存储检查和恢复信息。
它使得RAID 2技术的实现更加复杂,因此很少在商业环境中使用。
RAID 3:它与RAID 2非常相似,因为数据条以块的形式分布在不同的硬盘上。不同之处在于,RAID 3使用简单奇偶校验,并将奇偶校验信息存储在单个磁盘上。如果磁盘出现故障,
奇偶校验磁盘和其他数据磁盘可以重新生成数据;如果奇偶校验磁盘出现故障,不会影响数据的使用。RAID 3可以为大量连续数据提供良好的传输速率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
RAID 4:RAID 4也将数据分块,分布在不同的磁盘上,但分块单位是块或记录。RAID 4使用一个磁盘作为奇偶校验磁盘,每次写操作都需要访问奇偶校验磁盘,这会成为写操作的瓶颈。
因此RAID 4在商业环境中也很少使用。
RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。
RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,
大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 6:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。
但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。
RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。
RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准(如表1),
我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。
用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。
开始时RAID方案主要针对SCSI硬盘系统,系统成本比较昂贵。1993年,HighPoint公司推出了第一款IDE-RAID控制芯片,能够利用相对廉价的IDE硬盘来组建RAID系统,
从而大大降低了RAID的“门槛”。从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计算机的本身价格。
在花费相对较少的情况下,RAID技术可以使个人用户也享受到成倍的磁盘速度提升和更高的数据安全性,现在个人电脑市场上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,
此外还有一部分来自AMI公司。
面向个人用户的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID规范的支持,虽然它们在技术上无法与商用系统相提并论,
但是对普通用户来说其提供的速度提升和安全保证已经足够了。随着硬盘接口传输率的不断提高,IDE-RAID芯片也不断地更新换代,芯片市场上的主流芯片已经全部支持ATA 100标准,
而HighPoint公司新推出的HPT 372芯片和Promise最新的PDC20276芯片,甚至已经可以支持ATA 133标准的IDE硬盘。在主板厂商竞争加剧、个人电脑用户要求逐渐提高的今天,
在主板上板载RAID芯片的厂商已经不在少数,用户完全可以不用购置RAID卡,直接组建自己的磁盘阵列,感受磁盘狂飙的速度。
二.通过硬件控制芯片实现IDE RAID的方法
在RAID家族里,RAID 0和RAID 1在个人电脑上应用最广泛,毕竟愿意使用4块甚至更多的硬盘来构筑RAID 0+1或其他硬盘阵列的个人用户少之又少,因此我们在这里仅就这两种RAID方式进行讲解。
我们选择支持IDE-RAID功能的升技KT7A-R AID主板,一步一步向大家介绍IDE-RAID的安装。升技KT7A-RAID集成的是HighPoint 370芯片,支持RAID 0、1、0+1。
做RAID自然少不了硬盘,RAID 0和RAID 1对磁盘的要求不一样,RAID 1(Mirror)磁盘镜像一般要求两块(或多块)硬盘容量一致,而RAID 0(Striping)磁盘一般没有这个要求,
当然,选用容量相似性能相近甚至完全一样的硬盘比较理想。为了方便测试,我们选用两块60GB的希捷酷鱼硬盘(Barracuda ATA 、编号ST360021A)。
系统选用Duron 750MHz的CPU,2128MB樵风金条SDRAM,耕升GeForce2 Pro显卡,应该说是比较普通的配置,我们也希望借此了解构建RAID所需的系统要求。
1.RAID 0的创建
第一步
首先要备份好硬盘中的数据。很多用户都没有重视备份这一工作,特别是一些比较粗心的个人用户。创建RAID对数据而言是一项比较危险的操作,稍不留神就有可能毁掉整块硬盘的数据,
我们首先介绍的RAID 0更是这种情况,在创建RAID 0时,所有阵列中磁盘上的数据都将被抹去,包括硬盘分区表在内。因此要先准备好一张带Fdisk与Format命令的Windows 98启动盘,
这也是这一步要注意的重要事项。
第二步
将两块硬盘的跳线设置为Master,分别接上升技KT7A-RAID的IDE3、IDE4口(它们由主板上的HighPoint370芯片控制)。由于RAID 0会重建两块硬盘的分区表,
我们就无需考虑硬盘连接的顺序(下文中我们会看到在创建RAID 1时这个顺序很重要)。
第三步
对BIOS进行设置,打开ATA RAID CONTROLLER。
我们在升技KT7A-RAID主板的BIOS中进入INTEGRATED PERIPHERALS选项并开启ATA100 RAID IDE CONTROLLER。
升技建议将开机顺序全部改为ATA 100 RAID,实际我们发现这在系统安装过程中并不可行,难道没有分区的硬盘可以启动吗?因此我们仍然设置软驱作为首选项。
第四步
接下来的设置步骤是创建RAID 0的核心内容,我们以图解方式向大家详细介绍:
1.系统BIOS设置完成以后重启电脑,开机检测时将不会再报告发现硬盘。
2.磁盘的管理将由HighPoint 370芯片接管。
3.下面是非常关键的HighPoint 370 BIOS设置,在HighPoint 370磁盘扫描界面同时按下“Ctrl”和“H”。
4.进入HighPoint 370 BIOS设置界面后第一个要做的工作就是选择“Create RAID”创建RAID。
5.在“Array Mode(阵列模式)”中进行RAID模式选择,这里能够看到RAID 0、RAID 1、RAID 0+1和Span的选项,在此我们选择了RAID 0项。
6.RAID模式选择