各种RAID的工作原理Word格式文档下载.docx
《各种RAID的工作原理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《各种RAID的工作原理Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。
如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。
如果奇偶盘失效,则不影响数据使用。
RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
RAID4:
同RAID2,RAID3一样,RAID4,RAID5也同样将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。
RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,成为写操作的瓶颈.在商业应用中很少使用。
RAID5:
RAID5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。
在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。
RAID5更适合于小数据块,随机读写的数据.RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。
而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。
在RAID5中有"
写损失"
即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6:
RAID6与RAID5相比,增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。
即使两块磁盘同时失效,也不会影响数据的使用。
但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的"
。
RAID6的写性能非常差,较差的性能和复杂的实施使得RAID6很少使用。
在计算机发展的初期,“大容量”硬盘的价格还相当高,解决数据存储安全性问题的主要方法是使用磁带机等设备进行备份,这种方法虽然可以保证数据的安全,但查阅和备份工作都相当繁琐。
1987年,Patterson、Gibson和Katz这三位工程师在加州大学伯克利分校发表了题为《ACaseofRedundantArrayofInexpensiveDisks(廉价磁盘冗余阵列方案)》的论文,其基本思想就是将多只容量较小的、相对廉价的硬盘驱动器进行有机组合,使其性能超过一只昂贵的大硬盘。
这一设计思想很快被接受,从此RAID技术得到了广泛应用,数据存储进入了更快速、更安全、更廉价的新时代。
磁盘阵列对于个人电脑用户,还是比较陌生和神秘的。
印象中的磁盘阵列似乎还停留在这样的场景中:
在宽阔的大厅里,林立的磁盘柜,数名表情阴郁、早早谢顶的工程师徘徊在其中,不断从中抽出一块块
沉重的硬盘,再插入一块块似乎更加沉重的硬盘……终于,随着大容量硬盘的价格不断降低,个人电脑的
性能不断提升,IDE-RAID作为磁盘性能改善的最廉价解决方案,开始走入一般用户的计算机系统。
本期的
重头戏便是“一步一步教你用RAID”。
一、RAID技术规简介
RAID技术主要包含RAID0~RAID7等数个规,它们的侧重点各不相同,常见的规有如下几种:
RAID0:
RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传
输率,但它没有数据冗余,因此并不能算是真正的RAID结构。
RAID0只是单纯地提高性能,并没有为数据
的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
因此,RAID0不能应用于数据安全性要
求高的场合。
RAID1:
它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数
据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能。
RAID1是磁盘阵列中单位成本
最高的,但提供了很高的数据安全性和可用性。
当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID0+1:
也被称为RAID10标准,实际是将RAID0和RAID1标准结合的产物,在连续地以位或字节
为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。
它的优点是同时拥
有RAID0的超凡速度和RAID1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
RAID2:
将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码
(海明码)”的编码技术来提供错误检查及恢复。
这种编码技术需要多个磁盘存放检查及恢复信息,使得
RAID2技术实施更复杂,因此在商业环境中很少使用。
RAID3:
它同RAID2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID3使用简单的
奇偶校验,并用单块磁盘存放奇偶校验信息。
如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据
;
如果奇偶盘失效则不影响数据使用。
RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据
来说,奇偶盘会成为写操作的瓶颈。
RAID4:
RAID4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。
RAID4使用一
块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID4在商业环境中也很少使用。
RAID5:
RAID5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。
在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。
RAID5更适合于小数据块和随机读写的数据。
RAID3与RAID5相比,最主要的区别在于RAID3每进行一次数据传输就需涉及到所有的阵列盘;
而对于RAID5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。
在RAID5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6:
与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。
但RAID6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”,因此“写性能”非常差。
较差的性能和复杂的实施方式使得RAID6很少得到实际应用。
RAID7:
这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。
RAID7可以看作是一种存储计算机(StorageComputer),它
与其他RAID标准有明显区别。
除了以上的各种标准(如表1),我们可以如RAID0+1那样结合多种RAID规来构筑所需的RAID阵列,例如RAID5+3(RAID53)就是一种应用较为广泛的阵列形式。
用户一般可以通过灵活配置磁盘阵列来
获得更加符合其要求的磁盘存储系统。
开始时RAID方案主要针对SCSI硬盘系统,系统成本比较昂贵。
1993年,HighPoint公司推出了第一款
IDE-RAID控制芯片,能够利用相对廉价的IDE硬盘来组建RAID系统,从而大大降低了RAID的“门槛”。
从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设
备,而用户存储在其中的数据却常常远超计算机的本身价格。
在花费相对较少的情况下,RAID技术可以使
个人用户也享受到成倍的磁盘速度提升和更高的数据安全性,现在个人电脑市场上的IDE-RAID控制芯片主
要出自HighPoint和Promise公司,此外还有一部分来自AMI公司(如表2)。
面向个人用户的IDE-RAID芯片一般只提供了RAID0、RAID1和RAID0+1(RAID10)等RAID规的支持,
虽然它们在技术上无法与商用系统相提并论,但是对普通用户来说其提供的速度提升和安全保证已经足够
了。
随着硬盘接口传输率的不断提高,IDE-RAID芯片也不断地更新换代,芯片市场上的主流芯片已经全部
支持ATA100标准,而HighPoint公司新推出的HPT372芯片和Promise最新的PDC20276芯片,甚至已经可以
支持ATA133标准的IDE硬盘。
在主板厂商竞争加剧、个人电脑用户要求逐渐提高的今天,在主板上板载RAID芯片的厂商已经不在少
数,用户完全可以不用购置RAID卡,直接组建自己的磁盘阵列,感受磁盘狂飙的速度。
二、通过硬件控制芯片实现IDERAID的方法
在RAID家族里,RAID0和RAID1在个人电脑上应用最广泛,毕竟愿意使用4块甚至更多的硬盘来构筑
RAID0+1或其他硬盘阵列的个人用户少之又少,因此我们在这里仅就这两种RAID方式进行讲解。
我们选择
支持IDE-RAID功能的升技KT7A-RAID主板,一步一步向大家介绍IDE-RAID的安装。
升技KT7A-RAID集成的是
HighPoint370芯片,支持RAID0、1、0+1。
做RAID自然少不了硬盘,RAID0和RAID1对磁盘的要求不一样,RAID1(Mirror)磁盘镜像一般要求
两块(或多块)硬盘容量一致,而RAID0(Striping)磁盘一般没有这个要求,当然,选用容量相似性能
相近甚至完全一样的硬盘比较理想。
为了方便测试,我们选用两块60GB的希捷酷鱼Ⅳ硬盘(Barracuda
ATAⅣ、编号ST360021A)。
系统选用Duron750MHz的CPU,2×
128MB樵风金条SDRAM,耕升GeForce2Pro
显卡,应该说是比较普通的配置,我们也希望借此了解构建RAID所需的系统要求。
1.RAID0的创建
第一步
首先要备份好硬盘中的数据。
很多用户都没有重视备份这一工作,特别是一些比较粗心的个人用户。
创建RAID对数据而言是一项比较危险的操作,稍不留神就有可能毁掉整块硬盘的数据,我们首先介绍的
RAID0更是这种情况,在创建RAID0时,所有阵列中磁盘上的数据都将被抹去,包括硬盘分区表在。
因
此要先准备好一带Fdisk与format命令的Windows98启动盘,这也是这一步要注意的重要事项。
第二步
将两块硬盘的跳线设置为Master,分别接上升技KT7A-RAID的IDE3、IDE4口(它们由主板上的
HighPoint370芯片控制)。
由于RAID0会重建两块硬盘的分区表,我们就无需考虑硬盘连接的顺序(下文中我们会看到在创建RAID1时这个顺序很重要)。
第三步
对BIOS进行设置,打开ATARAIDCONTROLLER。
我们在升技KT7A-RAID主板的BIOS中进入INTEGRATED
PERIPHERALS选项并开启ATA100RAIDIDECONTROLLER。
升技建议将开机顺序全部改为ATA100RAID,实际我们发现这在系统安装过程中并不可行,难道没有分区的硬盘可以启动吗?
因此我们仍然设置软驱作为首选项。
第四步
接下来的设置步骤是创建RAID0的核心容,我们以图解方式向大家详细介绍:
1.系统BIOS设置完成以后重启电脑,开机检测时将不会再报告发现硬盘。
2.磁盘的管理将由HighPoint370芯片接管。
3.下面是非常关键的HighPoint370BIOS设置,在HighPoint370磁盘扫描界面同时按下“Ctrl”
和“H”。
4.进入HighPoint370BIOS设置界面后第一个要做的工作就是选择“CreateRAID”创建RAID。
5.在“ArrayMode(阵列模式)”中进行RAID模式选择,这里能够看到RAID0、RAID1、RAID0+1
和Span的选项,在此我们选择了RAID0项。
6.RAID模式选择完成会自动退出到上一级菜单进行“DiskDrives(磁盘驱动器)”选择,一般来
说直接回车就行了。
7.下一项设置是条带单位大小,缺省值为64kB,没有特殊要求可以不予理睬。
8.接着是“StartCreate(开始创建)”的选项,在你按下“Y”之前,请认真想想是否还有重要
的数据留在硬盘上,这是你最后的机会!
一旦开始创建RAID,硬盘上的所有数据都会被清除。
9.创建完成以后是指定BOOT启动盘,任选一个吧。
按“Esc”键退出,当然少不了按下“Y”来确认一下。
HighPoint370BIOS没有提供类似“ExitWithoutSave”的功能,修改设置后是不可逆转的。
第五步
再次重启电脑以后,我们就可以在屏幕上看到“Striping(RAID0)forArray#0”字样了。
插入先前制作的启动盘,启动DOS。
打开Fdisk程序,咦?
怎么就一个硬盘可见?
是的,RAID阵列已经整个被看作
了一块硬盘,对于操作系统而言,RAID完全透明,我们大可不必费心RAID磁盘的管理,这些都由控制芯片
完成。
接下来按照普通单硬盘方法进行分区,你会发现“这个”硬盘的容量“变”大了,仔细算算,对,
总容量就是两块硬盘相加的容量!
我们可以把RAID0的读写比喻成拉链,它把数据分开在两个硬盘上,读
取数据会变得更快,而且不会浪费磁盘空间。
在分区和格式化后千万别忘了激活主分区。
第六步
选择操作系统让我们颇费周折,HighPoint370芯片提供对Windows98/NT/2000/XP的驱动支持,考虑
到使RAID功能面向的是相对高级的用户,所以我们选择了对新硬件支持更好的WindowsXPProfessional
英文版(采用英文版系统主要是为了方便后面的Winbench测试,大家自己使用RAID完全可以用中文版的操
作系统),Windows2000也是一个不错的选择,但是硬件支持方面显然不如WindowsXPProfessional。
第七步
对于采用RAID的电脑,操作系统的安装和普通情况下不一样,让我们看看图示,这是在WindowsXP完
成第一步“文件复制”重启以后出现的画面,安装程序会以英文提示“按下F6安装SCSI设备或RAID磁盘”,这一过程很短,而且用户往往会忽视屏幕下方的提示。
按下F6后出现安装选择,选择“S”将安装RAID控制芯片驱动,选择“Enter”则不安装。
按下“S”键会提示插入RAID芯片驱动盘。
键入回车,安装程序自动搜索驱动盘上的程序,选择“WinXP”那一个并回车。
如果所提供的版本和WindowsXPProfesional置的驱动版本不一致,安装程序会给出提示让用户进
行选择。
按下“S”会安装软盘所提供的而按下“Enter”则安装WindowsXPProfessional自带的驱动。
按下
“S”后又需要确认,这次是按“Enter”(这个……确认太多了,呵呵)。
接下来是正常的系统安装,和普通安装没有任何区别。
RAID0的安装设置我们就介绍到这里,下面我们会谈谈RAID1的安装。
与RAID0相比,RAID1的安装
过程要简单许多,在正确操作的情况下不具破坏性。
2.RAID1的创建
虽然在原理上和RAID0完全不一样,但RAID1的安装设置过程却与RAID0相差不多,主要区别在于
HighPoint370BIOS里的设置。
为了避免重复,我们只向大家重点介绍这部分设置:
进入HighPoint370BIOS后选择“CreateRAID”进行创建:
1.在“ArrayMode”上点击回车,在RAID模式选择中选择第二项“Mirror(RAID1)forData
Security(为数据源盘创建镜像)”。
2.接着是源盘的选择,我们再次提醒用户:
务必小心,不要选错。
3.然后是目标盘的选择,也就是我们所说的镜像盘或备份盘。
4.然后开始创建。
5.创建完成以后BIOS会提示进行镜像的制作,这一过程相当漫长。
6.我们用了大约45分钟才完成60GB的镜像制作,至此RAID1创建完成。
RAID1会将主盘的数据复制到镜像盘,因此在构建RAID1时需要特别小心,千万不要把主盘和镜像盘
弄混,否则结果将是悲剧性的。
RAID1既可在两块无数据的硬盘上创建,也能够在一块已经安装操作系统的硬盘上添加,比RAID0方便多了(除了漫长的镜像制作过程)。
创建完成以后我们试着将其中一块硬盘
拔下,HighPoint370BIOS给出了警告,按下“Esc”,另一块硬盘承担起了源盘的重任,所有数据完好无损。
对于在一块已经安装操作系统的硬盘上添加RAID1,我们建议的步骤是:
打开BIOS中的控制芯片→启
动操作系统安装HighPoint370驱动→关机将源盘和镜像盘接在IDE3、4口→进入HighPoint370BIOS设置
RAID1(步骤见上文介绍)→重启系统完成创建。
我们对两种RAID进行了简单的测试,虽然RAID0的测试成绩让人有些不解,但是实际使用中仍然感觉
比单硬盘快了很多,特别是WindowsXPProfessional的启动异常迅速,进度条一闪而过。
至于传输率曲
线出现不稳定的情况,我们估计和平台选择有一些关系,毕竟集成芯片在进行这种高数据吞吐量的工作时
非常容易被干扰。
不过即使是这样,我们也看到RAID0系统的数据传输率达到了非常高的水平,一度接近
60MB/s。
与RAID0相比,RAID1系统的性能虽然相对单磁盘系统没有什么明显的改善,但测试中我们发现
RAID1的工作曲线显得非常稳定,很少出现波动的情况。
再看看Winbench992.0中的磁盘测试成绩,一目了然。
对用户和操作系统而言,RAID0和1是透明不影响任何操作的,我们就像使用一块硬盘一样。
三、用软件方法实现RAID
除了使用RAID卡或者主板所带的芯片实现磁盘阵列外,我们在一些操作系统中可以直接利用软件方式
实现RAID功能,例如Windows2000/XP中就置了RAID功能。
在了解Windows2000/XP的软件RAID功能之前,我们首先来看看Windows2000中的一项功能——动态
磁盘管理。
动态磁盘与基本磁盘相比,不再采用以前的分区方式,而是叫卷集,它的作用其实和分区相一致,但是具有以下区别:
1.可以任意更改磁盘容量
动态磁盘在不重新启动计算机的情况下可更改磁盘容量大小,而且不会丢失数据,而基本磁盘如果要
改变分区容量就会丢失全部数据(当然也有一些特殊的磁盘工具软件可以改变分区而不会破坏数据,如
PQMagic等)。
2.磁盘空间的限制
动态磁盘可被扩展到磁盘中不连续的磁盘空间,还可以创建跨磁盘的卷集,将几个磁盘合为一个大卷集。
而基本磁盘的分区必须是同一磁盘上的连续空间,分区的最大容量当然也就是磁盘的容量。
3.卷集或分区个数
动态磁盘在一个磁盘上可创建的卷集个数没有限制,相对的基本磁盘在一个磁盘上最多只能分4个区,而且使用DOS或Windows9X时只能分一个主分区和扩展分区。
*这里一定要注意,动态磁盘只能在WindowsNT/2000/XP系统中使用,其他的操作系统无法识别动态磁盘。
因为大部分用户的磁盘都是基本磁盘类型,为了使用软件RAID功能,我们必须将其转换为动态磁盘:
控制面板→管理工具→计算机管理→磁盘管理,在查看菜单中将其中的一个窗口切换为磁盘列表。
这时我们就可以通过右键菜单将选择磁盘转换为动态磁盘。
在划分动态卷时会可以看到这样几个类型的动态卷。
1.简单卷:
包含单一磁盘上的磁盘空间,和分区功能一样。
(当系统中有两个或两个以上的动态磁盘并且两个磁盘上都有未分配的空间时,我们能够选择如下的
两种分卷方式)
2.跨区卷:
跨区卷将来自多个磁盘的未分配空间合并到一个逻辑卷中。
3.带区卷:
组合多个(2到32个)磁盘上的未分配空间到一个卷。
(如果如上所述系统中的两个动态磁盘容量一致时,我们会看到另一个分区方式)
4.镜像卷:
单一卷两份相同的拷贝,每一份在一个硬盘上。
即我们常说的RAID1。
当我们拥有三个或三个以上的动态磁盘时,我们就可以使用更加复杂的RAID方式——RAID5,此时在
分卷界面中会出现新的分卷形式。
5.RAID5卷:
相当于带奇偶校验的带区卷,即RAID5方式。
对于大部分的个人电脑用户来说,构建RAID0是最经济实用的阵列形式,因此我们在这里仅就软件
RAID0的构建进行讲解:
要在Windows2000/XP中使用软件RAID0,首先必须将准备纳入阵列的磁盘转换为上文所述的动态磁
盘(这里要注意的是,Windows2000/XP的默认磁盘管理界面中不能转换基本磁盘和动态磁盘,请参考上
文中的描述),我们在这里尝试使用分区的条带化,这也正是软件RAID和使用RAID芯片构建磁盘阵列的区
别。
我们选取了一个29GB的分区进行划分带区卷,在划分带区卷区时,系统会要求一个对应的分区,也就
是说这时其他的动态磁盘上必须要有同样29GB或更大的未分配空间,带区卷分配完成后,两个同样大小的
分卷将被系统合并,此时我们的格式化等操作也是同时在两个磁盘上进行。
在构建RAID0完成后,我们决定测试其硬盘传输率以确定这种软件RAID对性能的提升程度,我们构建
软件RAID的平台和前文中的硬件RAID平