菜鸟进阶之三RAID知识组建全面解析.docx
《菜鸟进阶之三RAID知识组建全面解析.docx》由会员分享,可在线阅读,更多相关《菜鸟进阶之三RAID知识组建全面解析.docx(31页珍藏版)》请在冰豆网上搜索。
菜鸟进阶之三RAID知识组建全面解析
菜鸟进阶之三:
RAID知识/组建全面解析
说起RAID,相信大多数DIYer都听过这个名词,它会经常出现在各个主板包装、说明书上;但是要说对RAID技术非常熟悉的DIYer,却屈指可数。
早在多年前,RAID一直以来都是面向服务器用户,以提高服务器数据的安全性;不过现在经过了几年的发展,普通用户也有条件关注RAID,并且成了我们今后装机必须考虑的一件事情。
本文中,笔者将会深入浅出的为你讲述以下内容:
1、什么是RAID?
原理、种类等知识?
2、普通用户是否适合组建RAID?
3、实战RAID系统组建!
●什么是RAID?
RAID是“RedundantArrayofIndependentDisk”的缩写,中文意思是独立冗余磁盘阵列。
冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。
RAID最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术,并且能适当的提升数据传输速度。
早期的RAID方案主要针对SCSI硬盘系统,系统成本比较昂贵。
1993年,HighPoint公司推出了第一款IDE-RAID控制芯片,能够利用相对廉价的IDE硬盘来组建RAID系统,从而大大降低了RAID的“门槛”。
从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计算机的本身价格。
在花费相对较少的情况下,RAID技术可以使个人用户也享受到成倍的磁盘速度提升和更高的数据安全性。
目前,IDE/SATA接口标准的硬盘都可以支持RAID技术,不过一般主板芯片组支持的主板只能支持SATA硬盘组建RAID。
早期一般都是SCSI卡提供SCSIRAID的支持
那么为何叫做冗余磁盘阵列呢?
冗余的汉语意思即多余,重复。
而磁盘阵列说明不仅仅是一个磁盘,而是一组磁盘。
这时你应该明白了,它是利用重复的磁盘来处理数据,使得数据的稳定性得到提高。
RAID实现原理以及种类
RAID如何实现数据存储的高稳定性呢?
我们不妨来看一下它的工作原理。
RAID按照实现原理的不同分为不同的级别,不同的级别之间工作模式是有区别的。
整个的RAID结构是一些磁盘结构,通过对磁盘进行组合达到提高效率,减少错误的目的,不要因为这么多名词而被吓坏了,它们的原理实际上十分简单。
问了便于说明,下面示意图中的每个圆饼代表一个磁盘,竖的叫块或磁盘阵列,横称之为带区。
简单点说,RAID的功能就是把多个硬盘组合成为一个逻辑磁区,因此,操作系统只会把它当作一个硬盘。
RAID系统的类型有多种方式,如RAID-0,RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-53等。
下面我们分别来看看这些RAID类型的区别以及用途:
RAID0
将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。
RAID0亦称为带区集。
它是将多个磁盘并列起来,成为一个大磁盘。
在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。
所以,在所有的级别中,RAID0的速度是最快的。
但是RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失。
RAID1
两组以上的N个磁盘相互作镜像,速度没有提高,但是允许N-1个磁盘损坏,可靠性最高。
RAID1就是镜像。
其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。
当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。
因为有镜像硬盘做数据备份,所以RAID1的数据安全性在所有的RAID级别上来说是最好的。
但无论用多少磁盘做RAID1,仅算其中一半磁盘的容量,是所有RAID上磁盘利用率最低的一个级别。
RAID2
这是RAID0的改良版,以汉明码(en:
HammingCode)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。
因为在数据中加入了错误修正码(ECC,ErrorCorrectionCode),所以数据整体的容量会比原始数据大一些,RAID2最少要三台硬盘方能运作。
RAID3
采用Bit-interleaving(数据交错存储)技术,它需要通过编码再将数据位元分割后分别存在硬盘中,而将同位元检查后单独存在一个硬盘中,但由于数据内的位元分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。
RAID4
它与RAID3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高(Blockinterleaving)。
RAID5
RAIDLevel5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
它使用的是DiskStriping(硬盘分割)技术。
RAID5至少需要三颗硬盘,RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID5可以理解为是RAID0和RAID1的折衷方案。
RAID5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。
RAID5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。
同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID1高,存储成本相对较低廉。
RAID6
同一阵列中容许两个硬盘同时失效(或是当一个失效后还来不及更换便有第二个失效)后.更换新硬盘时再由另两个正常硬盘将备份的资料建立在新的硬盘中.所以至少必须具备四或四个以上硬盘才能生效。
RAID10、RAID53和RAID0+1
这种RAIDxy的类型实际上就是RAIDx与RAIDy的组合方式。
比如说RAID10就是RAID1+0,即先组建两组RAID1镜像,然后再将两组RAID1镜像组建成为RAID0;而RAID53实际上就是RAID5+3模式,很好理解。
需要注意到是,RAID10并不等于RAID0+1,实现的顺序不一样,功能也是不一样的。
JBOD
严格的说,JBOD并不属于RAID的范畴,只是将多个磁盘空间合并成一个大的逻辑磁盘,不具有错误冗余机制。
资料的存放机制是由第一颗磁盘开始依序往后存放,即操作系统看到的是一个大磁盘(由许多小磁盘组成)。
但如果磁盘损毁,则该颗硬盘上的所有资料将无法救回。
若第一颗硬盘损坏,通常无法作救援(因大部分档案系统将档案表存在磁盘前端,即第一颗),失去档案表即失去一切资料。
JBOD在组建过程中,一般用英文Spanned。
在实际的应用中,RAID2~4并不存在,因为RAID5已经涵盖了所需的功能。
因此RAID2~4目前只有在研究领域有实作,而在实际应用上则以RAID0、1、0+1、5或RAID6为主。
但是对于我们普通用户来说,用的最多的也就是RAID0、1、0+1和RAID5,所以本文我们将重点
普通用户最常用的RAID0详解
也许大家看完上一页的内容之后,还是觉得不太明白。
那么,下面就针对几个我们最常用的RAID模式用比较通俗的方式进行讲解,以加深大家对RAID系统的一个正确认识。
RAID0——提高性能,无空间损失
RAID0是最基本的RAID模式,它的功能是将两块/多块硬盘合并成一块逻辑磁盘。
比如两块500GB的硬盘组建RAID0,那么在系统中我们可以看到有一块1TB的逻辑磁盘,而并不能看到是两块物理硬盘。
RAID0最大的优势就在于“便于分区管理”和“提高数据传输速度”:
“便于分区管理”很容易理解,比如说两块500GB的硬盘组建RAID0,你不用考虑分区的时候单独分区只能小于500GB,也就是说你可以分两个区,第一个区800GB,第二个区200GB(硬盘实际容量有损失,在这里我们不做讨论)。
当然,RAID0主要是为了提升数据传输速度而生的,它的原理是当系统下达指令后,会同时从每块硬盘调用/写入数据。
这样就可以利用每块块硬盘传输通道所提供的带宽。
相信看到这里大家都明白了,组建RAID0系统的时候,理论上硬盘数量越多,传输速度提升就越大。
但是在实际使用中受限于系统IO总线和其他因素的一些影响,还是有一些衰减的,比如一个磁盘的效能是50MB/秒,两个磁盘的RAID0效能约96MB/秒,三个磁盘的RAID0也许是130MB/秒而不是150MB/秒。
所以,两个磁盘的RAID0最能明显感受到效能的提升。
实际上,我们组建RAID系统的时候,并不一定要两块/多块容量相等的硬盘,可以用一块大硬盘和一块相对容量较小的硬盘组建RAID系统,很多JS都说需要两块一样大小的硬盘组建RAID实际上并不正确。
但是当硬盘容量不一样时,会按照容量最小的硬盘来计算,并且速度上也会以最小硬盘为标准。
比如说一块5400RPM的60G硬盘与一块7200RPM的80G硬盘组建RAID0系统,结果的总容量是60×2=120GB,而理论速度只会达到5400RPM硬盘的两倍。
所以说,如果条件允许,我们还是建议使用两块同型号的硬盘组建RAID系统。
虽然RAID0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。
所以,RAID0一般只是在那些对数据安全性要求不高的情况下才被人们使用。
一般来说,RAID0在组建的时候,英文名为Striped。
数据最安全的RAID1详细解析
前面我们说道了RAID0的具体工作原理和能够实现的功能,不过稍微对于数据的安全性要求较高的用户,都会选择RAID1阵列方式。
RAID1的主要功能是让数据更加安全,它的实现原理是在往一块硬盘写入数据的时候,同时也向另一块硬盘写入数据,也就是镜像功能。
组建RAID1阵列的时候需要2块以上的硬盘,并且数量只能是偶数。
如2块、4块、6块、8块等,因为需要用做备份,在数据的安全性方面是最好的,但是只能利用到磁盘总容量的一半。
举例来说,使用两块80GB的SATA硬盘组建RAID1系统,在操作系统下显示的总容量仍然是80GB,因为另外的80GB硬盘用做备份了。
如果这两块硬盘中的一块物理损坏,仍然可以从第二块备份硬盘中恢复回来。
同理,如果使用6块硬盘组建RAID1系统,其中有3块用于存放数据,另外三块用于备份数据。
当然,RAID1仍然可以支持两块容量不一样的磁盘组建阵列,和RAID0一样,都是按照容量较小的那一块做标准。
比如使用一块100GB和120GB的硬盘组建RAID1,最后得到的总容量是100GB。
由于RAID1主要的功能是对数据进行镜像,所以在写入数据时磁盘的数据传输性能是没有提升的。
但是在读取数据的时候,仍然会有提升,因为它可以同时从两个硬盘里读取数据,也就是说有两个供应源供应数据。
RAID1在我们普通用户中的使用率相对较小,因为一般的用户都舍不得损失一半的硬盘容量。
RAID1在组建过程中,一般用英文“Mirror”来代替。
说到这里,想必大家已经明白了RAID10与RAID0+1是什么意思了,不过目前主板集成的南桥芯片一般都只能支持RAID0+1,也就是StripedMirror阵列方式。
性能与安全性兼顾的RAID5详解
RAID0可以大幅度的提高性能,RAID1可以保证数据的安全性。
那么如果既想提高性能,又能保证安全性,最廉价的解决方案是什么呢?
那就是RAID5!
RAID5使用至少三块硬盘来实现阵列,它既能实现RAID0的加速功能也能够实现RAID1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数据来恢复存储在另外两个硬盘上的数据。
另外,这三块硬盘的任务并不是一成不变的,也就是说在这次存储当中可能是1号硬盘和2好硬盘用来存储分割后的文件碎片,那么在下次存储的时候可能就是2号硬盘和3号硬盘来完成这个任务了。
可以说,在每次存储操作当中,每块硬盘的任务是随机分配的,不过,肯定是两块硬盘用来存储分割后的文件碎片另一块硬盘用来存储校验信息。
这个校验信息一般是通过RAID控制器运算得出的,通常这些信息是需要一个RAID控制器上有一个单独的芯片来运算并决定将此信息发送到哪块硬盘存储。
RAID5同时会实现RAID0的高速存储读取并且也会实现RAID1的数据恢复功能,也就是说在上面所说的情况下,RAID5能够利用三块硬盘同时实现RAID0的速度加倍功能也会实现RAID1的数据备份功能,并且当RAID5当中的一块硬盘损坏之后,加入一块新的硬盘同样可以实现数据的还原。
下面来分析一下RAID5如何实现对数据的还原,举个例子来说,使用3块硬盘来构成一个RAID5阵列,用户定义的分割文件大小为64K,此时需要存储的文件大小为128K。
首先,当RAID控制器接收到这部分数据之后利用一定的算法得出校验信息,然后将这128K的文件分割成两个大小为64K大小的文件碎片,然后将这两个文件碎片同时分别放往1号硬盘和2号硬盘,最后校验信息被发往3号硬盘。
如果这个阵列当中某个硬盘损坏了,还是可以恢复原来的数据:
如果上面用来存储校验信息的3号硬盘损坏了,可以通过1号和2号硬盘来重新生成校验信息;如果损坏的是1号或者2号硬盘,可以利用3号硬盘上存储的校验信息重新生成原来的文件碎片。
RAID5模式并不是一些都好,如果阵列当中某块硬盘上的信息发生了改变的话,那么就需要重新计算文件分割碎片,并且,校验信息也需要重新计算,这时,三个硬盘都需要重新调用。
同样,如果要做RAID5阵列的话,最好使用相同容量相同速度的硬盘,RAID5模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘数目减去一后的数,这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。
举例来说,三块80GB硬盘组成的RAID5系统,总容量会成为160GB。
RAID5既能够实现速度上的加倍,同时也能够保证数据的安全性,所以在很多高端系统当中都使用这种RAID模式。
条件已具备RAID技术就在身边
在文章前面我们就说过,RAID最早是为了服务器/工作站上的SCSI硬盘设计,主要为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储、保证数据安全的费用。
但是,当第一块IDERAID卡面世以来,RAID就开始放下高端的架子,开始出现在一些发烧友的个人PC上。
而后来,几大主板芯片厂商都纷纷从南桥芯片上支持RAID功能,早期的有Intel的ICH5R、VIA的8237R等南桥芯片,当然NVIDIA从nforce2单芯片时代开始就也开始支持,他们都对SATARAID提供了良好的支持(Intel在早期实际上支持的RAID种类实际上还没有VIA、NVIDIA等厂商多)。
这里需要特别提醒的是,Intel的主板芯片组只有南桥芯片为ICHxR的才可以支持RAID,而VIA的也只有VT8xxxR的才支持RAID。
南桥芯片提供了RAID的支持,人们再也不需要购买昂贵的RAID卡,虽然一些做RAID卡的厂商仍然在营业,但面向的用户也都主要是服务器用户,可以说南桥芯片支持RAID从很大程度上促进了冗余磁盘技术的发展。
另外,宽带上网的发展,使得很多用户都习惯从互联网上下载电影、大容量的游戏、资料等。
特别是部分高清爱好者,硬盘的容量已经达到了T级别,而很多普通用户也拥有两块、甚至两块以上硬盘(硬盘价格现在也很便宜);可以说,如果你有两块以上的硬盘,不组建RAID系统实在是一种浪费。
据说这位老兄的硬盘容量为5TB
第三,目前RAID系统的使用已经非常方便。
在早期WindowsXP时代的时候,组建RAID之后安装系统,需要通过软驱单独加载RAID驱动,使得很多用户不得不掏钱够买一个一年也用不上两次的鸡肋软驱。
但是后来,番茄花园版WindowsXP的出现,解决了这个问题,用户在安装系统的时候只是选择SATA硬盘安装,就不用加载RAID驱动。
事到如今,Vista系统已经普及,在RAID平台下装系统需要软驱加载驱动也成为了历史,因为Vista系统可以识别99%以上的RAID控制器。
综上所述,实际上我们很多网友都有具备组建RAID系统的条件,但是一直因为没有关注相关知识,或者说没有想到,也有可能根本不会组建,导致了很多我们没有注意到的浪费。
可以说,RAID的春天已经来了!
Intel主板如何开启RAID功能
相信只要是认真看完前面的理论知识介绍的朋友,对RAID都会有非常深刻的了解和认识。
当然,理论不如实际,最重要的还是如何组建RAID系统,这也是很多用户非常头疼的问题。
下面,笔者就来手把手的教你如何组建RAID系统:
主板包装盒和说明书一般都会标识出RAID的支持程度
首先,确定你的主板支持RAID,并且支持你所要组建RAID的类型。
关于此项,大家可以从主板的说明书或包装盒上查询到。
一般来说,主板说明书都会在磁盘支持栏目清楚标明该主板是否支持RAID阵列,能够支持哪些RAID阵列等。
要组建RAID系统,首先我们要将SATA硬盘的工作模式设定为RAID模式,这一项需要进入主板BIOS设置界面里面进行设置,我们先来看看Intel主板是如何进入的(这里我们着重讨论方法,各品牌主板不一样,设置界面可能也会不一样,但是必须要先把SATA硬盘的工作模式设定为RAID模式):
开机之后,按键盘上的DEL键进入BIOS设置程序,进入IntegratedPeripherals(外围整合设备设置)。
将设置页面里的SATARAID/AHCIMODE设置为RAID方式,保存BIOS设置并退出。
系统自动重启之后会启动RAID控制功能,在自检完毕之后会出现如下界面:
此界面里检测到了系统中的物理硬盘,并且提示按CTRL+L进入RAID配置程序,此时你只需要按CTRL+L就可以进入RAID配置界面。
需要注意的是,CTRL+L的功能只有大概3—10秒左右(不同的主板时间不一样),使用的时候一定要在这个时间之内同时按下CTRL+L才能进入设置界面。
实战Intel芯片组主板RAID组建
实际上RAID的组建非常简单,并不是像有一些JS说的那么复杂和危险。
只是我们进入这个界面的时候,不要被满屏的英文吓倒,稍稍有英语基础的都能够看懂。
即使你没有英语水平,你也仍然可以轻松学会。
进入主界面之后,屏幕上有4个选项,分别是“创建RAID卷”、“删除RAID卷”、“复位RAID卷到无RAID模式”、“退出”。
我们现在要组建RAID,当然是选择第一项然后回车。
接下来的事情就很简单了,第一项是给RAID阵列起个名字,不起也没所谓;第二项是RAID的种类(级别),你可以选择RAID0、RAID1、RAID5、SPAN等模式;第三项是如果你有多块硬盘的时候,可以手动选择由哪些硬盘组建RAID,如果你的硬盘数量为组建RAID类型最低硬盘数量,此项则不可选;第四项是单位块大小,一般按照默认的就可以;第五项是系统自动算出的组建RAID后总容量。
一切都确定之后,选择CreateVolume,这样RAID就算创建成功了。
如果你要删除RAID阵列,也很简单。
直接在主菜单中选择第二项就可以,如果你没有可以删除的RAID阵列(比如上图还没有组建RAID),那么就会出现如上图的错误(这儿没有可用的卷可以删除)。
实战Intel芯片组主板RAID组建
实际上RAID的组建非常简单,并不是像有一些JS说的那么复杂和危险。
只是我们进入这个界面的时候,不要被满屏的英文吓倒,稍稍有英语基础的都能够看懂。
即使你没有英语水平,你也仍然可以轻松学会。
进入主界面之后,屏幕上有4个选项,分别是“创建RAID卷”、“删除RAID卷”、“复位RAID卷到无RAID模式”、“退出”。
我们现在要组建RAID,当然是选择第一项然后回车。
nForce主板如何开启RAID功能
前面我们说道了Intel芯片组主板进入RAID配置界面,并且如何组建RAID系统的方法,下面我们再说一下nForce主板如何进入RAID配置界面、组建RAID系统的方法,实际上两者的差距并不大,并且目前市面上所有的主板基本上都是套用这种方法,只不过进入配置界面的按键可能会不一样。
首先,我们仍然是进入BIOS设置界面,相信很多网友已经看出来了,这款主板采用的是AMI的BIOS。
这里我们在Main菜单里选择IDEConfiguration,也就是IDE(这里指磁盘)设备配置。
进入之后,选择SATAModeSelect,并将其设置为RAIDMode,也就是将SATA的工作模式设定为RAID模式,以使RAID功能可以成功开启。
保存并重新启动计算机之后,计算机经过自检后就会出现RAID配置的入口按键,这款主板是按F10就可以进入RAID设置程序。
同样,这里功能键的有效时间只有3—10秒,需要掌握好时间。
接下来的事情就很简单了,第一项是给RAID阵列起个名字,不起也没所谓;第二项是RAID的种类(级别),你可以选择RAID0、RAID1、RAID5、SPAN等模式;第三项是如果你有多块硬盘的时候,可以手动选择由哪些硬盘组建RAID,如果你的硬盘数量为组建RAID类型最低硬盘数量,此项则不可选;第四项是单位块大小,一般按照默认的就可以;第五项是系统自动算出的组建RAID后总容量。
一切都确定之后,选择CreateVolume,这样RAID就算创建成功了。
如果你要删除RAID阵列,也很简单。
直接在主菜单中选择第二项就可以,如果你没有可以删除的RAID阵列(比如上图还没有组建RAID),那么就会出现如上图的错误(这儿没有可用的卷可以删除)。
实战nForce芯片组主板RAID组建
nForce芯片组主板的组建方法也和前面说到的Intel平台组建方法类似,只是界面会稍微有些小变动,如下图。
主界面中默认第一项为RAID种类,Striped为RAID0,Mirror为RAID1,Spanned为JBOD,StripedMirror为0+1模式。
第二项是选择单位块大小,默认optimal即可
选择硬盘,使用→将你所需要组建RAID系统的磁盘添加即可,如果你选错了磁盘,也可以使用←将其删除。
添加需要组建R