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的支持早期一般都是SCSI卡提供SCSIRAID的支持那么为何叫做冗余磁盘阵列呢?冗余的汉语意思即多余,重复。而磁盘阵列说明不仅仅是一个磁盘,而是一组磁盘。这时你应该明白了,它是利用重复的磁盘来处理数据,使得数据的稳定性得到提高。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)。RAID5RAIDLevel5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。它使用的是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,所以本文我们将重点对这几个RAID类型进行讲解。也许大家看完上一页的内容之后,还是觉得不太明白。那么,下面就针对几个我们最常用的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。前面我们说道了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阵列方式。RAID0可以大幅度的提高性能,RAID1可以保证数据的安全性。那么如果既想提高性能,又能保证安全性,最廉价的解决方案是什么呢?那就是RAID5!RAID5使用至少三块硬盘来实现阵列,它既能实现RAID0的加速功能也能够实现RAID1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数据来恢复存储在另外两个硬盘上的数据。另外,这三块硬盘的任务并不是一成不变的,也就是说

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功